@itwin/components-react 3.0.0-dev.83 → 3.0.0-dev.87

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 (528) hide show
  1. package/CHANGELOG.md +1362 -1362
  2. package/README.md +11 -11
  3. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  4. package/lib/cjs/components-react/_target.scss +9 -9
  5. package/lib/cjs/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  6. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  7. package/lib/cjs/components-react/breadcrumb/Breadcrumb.scss +196 -196
  8. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  9. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  10. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  11. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  12. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  13. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  14. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  15. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  16. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  17. package/lib/cjs/components-react/common/Links.js.map +1 -1
  18. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  19. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  20. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  21. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  22. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  23. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  24. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  25. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  26. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  27. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  28. package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
  29. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  30. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  31. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  33. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  34. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  35. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  36. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  37. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  38. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  39. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  40. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  41. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  42. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  43. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  44. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  45. package/lib/cjs/components-react/datepicker/DatePicker.scss +170 -170
  46. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  47. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  48. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  49. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  50. package/lib/cjs/components-react/datepicker/TimeField.scss +73 -73
  51. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  52. package/lib/cjs/components-react/editors/BooleanEditor.scss +24 -24
  53. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  54. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
  55. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  56. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  57. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  58. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  59. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  60. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  61. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  62. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  63. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  64. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  65. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  66. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  67. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  68. package/lib/cjs/components-react/editors/NumericInputEditor.scss +17 -17
  69. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  70. package/lib/cjs/components-react/editors/PopupButton.scss +119 -119
  71. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  72. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  73. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  74. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  75. package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
  76. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  77. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  78. package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
  79. package/lib/cjs/components-react/editors/ThemedEnumEditor.scss +82 -82
  80. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  81. package/lib/cjs/components-react/editors/ToggleEditor.scss +25 -25
  82. package/lib/cjs/components-react/editors/variables.scss +6 -6
  83. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  84. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  85. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  86. package/lib/cjs/components-react/filtering/FilteringInput.scss +68 -68
  87. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  88. package/lib/cjs/components-react/filtering/ResultSelector.scss +72 -72
  89. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  90. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +74 -74
  91. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  92. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  93. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  94. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  95. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  96. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  97. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  98. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  99. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  100. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  101. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  102. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  103. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  104. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  105. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  106. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +106 -106
  107. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  108. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  109. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  110. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  111. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  112. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  113. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  114. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  115. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  116. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  117. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  118. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  120. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  121. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  122. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  123. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  124. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  125. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  126. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  127. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  128. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  129. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  130. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  131. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +75 -75
  132. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  133. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  134. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  135. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  136. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +94 -94
  137. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  138. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  139. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  140. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  141. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  142. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  143. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  144. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  145. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  146. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  147. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  148. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  149. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  150. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  151. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  152. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  153. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  154. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  155. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  156. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  157. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  158. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  159. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  160. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +19 -19
  161. package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
  162. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  163. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  164. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  165. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  166. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.d.ts.map +1 -1
  167. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js +1 -0
  168. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  169. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  170. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  171. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  172. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  173. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  174. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  175. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts.map +1 -1
  176. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +1 -0
  177. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  178. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  179. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  180. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +1 -0
  181. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  182. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  183. package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
  184. package/lib/cjs/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  185. package/lib/cjs/components-react/table/component/Table.d.ts +8 -8
  186. package/lib/cjs/components-react/table/component/Table.d.ts.map +1 -1
  187. package/lib/cjs/components-react/table/component/Table.js +3 -2
  188. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  189. package/lib/cjs/components-react/table/component/Table.scss +200 -200
  190. package/lib/cjs/components-react/table/component/TableCell.d.ts +5 -5
  191. package/lib/cjs/components-react/table/component/TableCell.d.ts.map +1 -1
  192. package/lib/cjs/components-react/table/component/TableCell.js +3 -2
  193. package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
  194. package/lib/cjs/components-react/table/component/TableCell.scss +48 -48
  195. package/lib/cjs/components-react/table/component/TableColumn.d.ts +1 -1
  196. package/lib/cjs/components-react/table/component/TableColumn.d.ts.map +1 -1
  197. package/lib/cjs/components-react/table/component/TableColumn.js +1 -0
  198. package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
  199. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  200. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  201. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  202. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  203. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  204. package/lib/cjs/components-react/toolbar/Item.scss +122 -122
  205. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  206. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  207. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  208. package/lib/cjs/components-react/toolbar/Items.scss +94 -94
  209. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  210. package/lib/cjs/components-react/toolbar/Overflow.scss +48 -48
  211. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  212. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  213. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  214. package/lib/cjs/components-react/toolbar/PopupItem.scss +75 -75
  215. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  216. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  217. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  218. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  219. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  220. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  221. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  222. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  223. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  224. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  225. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  226. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  227. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  228. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +17 -17
  229. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  230. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +34 -34
  231. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  232. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  233. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  234. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  235. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  236. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  237. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  238. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  239. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  240. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  241. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  242. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  243. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  244. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  245. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  246. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  247. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  248. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  249. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  250. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  251. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  252. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  253. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  254. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  255. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  256. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  257. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +28 -28
  258. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  259. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  260. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  261. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  262. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  263. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  264. package/lib/cjs/components-react.js.map +1 -1
  265. package/lib/esm/components-react/UiComponents.js.map +1 -1
  266. package/lib/esm/components-react/_target.scss +9 -9
  267. package/lib/esm/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  268. package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  269. package/lib/esm/components-react/breadcrumb/Breadcrumb.scss +196 -196
  270. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  271. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  272. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  273. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  274. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  275. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  276. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  277. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  278. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  279. package/lib/esm/components-react/common/Links.js.map +1 -1
  280. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  281. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  282. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  283. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  284. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  285. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  286. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  287. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  288. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  289. package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  290. package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
  291. package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  292. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  293. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  294. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  295. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  296. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  297. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  298. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  299. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  300. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  301. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  302. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  303. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  304. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  305. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  306. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  307. package/lib/esm/components-react/datepicker/DatePicker.scss +170 -170
  308. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  309. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  310. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  311. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  312. package/lib/esm/components-react/datepicker/TimeField.scss +73 -73
  313. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  314. package/lib/esm/components-react/editors/BooleanEditor.scss +24 -24
  315. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  316. package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
  317. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  318. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  319. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  320. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  321. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  322. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  323. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  324. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  325. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  326. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  327. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  328. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  329. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  330. package/lib/esm/components-react/editors/NumericInputEditor.scss +17 -17
  331. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  332. package/lib/esm/components-react/editors/PopupButton.scss +119 -119
  333. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  334. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  335. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  336. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  337. package/lib/esm/components-react/editors/TextEditor.scss +21 -21
  338. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  339. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  340. package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
  341. package/lib/esm/components-react/editors/ThemedEnumEditor.scss +82 -82
  342. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  343. package/lib/esm/components-react/editors/ToggleEditor.scss +25 -25
  344. package/lib/esm/components-react/editors/variables.scss +6 -6
  345. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  346. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  347. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  348. package/lib/esm/components-react/filtering/FilteringInput.scss +68 -68
  349. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  350. package/lib/esm/components-react/filtering/ResultSelector.scss +72 -72
  351. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  352. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +74 -74
  353. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  354. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  355. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  356. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  357. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  358. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  359. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  360. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  361. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  362. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  363. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  364. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  365. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  366. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  367. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  368. package/lib/esm/components-react/properties/renderers/PropertyView.scss +106 -106
  369. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  370. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  371. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  372. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  373. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  374. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  375. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  376. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  377. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  378. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  379. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  380. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  381. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  382. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  383. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  384. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  385. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  386. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  387. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  388. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  389. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  390. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  391. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  392. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  393. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +75 -75
  394. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  395. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  396. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  397. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  398. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +94 -94
  399. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  400. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  401. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  402. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  403. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  404. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  405. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  406. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  407. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  408. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  409. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  410. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  411. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  412. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  413. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  414. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  415. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  416. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  417. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  418. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  419. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  420. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  421. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  422. package/lib/esm/components-react/selectable-content/SelectableContent.scss +19 -19
  423. package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
  424. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  425. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  426. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  427. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  428. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.d.ts.map +1 -1
  429. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js +1 -0
  430. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  431. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  432. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  433. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  434. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  435. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  436. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  437. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts.map +1 -1
  438. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +1 -0
  439. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  440. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  441. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  442. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +1 -0
  443. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  444. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  445. package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
  446. package/lib/esm/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  447. package/lib/esm/components-react/table/component/Table.d.ts +8 -8
  448. package/lib/esm/components-react/table/component/Table.d.ts.map +1 -1
  449. package/lib/esm/components-react/table/component/Table.js +3 -2
  450. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  451. package/lib/esm/components-react/table/component/Table.scss +200 -200
  452. package/lib/esm/components-react/table/component/TableCell.d.ts +5 -5
  453. package/lib/esm/components-react/table/component/TableCell.d.ts.map +1 -1
  454. package/lib/esm/components-react/table/component/TableCell.js +3 -2
  455. package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
  456. package/lib/esm/components-react/table/component/TableCell.scss +48 -48
  457. package/lib/esm/components-react/table/component/TableColumn.d.ts +1 -1
  458. package/lib/esm/components-react/table/component/TableColumn.d.ts.map +1 -1
  459. package/lib/esm/components-react/table/component/TableColumn.js +1 -0
  460. package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
  461. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  462. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  463. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  464. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  465. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  466. package/lib/esm/components-react/toolbar/Item.scss +122 -122
  467. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  468. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  469. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  470. package/lib/esm/components-react/toolbar/Items.scss +94 -94
  471. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  472. package/lib/esm/components-react/toolbar/Overflow.scss +48 -48
  473. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  474. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  475. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  476. package/lib/esm/components-react/toolbar/PopupItem.scss +75 -75
  477. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  478. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  479. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  480. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  481. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  482. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  483. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  484. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  485. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  486. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  487. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  488. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  489. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  490. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +17 -17
  491. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  492. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +34 -34
  493. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  494. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  495. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  496. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  497. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  498. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  499. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  500. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  501. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  502. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  503. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  504. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  505. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  506. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  507. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  508. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  509. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  510. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  511. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  512. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  513. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  514. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  515. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  516. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  517. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  518. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  519. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +28 -28
  520. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  521. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  522. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  523. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  524. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  525. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  526. package/lib/esm/components-react.js.map +1 -1
  527. package/lib/public/locales/en/UiComponents.json +123 -123
  528. package/package.json +12 -12
@@ -1,95 +1,95 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "~@itwin/core-react/lib/cjs/core-react/expandable/list";
6
- @import "~@itwin/core-react/lib/cjs/core-react/scrollbar";
7
- @import "~@itwin/core-react/lib/cjs/core-react/style/itwinui-overrides";
8
-
9
- .components-virtualized-property-grid-loader {
10
- height: 100%;
11
- display: flex;
12
- align-items: center;
13
- justify-content: center;
14
- }
15
-
16
- .components-virtualized-property-grid {
17
- user-select: none;
18
-
19
- @include small-itwinui-expandable-block;
20
- }
21
-
22
- .components-property-grid-wrapper {
23
- @include uicore-touch-scrolling;
24
- @include uicore-scrollbar();
25
- }
26
-
27
- .virtualized-grid-node {
28
- > :not(.virtualized-grid-node-category) {
29
- background: var(--iui-color-background-1);
30
- }
31
-
32
- .nested-border-middle {
33
- height: 100%;
34
- padding: 0 4px;
35
- box-sizing: border-box;
36
- border-left: 1px solid var(--iui-color-background-4);
37
- border-right: 1px solid var(--iui-color-background-4);
38
- }
39
-
40
- .nested-border-bottom {
41
- border-bottom: 1px solid var(--iui-color-background-4);
42
- padding-bottom: 4px;
43
- }
44
-
45
- .components--clickable {
46
- cursor: pointer;
47
- box-sizing: border-box;
48
-
49
- &:not(.components--selected) {
50
- &:hover {
51
- // Highlight the whole row of inner-most expandable block
52
- margin: 0 -4px;
53
- // Compensate the negative margin by adding padding
54
- padding: 0 12px;
55
-
56
- background: $buic-row-hover;
57
- }
58
- }
59
- }
60
-
61
- .components--selected {
62
- // Highlight the whole row of inner-most expandable block
63
- margin: 0 -4px;
64
- // Compensate the negative margin by adding padding (minus one for border)
65
- padding: 0px 11px;
66
-
67
- background-color: $buic-row-selection;
68
- border: 1px solid $buic-foreground-primary;
69
-
70
- &:hover {
71
- background: $buic-row-hover;
72
- }
73
- }
74
- }
75
-
76
- .virtualized-grid-node-category {
77
- padding-top: 4px;
78
-
79
- .iui-expandable-content {
80
- // We are rendering virtualized content below the expandable block
81
- display: none;
82
- }
83
- }
84
-
85
- .virtualized-grid-node-custom-category {
86
- padding-top: 4px;
87
-
88
- .iui-expandable-content>div {
89
- padding: 0 4px 4px 4px;
90
- }
91
- }
92
-
93
- .virtualized-grid-node-content {
94
- height: 100%;
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "~@itwin/core-react/lib/cjs/core-react/expandable/list";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/scrollbar";
7
+ @import "~@itwin/core-react/lib/cjs/core-react/style/itwinui-overrides";
8
+
9
+ .components-virtualized-property-grid-loader {
10
+ height: 100%;
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ }
15
+
16
+ .components-virtualized-property-grid {
17
+ user-select: none;
18
+
19
+ @include small-itwinui-expandable-block;
20
+ }
21
+
22
+ .components-property-grid-wrapper {
23
+ @include uicore-touch-scrolling;
24
+ @include uicore-scrollbar();
25
+ }
26
+
27
+ .virtualized-grid-node {
28
+ > :not(.virtualized-grid-node-category) {
29
+ background: var(--iui-color-background-1);
30
+ }
31
+
32
+ .nested-border-middle {
33
+ height: 100%;
34
+ padding: 0 4px;
35
+ box-sizing: border-box;
36
+ border-left: 1px solid var(--iui-color-background-4);
37
+ border-right: 1px solid var(--iui-color-background-4);
38
+ }
39
+
40
+ .nested-border-bottom {
41
+ border-bottom: 1px solid var(--iui-color-background-4);
42
+ padding-bottom: 4px;
43
+ }
44
+
45
+ .components--clickable {
46
+ cursor: pointer;
47
+ box-sizing: border-box;
48
+
49
+ &:not(.components--selected) {
50
+ &:hover {
51
+ // Highlight the whole row of inner-most expandable block
52
+ margin: 0 -4px;
53
+ // Compensate the negative margin by adding padding
54
+ padding: 0 12px;
55
+
56
+ background: $buic-row-hover;
57
+ }
58
+ }
59
+ }
60
+
61
+ .components--selected {
62
+ // Highlight the whole row of inner-most expandable block
63
+ margin: 0 -4px;
64
+ // Compensate the negative margin by adding padding (minus one for border)
65
+ padding: 0px 11px;
66
+
67
+ background-color: $buic-row-selection;
68
+ border: 1px solid $buic-foreground-primary;
69
+
70
+ &:hover {
71
+ background: $buic-row-hover;
72
+ }
73
+ }
74
+ }
75
+
76
+ .virtualized-grid-node-category {
77
+ padding-top: 4px;
78
+
79
+ .iui-expandable-content {
80
+ // We are rendering virtualized content below the expandable block
81
+ display: none;
82
+ }
83
+ }
84
+
85
+ .virtualized-grid-node-custom-category {
86
+ padding-top: 4px;
87
+
88
+ .iui-expandable-content>div {
89
+ padding: 0 4px 4px 4px;
90
+ }
91
+ }
92
+
93
+ .virtualized-grid-node-content {
94
+ height: 100%;
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedPropertyGridWithDataProvider.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAI9H,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAepE;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CAAC,KAAmD;IACzG,MAAM,WAAW,GAAG,0BAA0B,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CACL,6BAAK,SAAS,EAAC,6CAA6C;YAC1D,oBAAC,cAAc,IAAC,IAAI,EAAC,OAAO,GAAG,CAC3B,CACP,CAAC;KACH;IAED,OAAO,CAAC,oBAAC,uBAAuB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAAC,CAAC;AAC5F,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\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport React from \"react\";\nimport { DelayedSpinner } from \"../../common/DelayedSpinner\";\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\nimport { usePropertyGridEventHandler, usePropertyGridModel, usePropertyGridModelSource } from \"../internal/PropertyGridHooks\";\nimport { PropertyCategoryRendererManager } from \"../PropertyCategoryRendererManager\";\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\nimport { CommonPropertyGridProps } from \"./PropertyGridCommons\";\nimport { VirtualizedPropertyGrid } from \"./VirtualizedPropertyGrid\";\n\n/** Properties for [[VirtualizedPropertyGridWithDataProvider]] React component\n * @beta\n */\nexport interface VirtualizedPropertyGridWithDataProviderProps extends CommonPropertyGridProps {\n dataProvider: IPropertyDataProvider;\n highlight?: HighlightingComponentProps & {\n filteredTypes?: FilteredType[];\n };\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\n width: number;\n height: number;\n}\n\n/**\n * VirtualizedPropertyGrid React Component which takes dataProvider and\n * sets up default implementations for IPropertyGridModelSource nad IPropertyGridEventHandler\n * @beta\n */\nexport function VirtualizedPropertyGridWithDataProvider(props: VirtualizedPropertyGridWithDataProviderProps) {\n const modelSource = usePropertyGridModelSource({ dataProvider: props.dataProvider });\n const model = usePropertyGridModel({ modelSource });\n const eventHandler = usePropertyGridEventHandler({ modelSource });\n\n if (!model) {\n return (\n <div className=\"components-virtualized-property-grid-loader\">\n <DelayedSpinner size=\"large\" />\n </div>\n );\n }\n\n return (<VirtualizedPropertyGrid {...props} model={model} eventHandler={eventHandler} />);\n}\n"]}
1
+ {"version":3,"file":"VirtualizedPropertyGridWithDataProvider.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAI9H,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAepE;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CAAC,KAAmD;IACzG,MAAM,WAAW,GAAG,0BAA0B,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CACL,6BAAK,SAAS,EAAC,6CAA6C;YAC1D,oBAAC,cAAc,IAAC,IAAI,EAAC,OAAO,GAAG,CAC3B,CACP,CAAC;KACH;IAED,OAAO,CAAC,oBAAC,uBAAuB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAAC,CAAC;AAC5F,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport React from \"react\";\r\nimport { DelayedSpinner } from \"../../common/DelayedSpinner\";\r\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\r\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\r\nimport { usePropertyGridEventHandler, usePropertyGridModel, usePropertyGridModelSource } from \"../internal/PropertyGridHooks\";\r\nimport { PropertyCategoryRendererManager } from \"../PropertyCategoryRendererManager\";\r\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\r\nimport { CommonPropertyGridProps } from \"./PropertyGridCommons\";\r\nimport { VirtualizedPropertyGrid } from \"./VirtualizedPropertyGrid\";\r\n\r\n/** Properties for [[VirtualizedPropertyGridWithDataProvider]] React component\r\n * @beta\r\n */\r\nexport interface VirtualizedPropertyGridWithDataProviderProps extends CommonPropertyGridProps {\r\n dataProvider: IPropertyDataProvider;\r\n highlight?: HighlightingComponentProps & {\r\n filteredTypes?: FilteredType[];\r\n };\r\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\r\n width: number;\r\n height: number;\r\n}\r\n\r\n/**\r\n * VirtualizedPropertyGrid React Component which takes dataProvider and\r\n * sets up default implementations for IPropertyGridModelSource nad IPropertyGridEventHandler\r\n * @beta\r\n */\r\nexport function VirtualizedPropertyGridWithDataProvider(props: VirtualizedPropertyGridWithDataProviderProps) {\r\n const modelSource = usePropertyGridModelSource({ dataProvider: props.dataProvider });\r\n const model = usePropertyGridModel({ modelSource });\r\n const eventHandler = usePropertyGridEventHandler({ modelSource });\r\n\r\n if (!model) {\r\n return (\r\n <div className=\"components-virtualized-property-grid-loader\">\r\n <DelayedSpinner size=\"large\" />\r\n </div>\r\n );\r\n }\r\n\r\n return (<VirtualizedPropertyGrid {...props} model={model} eventHandler={eventHandler} />);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilteringDataProvider.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/dataproviders/FilteringDataProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport { PropertyRecord, PropertyValue, PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { IDisposable } from \"@itwin/core-bentley\";\nimport { HighlightInfo } from \"../../common/HighlightingComponentProps\";\nimport { CategoryRecordsDict } from \"../internal/flat-items/MutableGridCategory\";\nimport { IPropertyDataProvider, PropertyCategory, PropertyData, PropertyDataChangeEvent } from \"../PropertyDataProvider\";\nimport { FilteredType, IPropertyDataFilterer, PropertyDataFilterResult } from \"./filterers/PropertyDataFiltererBase\";\n\ninterface FilteredRecords {\n filteredRecords: PropertyRecord[];\n shouldExpandNodeParents: boolean;\n matchesCount: number;\n activeMatch?: HighlightInfo;\n filteredResultMatches: { id: string, matchesCount: number }[];\n filteredTypes: FilteredType[];\n}\n\n/**\n * Data returned by [[FilteringPropertyDataProvider]]\n * @public\n */\nexport interface FilteredPropertyData extends PropertyData {\n /**\n * Shows how many matches were found when filtering data.\n * `undefined` when filterer is not active\n */\n matchesCount?: number;\n\n /**\n * Function used for getting [[HighlightInfo]] by index from all the filtered matches.\n * `undefined` when filterer is not active\n */\n getMatchByIndex?: (index: number) => HighlightInfo | undefined;\n\n /** Types of objects that were used for filtering. */\n filteredTypes?: FilteredType[];\n}\n\n/**\n * [[IPropertyDataProvider]] implementation which filters wrapped provider [[PropertyData]] using passed [[IPropertyDataFilterer]].\n * @public\n */\nexport class FilteringPropertyDataProvider implements IPropertyDataProvider, IDisposable {\n public onDataChanged = new PropertyDataChangeEvent();\n private _filteredPropertyData: Promise<FilteredPropertyData> | undefined = undefined;\n private _disposeFilterChangedListener: Function;\n private _disposeDataChangedListener: Function;\n\n public constructor(private _dataProvider: IPropertyDataProvider, private _filterer: IPropertyDataFilterer) {\n this._disposeFilterChangedListener = this._filterer.onFilterChanged.addListener(() => { this._filteredPropertyData = undefined; this.onDataChanged.raiseEvent(); });\n this._disposeDataChangedListener = this._dataProvider.onDataChanged.addListener(() => { this._filteredPropertyData = undefined; this.onDataChanged.raiseEvent(); });\n }\n\n public dispose(): void {\n this._disposeDataChangedListener();\n this._disposeFilterChangedListener();\n }\n\n public async getData(): Promise<FilteredPropertyData> {\n if (this._filteredPropertyData) {\n return this._filteredPropertyData;\n }\n\n this._filteredPropertyData = this._dataProvider.getData().then(async (propertyData) => {\n return ((this._filterer.isActive) ?\n this.filterPropertyData(propertyData) : propertyData);\n });\n\n return this._filteredPropertyData;\n }\n\n private async filterPropertyData(propertyData: PropertyData) {\n const { categories, records, label, description } = { ...propertyData };\n const { filteredCategories, filteredRecords, matchesCount, filteredResultMatches, filteredTypes } = await matchHierarchy(this._filterer, categories, records, undefined);\n\n const uniqueTypes = [...new Set(filteredTypes)];\n const getMatchByIndex = (index: number) => {\n let activeMatch: HighlightInfo | undefined;\n if (index <= 0)\n return undefined;\n\n let i = 1;\n for (const record of filteredResultMatches) {\n const fullMatchesCount = record.matchesCount;\n if (index < i + fullMatchesCount) {\n activeMatch = {\n highlightedItemIdentifier: record.id,\n highlightIndex: index - i,\n };\n break;\n }\n\n i += fullMatchesCount;\n }\n return activeMatch;\n };\n\n return {\n label,\n description,\n categories: filteredCategories,\n records: filteredRecords,\n reusePropertyDataState: false,\n matchesCount,\n getMatchByIndex,\n filteredTypes: uniqueTypes,\n };\n }\n}\n\nasync function matchHierarchy(filterer: IPropertyDataFilterer, categories: PropertyCategory[], records: CategoryRecordsDict, newRecords?: CategoryRecordsDict, parentMatchInfo?: PropertyDataFilterResult) {\n const newCategories: PropertyCategory[] = [];\n newRecords = newRecords ?? {};\n let matchesCount = 0;\n let allFilteredResultMatches: { id: string, matchesCount: number }[] = [];\n let allFilteredTypes: FilteredType[] = [];\n\n for (const category of categories) {\n const matchInfo = await filterer.categoryMatchesFilter(category, []);\n\n if (matchInfo.matchesFilter) {\n allFilteredResultMatches.push({ id: category.name, matchesCount: matchInfo.matchesCount ?? 0 });\n allFilteredTypes = allFilteredTypes.concat(matchInfo.filteredTypes ?? []);\n matchesCount += matchInfo.matchesCount ?? 0;\n }\n\n const childRecords = records[category.name] ?? [];\n const { filteredRecords, matchesCount: count, filteredResultMatches, filteredTypes } = await matchRecordHierarchy(filterer, childRecords, []);\n allFilteredResultMatches = allFilteredResultMatches.concat(filteredResultMatches);\n allFilteredTypes = allFilteredTypes.concat(filteredTypes);\n matchesCount += count;\n\n const parentInfo = parentMatchInfo?.matchesFilter ? parentMatchInfo : matchInfo;\n\n const childCategories = category.childCategories ?? [];\n const { filteredCategories, matchesCount: childCount, filteredResultMatches: childFilteredResultMatches, filteredTypes: childFilteredTypes } = await matchHierarchy(filterer, childCategories, records, newRecords, parentInfo);\n allFilteredResultMatches = allFilteredResultMatches.concat(childFilteredResultMatches);\n allFilteredTypes = allFilteredTypes.concat(childFilteredTypes);\n matchesCount += childCount;\n\n let expand = !(count === 0 && childCount === 0);\n if (matchInfo.matchesFilter || (parentMatchInfo?.matchesFilter && parentMatchInfo.shouldForceIncludeDescendants)) {\n newRecords[category.name] = records[category.name];\n if (matchInfo.matchesFilter) {\n expand = true;\n }\n const newCategory = copyPropertyCategory(category, filteredCategories, expand);\n newCategories.push(newCategory);\n }\n\n if ((filteredRecords.length !== 0 || filteredCategories.length !== 0) && !matchInfo.matchesFilter && !(parentMatchInfo?.shouldExpandNodeParents && parentMatchInfo.matchesFilter)) {\n const newCategory = copyPropertyCategory(category, filteredCategories, expand);\n newRecords[newCategory.name] = filteredRecords;\n newCategories.push(newCategory);\n }\n }\n\n return { filteredCategories: newCategories, filteredRecords: newRecords, matchesCount, filteredResultMatches: allFilteredResultMatches, filteredTypes: allFilteredTypes };\n}\n\nasync function matchRecordHierarchy(filterer: IPropertyDataFilterer, records: PropertyRecord[], parents: PropertyRecord[], forceIncludeItem: boolean = false): Promise<FilteredRecords> {\n const newMatchedRecords: PropertyRecord[] = [];\n let expandParent = false; // property passed back to parent to indicate whether it should be expanded\n let matchesCount = 0;\n let filteredResultMatches: { id: string, matchesCount: number }[] = [];\n let filteredTypes: FilteredType[] = [];\n\n for (const record of records) {\n const matchInfo = await filterer.recordMatchesFilter(record, parents);\n const shouldForceIncludeDescendants = forceIncludeItem || matchInfo.shouldForceIncludeDescendants;\n const { filteredRecords: filteredChildren, shouldExpandNodeParents, matchesCount: childrenMatchesCount, filteredResultMatches: childrenResultMatches, filteredTypes: childrenFilteredTypes } = await matchRecordHierarchy(filterer, record.getChildrenRecords(), [...parents, record], shouldForceIncludeDescendants);\n filteredResultMatches = filteredResultMatches.concat(childrenResultMatches);\n filteredTypes = [...filteredTypes, ...childrenFilteredTypes];\n matchesCount += childrenMatchesCount;\n // if child hierarchy indicates parents should be expanded, then it should be passed back up to the top parent\n expandParent = expandParent || shouldExpandNodeParents;\n\n let newRecord: PropertyRecord | undefined;\n if (matchInfo.matchesFilter) {\n filteredTypes = [...filteredTypes, ...(matchInfo.filteredTypes ?? [])];\n const recordMatchesCount = matchInfo.matchesCount ?? 0;\n matchesCount += recordMatchesCount;\n // Item is included if it matches filter\n // If at least one matched record from records list needs its parent expanded,\n // then `expandParent` should be set to true\n expandParent = expandParent || !!matchInfo.shouldExpandNodeParents;\n newRecord = copyPropertyRecord(record, filteredChildren, shouldExpandNodeParents);\n filteredResultMatches.push({ id: newRecord.property.name, matchesCount: recordMatchesCount });\n } else if (filteredChildren.length !== 0 || forceIncludeItem) {\n // Item is also included if it has at least one matched child or is forcefully included by its parent\n newRecord = copyPropertyRecord(record, filteredChildren, shouldExpandNodeParents);\n }\n\n if (newRecord)\n newMatchedRecords.push(newRecord);\n }\n\n return { filteredRecords: newMatchedRecords, shouldExpandNodeParents: expandParent, matchesCount, filteredResultMatches, filteredTypes };\n}\n\nfunction copyPropertyCategory(\n propertyCategory: PropertyCategory,\n newChildren: PropertyCategory[],\n expand: boolean,\n): PropertyCategory {\n return {\n ...propertyCategory,\n childCategories: newChildren,\n expand,\n };\n}\n\nfunction copyPropertyRecord(record: PropertyRecord, newChildren: PropertyRecord[], autoExpand: boolean) {\n const r = record.copyWithNewValue(createNewPropertyValue(record.value, newChildren));\n r.autoExpand = autoExpand;\n return r;\n}\n\nfunction createNewPropertyValue(value: PropertyValue, newChildren: PropertyRecord[]): PropertyValue {\n switch (value.valueFormat) {\n case PropertyValueFormat.Primitive:\n return { ...value };\n case PropertyValueFormat.Array:\n return {\n valueFormat: PropertyValueFormat.Array,\n itemsTypeName: value.itemsTypeName,\n items: newChildren,\n };\n case PropertyValueFormat.Struct:\n const members: { [name: string]: PropertyRecord } = {};\n newChildren.forEach((child) => members[child.property.name] = child);\n return {\n valueFormat: PropertyValueFormat.Struct,\n members,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"FilteringDataProvider.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/dataproviders/FilteringDataProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { PropertyRecord, PropertyValue, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { IDisposable } from \"@itwin/core-bentley\";\r\nimport { HighlightInfo } from \"../../common/HighlightingComponentProps\";\r\nimport { CategoryRecordsDict } from \"../internal/flat-items/MutableGridCategory\";\r\nimport { IPropertyDataProvider, PropertyCategory, PropertyData, PropertyDataChangeEvent } from \"../PropertyDataProvider\";\r\nimport { FilteredType, IPropertyDataFilterer, PropertyDataFilterResult } from \"./filterers/PropertyDataFiltererBase\";\r\n\r\ninterface FilteredRecords {\r\n filteredRecords: PropertyRecord[];\r\n shouldExpandNodeParents: boolean;\r\n matchesCount: number;\r\n activeMatch?: HighlightInfo;\r\n filteredResultMatches: { id: string, matchesCount: number }[];\r\n filteredTypes: FilteredType[];\r\n}\r\n\r\n/**\r\n * Data returned by [[FilteringPropertyDataProvider]]\r\n * @public\r\n */\r\nexport interface FilteredPropertyData extends PropertyData {\r\n /**\r\n * Shows how many matches were found when filtering data.\r\n * `undefined` when filterer is not active\r\n */\r\n matchesCount?: number;\r\n\r\n /**\r\n * Function used for getting [[HighlightInfo]] by index from all the filtered matches.\r\n * `undefined` when filterer is not active\r\n */\r\n getMatchByIndex?: (index: number) => HighlightInfo | undefined;\r\n\r\n /** Types of objects that were used for filtering. */\r\n filteredTypes?: FilteredType[];\r\n}\r\n\r\n/**\r\n * [[IPropertyDataProvider]] implementation which filters wrapped provider [[PropertyData]] using passed [[IPropertyDataFilterer]].\r\n * @public\r\n */\r\nexport class FilteringPropertyDataProvider implements IPropertyDataProvider, IDisposable {\r\n public onDataChanged = new PropertyDataChangeEvent();\r\n private _filteredPropertyData: Promise<FilteredPropertyData> | undefined = undefined;\r\n private _disposeFilterChangedListener: Function;\r\n private _disposeDataChangedListener: Function;\r\n\r\n public constructor(private _dataProvider: IPropertyDataProvider, private _filterer: IPropertyDataFilterer) {\r\n this._disposeFilterChangedListener = this._filterer.onFilterChanged.addListener(() => { this._filteredPropertyData = undefined; this.onDataChanged.raiseEvent(); });\r\n this._disposeDataChangedListener = this._dataProvider.onDataChanged.addListener(() => { this._filteredPropertyData = undefined; this.onDataChanged.raiseEvent(); });\r\n }\r\n\r\n public dispose(): void {\r\n this._disposeDataChangedListener();\r\n this._disposeFilterChangedListener();\r\n }\r\n\r\n public async getData(): Promise<FilteredPropertyData> {\r\n if (this._filteredPropertyData) {\r\n return this._filteredPropertyData;\r\n }\r\n\r\n this._filteredPropertyData = this._dataProvider.getData().then(async (propertyData) => {\r\n return ((this._filterer.isActive) ?\r\n this.filterPropertyData(propertyData) : propertyData);\r\n });\r\n\r\n return this._filteredPropertyData;\r\n }\r\n\r\n private async filterPropertyData(propertyData: PropertyData) {\r\n const { categories, records, label, description } = { ...propertyData };\r\n const { filteredCategories, filteredRecords, matchesCount, filteredResultMatches, filteredTypes } = await matchHierarchy(this._filterer, categories, records, undefined);\r\n\r\n const uniqueTypes = [...new Set(filteredTypes)];\r\n const getMatchByIndex = (index: number) => {\r\n let activeMatch: HighlightInfo | undefined;\r\n if (index <= 0)\r\n return undefined;\r\n\r\n let i = 1;\r\n for (const record of filteredResultMatches) {\r\n const fullMatchesCount = record.matchesCount;\r\n if (index < i + fullMatchesCount) {\r\n activeMatch = {\r\n highlightedItemIdentifier: record.id,\r\n highlightIndex: index - i,\r\n };\r\n break;\r\n }\r\n\r\n i += fullMatchesCount;\r\n }\r\n return activeMatch;\r\n };\r\n\r\n return {\r\n label,\r\n description,\r\n categories: filteredCategories,\r\n records: filteredRecords,\r\n reusePropertyDataState: false,\r\n matchesCount,\r\n getMatchByIndex,\r\n filteredTypes: uniqueTypes,\r\n };\r\n }\r\n}\r\n\r\nasync function matchHierarchy(filterer: IPropertyDataFilterer, categories: PropertyCategory[], records: CategoryRecordsDict, newRecords?: CategoryRecordsDict, parentMatchInfo?: PropertyDataFilterResult) {\r\n const newCategories: PropertyCategory[] = [];\r\n newRecords = newRecords ?? {};\r\n let matchesCount = 0;\r\n let allFilteredResultMatches: { id: string, matchesCount: number }[] = [];\r\n let allFilteredTypes: FilteredType[] = [];\r\n\r\n for (const category of categories) {\r\n const matchInfo = await filterer.categoryMatchesFilter(category, []);\r\n\r\n if (matchInfo.matchesFilter) {\r\n allFilteredResultMatches.push({ id: category.name, matchesCount: matchInfo.matchesCount ?? 0 });\r\n allFilteredTypes = allFilteredTypes.concat(matchInfo.filteredTypes ?? []);\r\n matchesCount += matchInfo.matchesCount ?? 0;\r\n }\r\n\r\n const childRecords = records[category.name] ?? [];\r\n const { filteredRecords, matchesCount: count, filteredResultMatches, filteredTypes } = await matchRecordHierarchy(filterer, childRecords, []);\r\n allFilteredResultMatches = allFilteredResultMatches.concat(filteredResultMatches);\r\n allFilteredTypes = allFilteredTypes.concat(filteredTypes);\r\n matchesCount += count;\r\n\r\n const parentInfo = parentMatchInfo?.matchesFilter ? parentMatchInfo : matchInfo;\r\n\r\n const childCategories = category.childCategories ?? [];\r\n const { filteredCategories, matchesCount: childCount, filteredResultMatches: childFilteredResultMatches, filteredTypes: childFilteredTypes } = await matchHierarchy(filterer, childCategories, records, newRecords, parentInfo);\r\n allFilteredResultMatches = allFilteredResultMatches.concat(childFilteredResultMatches);\r\n allFilteredTypes = allFilteredTypes.concat(childFilteredTypes);\r\n matchesCount += childCount;\r\n\r\n let expand = !(count === 0 && childCount === 0);\r\n if (matchInfo.matchesFilter || (parentMatchInfo?.matchesFilter && parentMatchInfo.shouldForceIncludeDescendants)) {\r\n newRecords[category.name] = records[category.name];\r\n if (matchInfo.matchesFilter) {\r\n expand = true;\r\n }\r\n const newCategory = copyPropertyCategory(category, filteredCategories, expand);\r\n newCategories.push(newCategory);\r\n }\r\n\r\n if ((filteredRecords.length !== 0 || filteredCategories.length !== 0) && !matchInfo.matchesFilter && !(parentMatchInfo?.shouldExpandNodeParents && parentMatchInfo.matchesFilter)) {\r\n const newCategory = copyPropertyCategory(category, filteredCategories, expand);\r\n newRecords[newCategory.name] = filteredRecords;\r\n newCategories.push(newCategory);\r\n }\r\n }\r\n\r\n return { filteredCategories: newCategories, filteredRecords: newRecords, matchesCount, filteredResultMatches: allFilteredResultMatches, filteredTypes: allFilteredTypes };\r\n}\r\n\r\nasync function matchRecordHierarchy(filterer: IPropertyDataFilterer, records: PropertyRecord[], parents: PropertyRecord[], forceIncludeItem: boolean = false): Promise<FilteredRecords> {\r\n const newMatchedRecords: PropertyRecord[] = [];\r\n let expandParent = false; // property passed back to parent to indicate whether it should be expanded\r\n let matchesCount = 0;\r\n let filteredResultMatches: { id: string, matchesCount: number }[] = [];\r\n let filteredTypes: FilteredType[] = [];\r\n\r\n for (const record of records) {\r\n const matchInfo = await filterer.recordMatchesFilter(record, parents);\r\n const shouldForceIncludeDescendants = forceIncludeItem || matchInfo.shouldForceIncludeDescendants;\r\n const { filteredRecords: filteredChildren, shouldExpandNodeParents, matchesCount: childrenMatchesCount, filteredResultMatches: childrenResultMatches, filteredTypes: childrenFilteredTypes } = await matchRecordHierarchy(filterer, record.getChildrenRecords(), [...parents, record], shouldForceIncludeDescendants);\r\n filteredResultMatches = filteredResultMatches.concat(childrenResultMatches);\r\n filteredTypes = [...filteredTypes, ...childrenFilteredTypes];\r\n matchesCount += childrenMatchesCount;\r\n // if child hierarchy indicates parents should be expanded, then it should be passed back up to the top parent\r\n expandParent = expandParent || shouldExpandNodeParents;\r\n\r\n let newRecord: PropertyRecord | undefined;\r\n if (matchInfo.matchesFilter) {\r\n filteredTypes = [...filteredTypes, ...(matchInfo.filteredTypes ?? [])];\r\n const recordMatchesCount = matchInfo.matchesCount ?? 0;\r\n matchesCount += recordMatchesCount;\r\n // Item is included if it matches filter\r\n // If at least one matched record from records list needs its parent expanded,\r\n // then `expandParent` should be set to true\r\n expandParent = expandParent || !!matchInfo.shouldExpandNodeParents;\r\n newRecord = copyPropertyRecord(record, filteredChildren, shouldExpandNodeParents);\r\n filteredResultMatches.push({ id: newRecord.property.name, matchesCount: recordMatchesCount });\r\n } else if (filteredChildren.length !== 0 || forceIncludeItem) {\r\n // Item is also included if it has at least one matched child or is forcefully included by its parent\r\n newRecord = copyPropertyRecord(record, filteredChildren, shouldExpandNodeParents);\r\n }\r\n\r\n if (newRecord)\r\n newMatchedRecords.push(newRecord);\r\n }\r\n\r\n return { filteredRecords: newMatchedRecords, shouldExpandNodeParents: expandParent, matchesCount, filteredResultMatches, filteredTypes };\r\n}\r\n\r\nfunction copyPropertyCategory(\r\n propertyCategory: PropertyCategory,\r\n newChildren: PropertyCategory[],\r\n expand: boolean,\r\n): PropertyCategory {\r\n return {\r\n ...propertyCategory,\r\n childCategories: newChildren,\r\n expand,\r\n };\r\n}\r\n\r\nfunction copyPropertyRecord(record: PropertyRecord, newChildren: PropertyRecord[], autoExpand: boolean) {\r\n const r = record.copyWithNewValue(createNewPropertyValue(record.value, newChildren));\r\n r.autoExpand = autoExpand;\r\n return r;\r\n}\r\n\r\nfunction createNewPropertyValue(value: PropertyValue, newChildren: PropertyRecord[]): PropertyValue {\r\n switch (value.valueFormat) {\r\n case PropertyValueFormat.Primitive:\r\n return { ...value };\r\n case PropertyValueFormat.Array:\r\n return {\r\n valueFormat: PropertyValueFormat.Array,\r\n itemsTypeName: value.itemsTypeName,\r\n items: newChildren,\r\n };\r\n case PropertyValueFormat.Struct:\r\n const members: { [name: string]: PropertyRecord } = {};\r\n newChildren.forEach((child) => members[child.property.name] = child);\r\n return {\r\n valueFormat: PropertyValueFormat.Struct,\r\n members,\r\n };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CompositePropertyDataFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\nimport { FilteredType, IPropertyDataFilterer, PropertyDataFiltererBase, PropertyDataFilterResult } from \"./PropertyDataFiltererBase\";\n\n/**\n * Logical operator for composite filterer.\n * @public\n */\nexport enum CompositeFilterType {\n And,\n Or,\n}\n\n/**\n * Composite PropertyData filter which can join two filters using logic operators\n * @public\n */\nexport class CompositePropertyDataFilterer extends PropertyDataFiltererBase {\n public constructor(private _leftFilterer: IPropertyDataFilterer, private _operator: CompositeFilterType, private _rightFilterer: IPropertyDataFilterer) {\n super();\n this._leftFilterer.onFilterChanged.addListener(() => this.onFilterChanged.raiseEvent());\n this._rightFilterer.onFilterChanged.addListener(() => this.onFilterChanged.raiseEvent());\n }\n\n public get isActive() { return this._leftFilterer.isActive || this._rightFilterer.isActive; }\n\n public async recordMatchesFilter(node: PropertyRecord, parents: PropertyRecord[]): Promise<PropertyDataFilterResult> {\n const [lhs, rhs] = await Promise.all([\n this._leftFilterer.recordMatchesFilter(node, parents),\n this._rightFilterer.recordMatchesFilter(node, parents),\n ]);\n\n return this.getFiltererResult(lhs, rhs);\n }\n\n public async categoryMatchesFilter(node: PropertyCategory, parents: PropertyCategory[]): Promise<PropertyDataFilterResult> {\n const [lhs, rhs] = await Promise.all([\n this._leftFilterer.categoryMatchesFilter(node, parents),\n this._rightFilterer.categoryMatchesFilter(node, parents),\n ]);\n\n return this.getFiltererResult(lhs, rhs);\n }\n\n private getFiltererResult(lhs: PropertyDataFilterResult, rhs: PropertyDataFilterResult) {\n const matchesFilter = (this._operator === CompositeFilterType.And) ? (lhs.matchesFilter && rhs.matchesFilter) : (lhs.matchesFilter || rhs.matchesFilter);\n if (!matchesFilter)\n return { matchesFilter: false };\n\n const filteredTypes = joinNullableArrays(lhs.matchesFilter ? lhs.filteredTypes : undefined, rhs.matchesFilter ? rhs.filteredTypes : undefined);\n\n return {\n matchesFilter: true,\n shouldExpandNodeParents: lhs.shouldExpandNodeParents || rhs.shouldExpandNodeParents,\n shouldForceIncludeDescendants: lhs.shouldForceIncludeDescendants || rhs.shouldForceIncludeDescendants,\n matchesCount: (sumNullableNumbers(lhs.matchesCount, rhs.matchesCount)),\n filteredTypes,\n };\n }\n}\n\nfunction sumNullableNumbers(lhs: number | undefined, rhs: number | undefined) {\n if (undefined === lhs && undefined === rhs)\n return undefined;\n return (lhs ?? 0) + (rhs ?? 0);\n}\n\nfunction joinNullableArrays(lhs: FilteredType[] | undefined, rhs: FilteredType[] | undefined) {\n if (undefined === lhs && undefined === rhs)\n return undefined;\n return [...lhs ?? [], ...rhs ?? []];\n}\n"]}
1
+ {"version":3,"file":"CompositePropertyDataFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\r\nimport { FilteredType, IPropertyDataFilterer, PropertyDataFiltererBase, PropertyDataFilterResult } from \"./PropertyDataFiltererBase\";\r\n\r\n/**\r\n * Logical operator for composite filterer.\r\n * @public\r\n */\r\nexport enum CompositeFilterType {\r\n And,\r\n Or,\r\n}\r\n\r\n/**\r\n * Composite PropertyData filter which can join two filters using logic operators\r\n * @public\r\n */\r\nexport class CompositePropertyDataFilterer extends PropertyDataFiltererBase {\r\n public constructor(private _leftFilterer: IPropertyDataFilterer, private _operator: CompositeFilterType, private _rightFilterer: IPropertyDataFilterer) {\r\n super();\r\n this._leftFilterer.onFilterChanged.addListener(() => this.onFilterChanged.raiseEvent());\r\n this._rightFilterer.onFilterChanged.addListener(() => this.onFilterChanged.raiseEvent());\r\n }\r\n\r\n public get isActive() { return this._leftFilterer.isActive || this._rightFilterer.isActive; }\r\n\r\n public async recordMatchesFilter(node: PropertyRecord, parents: PropertyRecord[]): Promise<PropertyDataFilterResult> {\r\n const [lhs, rhs] = await Promise.all([\r\n this._leftFilterer.recordMatchesFilter(node, parents),\r\n this._rightFilterer.recordMatchesFilter(node, parents),\r\n ]);\r\n\r\n return this.getFiltererResult(lhs, rhs);\r\n }\r\n\r\n public async categoryMatchesFilter(node: PropertyCategory, parents: PropertyCategory[]): Promise<PropertyDataFilterResult> {\r\n const [lhs, rhs] = await Promise.all([\r\n this._leftFilterer.categoryMatchesFilter(node, parents),\r\n this._rightFilterer.categoryMatchesFilter(node, parents),\r\n ]);\r\n\r\n return this.getFiltererResult(lhs, rhs);\r\n }\r\n\r\n private getFiltererResult(lhs: PropertyDataFilterResult, rhs: PropertyDataFilterResult) {\r\n const matchesFilter = (this._operator === CompositeFilterType.And) ? (lhs.matchesFilter && rhs.matchesFilter) : (lhs.matchesFilter || rhs.matchesFilter);\r\n if (!matchesFilter)\r\n return { matchesFilter: false };\r\n\r\n const filteredTypes = joinNullableArrays(lhs.matchesFilter ? lhs.filteredTypes : undefined, rhs.matchesFilter ? rhs.filteredTypes : undefined);\r\n\r\n return {\r\n matchesFilter: true,\r\n shouldExpandNodeParents: lhs.shouldExpandNodeParents || rhs.shouldExpandNodeParents,\r\n shouldForceIncludeDescendants: lhs.shouldForceIncludeDescendants || rhs.shouldForceIncludeDescendants,\r\n matchesCount: (sumNullableNumbers(lhs.matchesCount, rhs.matchesCount)),\r\n filteredTypes,\r\n };\r\n }\r\n}\r\n\r\nfunction sumNullableNumbers(lhs: number | undefined, rhs: number | undefined) {\r\n if (undefined === lhs && undefined === rhs)\r\n return undefined;\r\n return (lhs ?? 0) + (rhs ?? 0);\r\n}\r\n\r\nfunction joinNullableArrays(lhs: FilteredType[] | undefined, rhs: FilteredType[] | undefined) {\r\n if (undefined === lhs && undefined === rhs)\r\n return undefined;\r\n return [...lhs ?? [], ...rhs ?? []];\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"DisplayValuePropertyDataFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAA4B,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEpH;;;GAGG;AACH,MAAM,OAAO,gCAAiC,SAAQ,8BAA8B;IAGlF,YAAmB,aAAqB,EAAE;QACxC,KAAK,EAAE,CAAC;QAHF,gBAAW,GAAW,EAAE,CAAC;QAI/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,UAAU,CAAC,KAAa;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;SACnC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjD,KAAK,CAAC,mBAAmB,CAAC,IAAoB;;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;YAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,MAAM,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;QAClE,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzE,IAAI,YAAY,KAAK,CAAC;YACpB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;YAC7B,YAAY;YACZ,aAAa,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;SACpC,CAAC;IACJ,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 PropertyGrid\n */\n\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { countMatchesInString } from \"../../../common/countMatchesInString\";\nimport { FilteredType, PropertyDataFilterResult, PropertyRecordDataFiltererBase } from \"./PropertyDataFiltererBase\";\n\n/**\n * Property data filterer which matches on Primitive Property Record display value text.\n * @public\n */\nexport class DisplayValuePropertyDataFilterer extends PropertyRecordDataFiltererBase {\n private _filterText: string = \"\";\n\n public constructor(filterText: string = \"\") {\n super();\n this._filterText = filterText;\n }\n\n public get filterText(): string { return this._filterText; }\n public set filterText(value: string) {\n const lowerValue = value.toLowerCase().trim();\n if (lowerValue !== this.filterText) {\n this._filterText = lowerValue;\n this.onFilterChanged.raiseEvent();\n }\n }\n\n public get isActive() { return this.filterText !== \"\"; }\n\n public async recordMatchesFilter(node: PropertyRecord): Promise<PropertyDataFilterResult> {\n if (!this.isActive)\n return { matchesFilter: true };\n\n if (node.value.valueFormat !== PropertyValueFormat.Primitive)\n return { matchesFilter: false };\n\n const displayValue = node.value.displayValue?.toLowerCase() ?? \"\";\n const matchesCount = countMatchesInString(displayValue, this.filterText);\n\n if (matchesCount === 0)\n return { matchesFilter: false };\n\n return {\n matchesFilter: true,\n shouldExpandNodeParents: true,\n matchesCount,\n filteredTypes: [FilteredType.Value],\n };\n }\n}\n"]}
1
+ {"version":3,"file":"DisplayValuePropertyDataFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAA4B,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEpH;;;GAGG;AACH,MAAM,OAAO,gCAAiC,SAAQ,8BAA8B;IAGlF,YAAmB,aAAqB,EAAE;QACxC,KAAK,EAAE,CAAC;QAHF,gBAAW,GAAW,EAAE,CAAC;QAI/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,UAAU,CAAC,KAAa;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;SACnC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjD,KAAK,CAAC,mBAAmB,CAAC,IAAoB;;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;YAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,MAAM,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;QAClE,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzE,IAAI,YAAY,KAAK,CAAC;YACpB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;YAC7B,YAAY;YACZ,aAAa,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;SACpC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { countMatchesInString } from \"../../../common/countMatchesInString\";\r\nimport { FilteredType, PropertyDataFilterResult, PropertyRecordDataFiltererBase } from \"./PropertyDataFiltererBase\";\r\n\r\n/**\r\n * Property data filterer which matches on Primitive Property Record display value text.\r\n * @public\r\n */\r\nexport class DisplayValuePropertyDataFilterer extends PropertyRecordDataFiltererBase {\r\n private _filterText: string = \"\";\r\n\r\n public constructor(filterText: string = \"\") {\r\n super();\r\n this._filterText = filterText;\r\n }\r\n\r\n public get filterText(): string { return this._filterText; }\r\n public set filterText(value: string) {\r\n const lowerValue = value.toLowerCase().trim();\r\n if (lowerValue !== this.filterText) {\r\n this._filterText = lowerValue;\r\n this.onFilterChanged.raiseEvent();\r\n }\r\n }\r\n\r\n public get isActive() { return this.filterText !== \"\"; }\r\n\r\n public async recordMatchesFilter(node: PropertyRecord): Promise<PropertyDataFilterResult> {\r\n if (!this.isActive)\r\n return { matchesFilter: true };\r\n\r\n if (node.value.valueFormat !== PropertyValueFormat.Primitive)\r\n return { matchesFilter: false };\r\n\r\n const displayValue = node.value.displayValue?.toLowerCase() ?? \"\";\r\n const matchesCount = countMatchesInString(displayValue, this.filterText);\r\n\r\n if (matchesCount === 0)\r\n return { matchesFilter: false };\r\n\r\n return {\r\n matchesFilter: true,\r\n shouldExpandNodeParents: true,\r\n matchesCount,\r\n filteredTypes: [FilteredType.Value],\r\n };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LabelPropertyDataFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAA4B,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEpH;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,8BAA8B;IAG3E,YAAmB,aAAqB,EAAE;QACxC,KAAK,EAAE,CAAC;QAHF,gBAAW,GAAW,EAAE,CAAC;QAI/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,UAAU,CAAC,KAAa;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;SACnC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjD,KAAK,CAAC,mBAAmB,CAAC,IAAoB;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,YAAY,KAAK,CAAC;YACpB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;YAC7B,6BAA6B,EAAE,IAAI;YACnC,YAAY;YACZ,aAAa,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;SACpC,CAAC;IACJ,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 PropertyGrid\n */\n\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { countMatchesInString } from \"../../../common/countMatchesInString\";\nimport { FilteredType, PropertyDataFilterResult, PropertyRecordDataFiltererBase } from \"./PropertyDataFiltererBase\";\n\n/**\n * PropertyData filter which matches on any record type label and includes descendant nodes on match\n * @public\n */\nexport class LabelPropertyDataFilterer extends PropertyRecordDataFiltererBase {\n private _filterText: string = \"\";\n\n public constructor(filterText: string = \"\") {\n super();\n this._filterText = filterText;\n }\n\n public get filterText(): string { return this._filterText; }\n public set filterText(value: string) {\n const lowerValue = value.toLowerCase().trim();\n if (lowerValue !== this.filterText) {\n this._filterText = lowerValue;\n this.onFilterChanged.raiseEvent();\n }\n }\n\n public get isActive() { return this.filterText !== \"\"; }\n\n public async recordMatchesFilter(node: PropertyRecord): Promise<PropertyDataFilterResult> {\n if (!this.isActive)\n return { matchesFilter: true };\n\n const displayLabel = node.property.displayLabel.toLowerCase();\n const matchesCount = countMatchesInString(displayLabel, this.filterText);\n if (matchesCount === 0)\n return { matchesFilter: false };\n\n return {\n matchesFilter: true,\n shouldExpandNodeParents: true,\n shouldForceIncludeDescendants: true,\n matchesCount,\n filteredTypes: [FilteredType.Label],\n };\n }\n}\n"]}
1
+ {"version":3,"file":"LabelPropertyDataFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAA4B,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEpH;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,8BAA8B;IAG3E,YAAmB,aAAqB,EAAE;QACxC,KAAK,EAAE,CAAC;QAHF,gBAAW,GAAW,EAAE,CAAC;QAI/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,UAAU,CAAC,KAAa;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;SACnC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjD,KAAK,CAAC,mBAAmB,CAAC,IAAoB;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,YAAY,KAAK,CAAC;YACpB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;YAC7B,6BAA6B,EAAE,IAAI;YACnC,YAAY;YACZ,aAAa,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;SACpC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { countMatchesInString } from \"../../../common/countMatchesInString\";\r\nimport { FilteredType, PropertyDataFilterResult, PropertyRecordDataFiltererBase } from \"./PropertyDataFiltererBase\";\r\n\r\n/**\r\n * PropertyData filter which matches on any record type label and includes descendant nodes on match\r\n * @public\r\n */\r\nexport class LabelPropertyDataFilterer extends PropertyRecordDataFiltererBase {\r\n private _filterText: string = \"\";\r\n\r\n public constructor(filterText: string = \"\") {\r\n super();\r\n this._filterText = filterText;\r\n }\r\n\r\n public get filterText(): string { return this._filterText; }\r\n public set filterText(value: string) {\r\n const lowerValue = value.toLowerCase().trim();\r\n if (lowerValue !== this.filterText) {\r\n this._filterText = lowerValue;\r\n this.onFilterChanged.raiseEvent();\r\n }\r\n }\r\n\r\n public get isActive() { return this.filterText !== \"\"; }\r\n\r\n public async recordMatchesFilter(node: PropertyRecord): Promise<PropertyDataFilterResult> {\r\n if (!this.isActive)\r\n return { matchesFilter: true };\r\n\r\n const displayLabel = node.property.displayLabel.toLowerCase();\r\n const matchesCount = countMatchesInString(displayLabel, this.filterText);\r\n if (matchesCount === 0)\r\n return { matchesFilter: false };\r\n\r\n return {\r\n matchesFilter: true,\r\n shouldExpandNodeParents: true,\r\n shouldForceIncludeDescendants: true,\r\n matchesCount,\r\n filteredTypes: [FilteredType.Label],\r\n };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyCategoryLabelFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,gCAAgC,EAA4B,MAAM,4BAA4B,CAAC;AAEtH;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,gCAAgC;IAGjF,YAAmB,aAAqB,EAAE;QACxC,KAAK,EAAE,CAAC;QAHF,gBAAW,GAAW,EAAE,CAAC;QAI/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,UAAU,CAAC,KAAa;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;SACnC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjD,KAAK,CAAC,qBAAqB,CAAC,IAAsB;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzE,IAAI,YAAY,KAAK,CAAC;YACpB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;YAC7B,6BAA6B,EAAE,IAAI;YACnC,YAAY;YACZ,aAAa,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;SACvC,CAAC;IACJ,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 PropertyGrid\n */\n\nimport { countMatchesInString } from \"../../../common/countMatchesInString\";\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\nimport { FilteredType, PropertyCategoryDataFiltererBase, PropertyDataFilterResult } from \"./PropertyDataFiltererBase\";\n\n/**\n * PropertyData filterer which matches on PropertyCategory's label.\n * @public\n */\nexport class PropertyCategoryLabelFilterer extends PropertyCategoryDataFiltererBase {\n private _filterText: string = \"\";\n\n public constructor(filterText: string = \"\") {\n super();\n this._filterText = filterText;\n }\n\n public get filterText(): string { return this._filterText; }\n public set filterText(value: string) {\n const lowerValue = value.toLowerCase().trim();\n if (lowerValue !== this.filterText) {\n this._filterText = lowerValue;\n this.onFilterChanged.raiseEvent();\n }\n }\n\n public get isActive() { return this.filterText !== \"\"; }\n\n public async categoryMatchesFilter(node: PropertyCategory): Promise<PropertyDataFilterResult> {\n if (!this.isActive)\n return { matchesFilter: true };\n\n const displayLabel = node.label.toLowerCase();\n const matchesCount = countMatchesInString(displayLabel, this.filterText);\n\n if (matchesCount === 0)\n return { matchesFilter: false };\n\n return {\n matchesFilter: true,\n shouldExpandNodeParents: true,\n shouldForceIncludeDescendants: true,\n matchesCount,\n filteredTypes: [FilteredType.Category],\n };\n }\n}\n"]}
1
+ {"version":3,"file":"PropertyCategoryLabelFilterer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,gCAAgC,EAA4B,MAAM,4BAA4B,CAAC;AAEtH;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,gCAAgC;IAGjF,YAAmB,aAAqB,EAAE;QACxC,KAAK,EAAE,CAAC;QAHF,gBAAW,GAAW,EAAE,CAAC;QAI/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5D,IAAW,UAAU,CAAC,KAAa;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;SACnC;IACH,CAAC;IAED,IAAW,QAAQ,KAAK,OAAO,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjD,KAAK,CAAC,qBAAqB,CAAC,IAAsB;QACvD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzE,IAAI,YAAY,KAAK,CAAC;YACpB,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAElC,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,uBAAuB,EAAE,IAAI;YAC7B,6BAA6B,EAAE,IAAI;YACnC,YAAY;YACZ,aAAa,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;SACvC,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { countMatchesInString } from \"../../../common/countMatchesInString\";\r\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\r\nimport { FilteredType, PropertyCategoryDataFiltererBase, PropertyDataFilterResult } from \"./PropertyDataFiltererBase\";\r\n\r\n/**\r\n * PropertyData filterer which matches on PropertyCategory's label.\r\n * @public\r\n */\r\nexport class PropertyCategoryLabelFilterer extends PropertyCategoryDataFiltererBase {\r\n private _filterText: string = \"\";\r\n\r\n public constructor(filterText: string = \"\") {\r\n super();\r\n this._filterText = filterText;\r\n }\r\n\r\n public get filterText(): string { return this._filterText; }\r\n public set filterText(value: string) {\r\n const lowerValue = value.toLowerCase().trim();\r\n if (lowerValue !== this.filterText) {\r\n this._filterText = lowerValue;\r\n this.onFilterChanged.raiseEvent();\r\n }\r\n }\r\n\r\n public get isActive() { return this.filterText !== \"\"; }\r\n\r\n public async categoryMatchesFilter(node: PropertyCategory): Promise<PropertyDataFilterResult> {\r\n if (!this.isActive)\r\n return { matchesFilter: true };\r\n\r\n const displayLabel = node.label.toLowerCase();\r\n const matchesCount = countMatchesInString(displayLabel, this.filterText);\r\n\r\n if (matchesCount === 0)\r\n return { matchesFilter: false };\r\n\r\n return {\r\n matchesFilter: true,\r\n shouldExpandNodeParents: true,\r\n shouldForceIncludeDescendants: true,\r\n matchesCount,\r\n filteredTypes: [FilteredType.Category],\r\n };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyDataFiltererBase.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C;;;GAGG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,uDAAQ,CAAA;IACR,iDAAK,CAAA;IACL,iDAAK,CAAA;AACP,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAuCD;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,OAAsC;CAAI;AAczF;;;GAGG;AACH,MAAM,OAAgB,wBAAwB;IAA9C;QACS,oBAAe,GAA8B,IAAI,yBAAyB,EAAE,CAAC;IAItF,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,OAAgB,gCAAiC,SAAQ,wBAAwB;IAC9E,KAAK,CAAC,mBAAmB;QAC9B,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAgB,8BAA+B,SAAQ,wBAAwB;IAC5E,KAAK,CAAC,qBAAqB;QAChC,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,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 PropertyGrid\n */\n\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\n\n/**\n * Enumeration of possible component filtered types\n * @public\n */\nexport enum FilteredType {\n Category,\n Label,\n Value\n}\n\n/**\n * Data structure for storing [[IPropertyDataFilterer]] matching results\n * @public\n */\nexport interface PropertyDataFilterResult {\n /** Indicates whether provided item matched filter */\n matchesFilter: boolean;\n\n /**\n * Indicates whether descendants nodes should be forcefully included in filtered results.\n * Can only be true for nodes that have `matchesFilter` set to true.\n */\n shouldForceIncludeDescendants?: boolean;\n\n /**\n * Indicates whether parents of node should be expanded up to this match node.\n * Can only be true for nodes that have `matchesFilter` set to true.\n */\n shouldExpandNodeParents?: boolean;\n\n /**\n * Indicates how many times filter was matched in the provided item.\n */\n matchesCount?: number;\n\n /**\n * Indicates what item types were matched.\n */\n filteredTypes?: FilteredType[];\n}\n\n/**\n * A signature for property data change listeners\n * @public\n */\nexport declare type PropertyFilterChangesListener = () => void;\n\n/**\n * An event broadcasted when property filter changes\n * @public\n */\nexport class PropertyFilterChangeEvent extends BeEvent<PropertyFilterChangesListener> { }\n\n/**\n * An interface for a filterer that filters [[PropertyData]] based on content of [[PropertyRecord]]\n * and [[PropertyCategory]] objects.\n * @public\n */\nexport interface IPropertyDataFilterer {\n readonly isActive: boolean;\n recordMatchesFilter: (node: PropertyRecord, parents: PropertyRecord[]) => Promise<PropertyDataFilterResult>;\n categoryMatchesFilter: (node: PropertyCategory, parents: PropertyCategory[]) => Promise<PropertyDataFilterResult>;\n onFilterChanged: PropertyFilterChangeEvent;\n}\n\n/**\n * An abstract implementation of [[IPropertyDataFilterer]] to share common behavior between different implementations.\n * @public\n */\nexport abstract class PropertyDataFiltererBase implements IPropertyDataFilterer {\n public onFilterChanged: PropertyFilterChangeEvent = new PropertyFilterChangeEvent();\n public abstract get isActive(): boolean;\n public abstract recordMatchesFilter(node: PropertyRecord, parents: PropertyRecord[]): Promise<PropertyDataFilterResult>;\n public abstract categoryMatchesFilter(node: PropertyCategory, parents: PropertyCategory[]): Promise<PropertyDataFilterResult>;\n}\n\n/**\n * An abstract implementation of [[IPropertyDataFilterer]] that can be used as base for all\n * filterers that filter based on [[PropertyCategory]] content.\n * @public\n */\nexport abstract class PropertyCategoryDataFiltererBase extends PropertyDataFiltererBase {\n public async recordMatchesFilter(): Promise<PropertyDataFilterResult> {\n return { matchesFilter: !this.isActive };\n }\n}\n\n/**\n * An abstract implementation of [[IPropertyDataFilterer]] that can be used as base for all\n * filterers that filter based on [[PropertyRecord]] content.\n * @public\n */\nexport abstract class PropertyRecordDataFiltererBase extends PropertyDataFiltererBase {\n public async categoryMatchesFilter(): Promise<PropertyDataFilterResult> {\n return { matchesFilter: !this.isActive };\n }\n}\n"]}
1
+ {"version":3,"file":"PropertyDataFiltererBase.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C;;;GAGG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,uDAAQ,CAAA;IACR,iDAAK,CAAA;IACL,iDAAK,CAAA;AACP,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAuCD;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,OAAsC;CAAI;AAczF;;;GAGG;AACH,MAAM,OAAgB,wBAAwB;IAA9C;QACS,oBAAe,GAA8B,IAAI,yBAAyB,EAAE,CAAC;IAItF,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAM,OAAgB,gCAAiC,SAAQ,wBAAwB;IAC9E,KAAK,CAAC,mBAAmB;QAC9B,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAgB,8BAA+B,SAAQ,wBAAwB;IAC5E,KAAK,CAAC,qBAAqB;QAChC,OAAO,EAAE,aAAa,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3C,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\r\n\r\n/**\r\n * Enumeration of possible component filtered types\r\n * @public\r\n */\r\nexport enum FilteredType {\r\n Category,\r\n Label,\r\n Value\r\n}\r\n\r\n/**\r\n * Data structure for storing [[IPropertyDataFilterer]] matching results\r\n * @public\r\n */\r\nexport interface PropertyDataFilterResult {\r\n /** Indicates whether provided item matched filter */\r\n matchesFilter: boolean;\r\n\r\n /**\r\n * Indicates whether descendants nodes should be forcefully included in filtered results.\r\n * Can only be true for nodes that have `matchesFilter` set to true.\r\n */\r\n shouldForceIncludeDescendants?: boolean;\r\n\r\n /**\r\n * Indicates whether parents of node should be expanded up to this match node.\r\n * Can only be true for nodes that have `matchesFilter` set to true.\r\n */\r\n shouldExpandNodeParents?: boolean;\r\n\r\n /**\r\n * Indicates how many times filter was matched in the provided item.\r\n */\r\n matchesCount?: number;\r\n\r\n /**\r\n * Indicates what item types were matched.\r\n */\r\n filteredTypes?: FilteredType[];\r\n}\r\n\r\n/**\r\n * A signature for property data change listeners\r\n * @public\r\n */\r\nexport declare type PropertyFilterChangesListener = () => void;\r\n\r\n/**\r\n * An event broadcasted when property filter changes\r\n * @public\r\n */\r\nexport class PropertyFilterChangeEvent extends BeEvent<PropertyFilterChangesListener> { }\r\n\r\n/**\r\n * An interface for a filterer that filters [[PropertyData]] based on content of [[PropertyRecord]]\r\n * and [[PropertyCategory]] objects.\r\n * @public\r\n */\r\nexport interface IPropertyDataFilterer {\r\n readonly isActive: boolean;\r\n recordMatchesFilter: (node: PropertyRecord, parents: PropertyRecord[]) => Promise<PropertyDataFilterResult>;\r\n categoryMatchesFilter: (node: PropertyCategory, parents: PropertyCategory[]) => Promise<PropertyDataFilterResult>;\r\n onFilterChanged: PropertyFilterChangeEvent;\r\n}\r\n\r\n/**\r\n * An abstract implementation of [[IPropertyDataFilterer]] to share common behavior between different implementations.\r\n * @public\r\n */\r\nexport abstract class PropertyDataFiltererBase implements IPropertyDataFilterer {\r\n public onFilterChanged: PropertyFilterChangeEvent = new PropertyFilterChangeEvent();\r\n public abstract get isActive(): boolean;\r\n public abstract recordMatchesFilter(node: PropertyRecord, parents: PropertyRecord[]): Promise<PropertyDataFilterResult>;\r\n public abstract categoryMatchesFilter(node: PropertyCategory, parents: PropertyCategory[]): Promise<PropertyDataFilterResult>;\r\n}\r\n\r\n/**\r\n * An abstract implementation of [[IPropertyDataFilterer]] that can be used as base for all\r\n * filterers that filter based on [[PropertyCategory]] content.\r\n * @public\r\n */\r\nexport abstract class PropertyCategoryDataFiltererBase extends PropertyDataFiltererBase {\r\n public async recordMatchesFilter(): Promise<PropertyDataFilterResult> {\r\n return { matchesFilter: !this.isActive };\r\n }\r\n}\r\n\r\n/**\r\n * An abstract implementation of [[IPropertyDataFilterer]] that can be used as base for all\r\n * filterers that filter based on [[PropertyRecord]] content.\r\n * @public\r\n */\r\nexport abstract class PropertyRecordDataFiltererBase extends PropertyDataFiltererBase {\r\n public async categoryMatchesFilter(): Promise<PropertyDataFilterResult> {\r\n return { matchesFilter: !this.isActive };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridEventHandler.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridEventHandler.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAe/F;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IACnC,YAA2B,YAAsC;QAAtC,iBAAY,GAAZ,YAAY,CAA0B;QAGjE;;;WAGG;QACI,uBAAkB,GAAG,CAAC,YAAoB,EAAE,EAAE;YACnD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAXF,CAAC;CAYF","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\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { IPropertyGridModelSource } from \"./PropertyGridModelSource\";\n\n/**\n * Handles events and changes on PropertyGridModel data.\n * @beta\n */\nexport interface IPropertyGridEventHandler {\n onExpansionToggled: (selectionKey: string) => void;\n}\n\n/**\n * Handles events and changes on PropertyGridModel data.\n * @beta\n */\nexport class PropertyGridEventHandler {\n public constructor(private _modelSource: IPropertyGridModelSource) {\n }\n\n /**\n * Flips isExpand on item by given selectionKey\n * @param selectionKey item to be modified\n */\n public onExpansionToggled = (selectionKey: string) => {\n this._modelSource.modifyModel((draftModel) => {\n const item = draftModel.getItem(selectionKey);\n item.isExpanded = !item.isExpanded;\n });\n };\n}\n"]}
1
+ {"version":3,"file":"PropertyGridEventHandler.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridEventHandler.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAe/F;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IACnC,YAA2B,YAAsC;QAAtC,iBAAY,GAAZ,YAAY,CAA0B;QAGjE;;;WAGG;QACI,uBAAkB,GAAG,CAAC,YAAoB,EAAE,EAAE;YACnD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAXF,CAAC;CAYF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport { IPropertyGridModelSource } from \"./PropertyGridModelSource\";\r\n\r\n/**\r\n * Handles events and changes on PropertyGridModel data.\r\n * @beta\r\n */\r\nexport interface IPropertyGridEventHandler {\r\n onExpansionToggled: (selectionKey: string) => void;\r\n}\r\n\r\n/**\r\n * Handles events and changes on PropertyGridModel data.\r\n * @beta\r\n */\r\nexport class PropertyGridEventHandler {\r\n public constructor(private _modelSource: IPropertyGridModelSource) {\r\n }\r\n\r\n /**\r\n * Flips isExpand on item by given selectionKey\r\n * @param selectionKey item to be modified\r\n */\r\n public onExpansionToggled = (selectionKey: string) => {\r\n this._modelSource.modifyModel((draftModel) => {\r\n const item = draftModel.getItem(selectionKey);\r\n item.isExpanded = !item.isExpanded;\r\n });\r\n };\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridHooks.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridHooks.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAA4B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE9F;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8C;IAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE;YACjD,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,yGAAyG;IACzG,uDAAuD;IACvD,OAAO,sBAAsB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA8C;IACvF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAEtC,8DAA8D;IAC9D,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,sBAAsB,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY;YACd,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAgD;IAC1F,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgD;IACnF,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,YAAY,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC;AACf,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 PropertyGrid\n */\n\nimport { useCallback, useEffect, useMemo, useReducer, useState } from \"react\";\nimport { useDebouncedAsyncValue } from \"../../common/UseDebouncedAsyncValue\";\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\nimport { MutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\nimport { PropertyGridEventHandler } from \"./PropertyGridEventHandler\";\nimport { IPropertyGridModel } from \"./PropertyGridModel\";\nimport { IPropertyGridModelSource, PropertyGridModelSource } from \"./PropertyGridModelSource\";\n\n/**\n * Custom hook that gets [[PropertyData]] from given [[IPropertyDataProvider]] and subscribes to further data changes.\n * @public\n */\nexport function usePropertyData(props: { dataProvider: IPropertyDataProvider }) {\n const { dataProvider } = props;\n\n const [forcedUpdate, triggerForcedUpdate] = useReducer(() => ({}), {});\n useEffect(() => {\n return dataProvider.onDataChanged.addListener(() => {\n triggerForcedUpdate();\n });\n }, [dataProvider]);\n\n // forcedUpdate is added to dependency list to re-memo getData promise when onDataChanged emits an event.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useDebouncedAsyncValue(useCallback(async () => dataProvider.getData(), [dataProvider, forcedUpdate]));\n}\n\n/**\n * Custom hook that creates a [[PropertyGridModelSource]] and subscribes it to data updates from the data provider.\n * @beta\n */\nexport function usePropertyGridModelSource(props: { dataProvider: IPropertyDataProvider }) {\n const { value: propertyData } = usePropertyData(props);\n const { dataProvider } = { ...props };\n\n // Model source needs to be recreated if data provider changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const modelSource = useMemo(() => new PropertyGridModelSource(new MutableGridItemFactory()), [dataProvider]);\n\n useEffect(() => {\n if (propertyData)\n modelSource.setPropertyData(propertyData);\n }, [modelSource, propertyData]);\n\n return modelSource;\n}\n\n/**\n * Custom hook that creates memoized version of [[PropertyGridEventHandler]] that modifies given modelSource\n * @beta\n */\nexport function usePropertyGridEventHandler(props: { modelSource: IPropertyGridModelSource }) {\n return useMemo(() => new PropertyGridEventHandler(props.modelSource), [props.modelSource]);\n}\n\n/**\n * Custom hook that automatically listens and retrieves latest model from model source\n * @beta\n */\nexport function usePropertyGridModel(props: { modelSource: IPropertyGridModelSource }) {\n const { modelSource } = { ...props };\n const [model, setModel] = useState<IPropertyGridModel>();\n\n useEffect(() => {\n const modelChanged = () => {\n setModel(modelSource.getModel());\n };\n modelChanged();\n return modelSource.onModelChanged.addListener(modelChanged);\n }, [modelSource]);\n\n return model;\n}\n"]}
1
+ {"version":3,"file":"PropertyGridHooks.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridHooks.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAA4B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE9F;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8C;IAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE;YACjD,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,yGAAyG;IACzG,uDAAuD;IACvD,OAAO,sBAAsB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA8C;IACvF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAEtC,8DAA8D;IAC9D,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,sBAAsB,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY;YACd,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAgD;IAC1F,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgD;IACnF,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,YAAY,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { useCallback, useEffect, useMemo, useReducer, useState } from \"react\";\r\nimport { useDebouncedAsyncValue } from \"../../common/UseDebouncedAsyncValue\";\r\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\r\nimport { MutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\r\nimport { PropertyGridEventHandler } from \"./PropertyGridEventHandler\";\r\nimport { IPropertyGridModel } from \"./PropertyGridModel\";\r\nimport { IPropertyGridModelSource, PropertyGridModelSource } from \"./PropertyGridModelSource\";\r\n\r\n/**\r\n * Custom hook that gets [[PropertyData]] from given [[IPropertyDataProvider]] and subscribes to further data changes.\r\n * @public\r\n */\r\nexport function usePropertyData(props: { dataProvider: IPropertyDataProvider }) {\r\n const { dataProvider } = props;\r\n\r\n const [forcedUpdate, triggerForcedUpdate] = useReducer(() => ({}), {});\r\n useEffect(() => {\r\n return dataProvider.onDataChanged.addListener(() => {\r\n triggerForcedUpdate();\r\n });\r\n }, [dataProvider]);\r\n\r\n // forcedUpdate is added to dependency list to re-memo getData promise when onDataChanged emits an event.\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n return useDebouncedAsyncValue(useCallback(async () => dataProvider.getData(), [dataProvider, forcedUpdate]));\r\n}\r\n\r\n/**\r\n * Custom hook that creates a [[PropertyGridModelSource]] and subscribes it to data updates from the data provider.\r\n * @beta\r\n */\r\nexport function usePropertyGridModelSource(props: { dataProvider: IPropertyDataProvider }) {\r\n const { value: propertyData } = usePropertyData(props);\r\n const { dataProvider } = { ...props };\r\n\r\n // Model source needs to be recreated if data provider changes\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const modelSource = useMemo(() => new PropertyGridModelSource(new MutableGridItemFactory()), [dataProvider]);\r\n\r\n useEffect(() => {\r\n if (propertyData)\r\n modelSource.setPropertyData(propertyData);\r\n }, [modelSource, propertyData]);\r\n\r\n return modelSource;\r\n}\r\n\r\n/**\r\n * Custom hook that creates memoized version of [[PropertyGridEventHandler]] that modifies given modelSource\r\n * @beta\r\n */\r\nexport function usePropertyGridEventHandler(props: { modelSource: IPropertyGridModelSource }) {\r\n return useMemo(() => new PropertyGridEventHandler(props.modelSource), [props.modelSource]);\r\n}\r\n\r\n/**\r\n * Custom hook that automatically listens and retrieves latest model from model source\r\n * @beta\r\n */\r\nexport function usePropertyGridModel(props: { modelSource: IPropertyGridModelSource }) {\r\n const { modelSource } = { ...props };\r\n const [model, setModel] = useState<IPropertyGridModel>();\r\n\r\n useEffect(() => {\r\n const modelChanged = () => {\r\n setModel(modelSource.getModel());\r\n };\r\n modelChanged();\r\n return modelSource.onModelChanged.addListener(modelChanged);\r\n }, [modelSource]);\r\n\r\n return model;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridModel.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModel.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4BlC;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAInC,YAAmB,YAA0B,EAAU,gBAAyC;QAAzC,qBAAgB,GAAhB,gBAAgB,CAAyB;QAHzF,QAAW,GAAG,IAAI,CAAC;QAIxB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3J,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,YAAoB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,KAA6B,EAAE,YAAoB;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,2IAA2I;YAC3I,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,SAAS;YAEX,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY;gBACpC,OAAO,IAAI,CAAC;YAEd,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,SAAS;gBACX,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAE3F,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAEtG,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;KAvES,SAAS","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 PropertyGrid\n */\nimport { immerable } from \"immer\";\nimport { PropertyCategory, PropertyData } from \"../PropertyDataProvider\";\nimport { FlatGridItem, GridCategoryItem } from \"./flat-items/FlatGridItem\";\nimport { IMutableFlatGridItem, IMutableGridCategoryItem } from \"./flat-items/MutableFlatGridItem\";\nimport { IMutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\n\n/**\n * PropertyGridModel interface for working with immutable FlatGridItems\n * @beta\n */\nexport interface IPropertyGridModel {\n getItem: (selectionKey: string) => FlatGridItem;\n getRootCategories: () => GridCategoryItem[];\n getFlatGrid: () => FlatGridItem[];\n getVisibleFlatGrid: () => FlatGridItem[];\n}\n\n/**\n * PropertyGridModel interface for working with mutable FlatGridItems\n * @beta\n */\nexport interface IMutablePropertyGridModel {\n getItem: (selectionKey: string) => IMutableFlatGridItem;\n getRootCategories: () => IMutableGridCategoryItem[];\n getFlatGrid: () => IMutableFlatGridItem[];\n getVisibleFlatGrid: () => IMutableFlatGridItem[];\n}\n\n/**\n * Implementation of PropertyGridModel for working with and converting PropertyData to mutable FlatGridItems\n * @beta\n */\nexport class MutablePropertyGridModel implements IPropertyGridModel, IMutablePropertyGridModel {\n public [immerable] = true;\n\n private _categories: IMutableGridCategoryItem[];\n public constructor(propertyData: PropertyData, private _gridItemFactory: IMutableGridItemFactory) {\n this._categories = propertyData.categories.map((category: PropertyCategory) => this._gridItemFactory.createGridCategory(category, propertyData.records));\n }\n\n /**\n * Retrieves grid item from model.\n * @param selectionKey unique key for identifying item to retrieve.\n */\n public getItem(selectionKey: string) {\n const item = this.findItem(this._categories, selectionKey);\n if (!item)\n throw new Error(`Grid item at provided key not found: ${selectionKey}`);\n\n return item;\n }\n\n /**\n * Walks the grid item hierarchy and finds item matching key\n * @param items items and their descendants to check\n * @param selectionKey unique key for identifying item\n * @returns FlatGridItem if items with key exists, undefined otherwise\n */\n private findItem(items: IMutableFlatGridItem[], selectionKey: string): IMutableFlatGridItem | undefined {\n for (const item of items) {\n // Each items key is prefixed with it's parent key, so we can ignore the ones that aren't prefixed to reduce checking unnecessary branches.\n if (!selectionKey.startsWith(item.selectionKey))\n continue;\n\n if (item.selectionKey === selectionKey)\n return item;\n\n const foundItem = this.findItem(item.getChildren(), selectionKey);\n if (foundItem)\n return foundItem;\n }\n\n return undefined;\n }\n\n /**\n * Gets all GridCategoryItems that do not have parent categories.\n * @returns array of GridCategoryItems\n */\n public getRootCategories(): IMutableGridCategoryItem[] {\n return this._categories;\n }\n\n /**\n * Gets an array of all FlatGridItems.\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\n */\n public getFlatGrid(): IMutableFlatGridItem[] {\n const flatGrid: IMutableFlatGridItem[] = [];\n this._categories.forEach((category) => flatGrid.push(...category.getDescendantsAndSelf()));\n\n return flatGrid;\n }\n\n /**\n * Gets an array of all currently visible FlatGridItems.\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\n */\n public getVisibleFlatGrid(): IMutableFlatGridItem[] {\n const visibleItems: IMutableFlatGridItem[] = [];\n this._categories.forEach((category) => visibleItems.push(...category.getVisibleDescendantsAndSelf()));\n\n return visibleItems;\n }\n}\n"]}
1
+ {"version":3,"file":"PropertyGridModel.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModel.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4BlC;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAInC,YAAmB,YAA0B,EAAU,gBAAyC;QAAzC,qBAAgB,GAAhB,gBAAgB,CAAyB;QAHzF,QAAW,GAAG,IAAI,CAAC;QAIxB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3J,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,YAAoB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,KAA6B,EAAE,YAAoB;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,2IAA2I;YAC3I,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,SAAS;YAEX,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY;gBACpC,OAAO,IAAI,CAAC;YAEd,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,SAAS;gBACX,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAE3F,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAEtG,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;KAvES,SAAS","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport { immerable } from \"immer\";\r\nimport { PropertyCategory, PropertyData } from \"../PropertyDataProvider\";\r\nimport { FlatGridItem, GridCategoryItem } from \"./flat-items/FlatGridItem\";\r\nimport { IMutableFlatGridItem, IMutableGridCategoryItem } from \"./flat-items/MutableFlatGridItem\";\r\nimport { IMutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\r\n\r\n/**\r\n * PropertyGridModel interface for working with immutable FlatGridItems\r\n * @beta\r\n */\r\nexport interface IPropertyGridModel {\r\n getItem: (selectionKey: string) => FlatGridItem;\r\n getRootCategories: () => GridCategoryItem[];\r\n getFlatGrid: () => FlatGridItem[];\r\n getVisibleFlatGrid: () => FlatGridItem[];\r\n}\r\n\r\n/**\r\n * PropertyGridModel interface for working with mutable FlatGridItems\r\n * @beta\r\n */\r\nexport interface IMutablePropertyGridModel {\r\n getItem: (selectionKey: string) => IMutableFlatGridItem;\r\n getRootCategories: () => IMutableGridCategoryItem[];\r\n getFlatGrid: () => IMutableFlatGridItem[];\r\n getVisibleFlatGrid: () => IMutableFlatGridItem[];\r\n}\r\n\r\n/**\r\n * Implementation of PropertyGridModel for working with and converting PropertyData to mutable FlatGridItems\r\n * @beta\r\n */\r\nexport class MutablePropertyGridModel implements IPropertyGridModel, IMutablePropertyGridModel {\r\n public [immerable] = true;\r\n\r\n private _categories: IMutableGridCategoryItem[];\r\n public constructor(propertyData: PropertyData, private _gridItemFactory: IMutableGridItemFactory) {\r\n this._categories = propertyData.categories.map((category: PropertyCategory) => this._gridItemFactory.createGridCategory(category, propertyData.records));\r\n }\r\n\r\n /**\r\n * Retrieves grid item from model.\r\n * @param selectionKey unique key for identifying item to retrieve.\r\n */\r\n public getItem(selectionKey: string) {\r\n const item = this.findItem(this._categories, selectionKey);\r\n if (!item)\r\n throw new Error(`Grid item at provided key not found: ${selectionKey}`);\r\n\r\n return item;\r\n }\r\n\r\n /**\r\n * Walks the grid item hierarchy and finds item matching key\r\n * @param items items and their descendants to check\r\n * @param selectionKey unique key for identifying item\r\n * @returns FlatGridItem if items with key exists, undefined otherwise\r\n */\r\n private findItem(items: IMutableFlatGridItem[], selectionKey: string): IMutableFlatGridItem | undefined {\r\n for (const item of items) {\r\n // Each items key is prefixed with it's parent key, so we can ignore the ones that aren't prefixed to reduce checking unnecessary branches.\r\n if (!selectionKey.startsWith(item.selectionKey))\r\n continue;\r\n\r\n if (item.selectionKey === selectionKey)\r\n return item;\r\n\r\n const foundItem = this.findItem(item.getChildren(), selectionKey);\r\n if (foundItem)\r\n return foundItem;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Gets all GridCategoryItems that do not have parent categories.\r\n * @returns array of GridCategoryItems\r\n */\r\n public getRootCategories(): IMutableGridCategoryItem[] {\r\n return this._categories;\r\n }\r\n\r\n /**\r\n * Gets an array of all FlatGridItems.\r\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\r\n */\r\n public getFlatGrid(): IMutableFlatGridItem[] {\r\n const flatGrid: IMutableFlatGridItem[] = [];\r\n this._categories.forEach((category) => flatGrid.push(...category.getDescendantsAndSelf()));\r\n\r\n return flatGrid;\r\n }\r\n\r\n /**\r\n * Gets an array of all currently visible FlatGridItems.\r\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\r\n */\r\n public getVisibleFlatGrid(): IMutableFlatGridItem[] {\r\n const visibleItems: IMutableFlatGridItem[] = [];\r\n this._categories.forEach((category) => visibleItems.push(...category.getVisibleDescendantsAndSelf()));\r\n\r\n return visibleItems;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridModelChangeEvent.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelChangeEvent.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ9C;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,OAAwC;CAAI","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\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { BeEvent } from \"@itwin/core-bentley\";\n\n/**\n * A signature for property grid model change listeners\n * @beta\n */\nexport type PropertyGridModelChangeListener = () => void;\n\n/**\n * An event broadcasted on property grid model changes\n * @beta\n */\nexport class PropertyGridModelChangeEvent extends BeEvent<PropertyGridModelChangeListener> { }\n"]}
1
+ {"version":3,"file":"PropertyGridModelChangeEvent.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelChangeEvent.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ9C;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,OAAwC;CAAI","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\n\r\n/**\r\n * A signature for property grid model change listeners\r\n * @beta\r\n */\r\nexport type PropertyGridModelChangeListener = () => void;\r\n\r\n/**\r\n * An event broadcasted on property grid model changes\r\n * @beta\r\n */\r\nexport class PropertyGridModelChangeEvent extends BeEvent<PropertyGridModelChangeListener> { }\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridModelSource.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelSource.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAiD,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAU9E;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAKlC,YAA2B,YAAqC;QAArC,iBAAY,GAAZ,YAAY,CAAyB;QAHhE,kEAAkE;QAC3D,mBAAc,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAG3D,CAAC;IAEO,eAAe,CAAC,SAAiC;QACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;YAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,iBAAiB,CAAC,QAAmC,EAAE,QAAmC;QAChG,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3D,uBAAuB;YACvB,IAAI,WAAW;gBACb,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,IAAkB;QACvC,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB;YAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAAoD;QACrE,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO;QAET,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,mCAAmC;IAC5B,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,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 PropertyGrid\n */\n\nimport { produce } from \"immer\";\nimport { PropertyData } from \"../PropertyDataProvider\";\nimport { IMutableFlatGridItem } from \"./flat-items/MutableFlatGridItem\";\nimport { IMutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\nimport { IMutablePropertyGridModel, IPropertyGridModel, MutablePropertyGridModel } from \"./PropertyGridModel\";\nimport { PropertyGridModelChangeEvent } from \"./PropertyGridModelChangeEvent\";\n\n/** @beta */\nexport interface IPropertyGridModelSource {\n onModelChanged: PropertyGridModelChangeEvent;\n setPropertyData: (data: PropertyData) => void;\n modifyModel(callback: (model: IMutablePropertyGridModel) => void): void;\n getModel(): IPropertyGridModel | undefined;\n}\n\n/**\n * Controls property grid model.\n * It is used to modify property grid model model and inform when the model changes.\n * @beta\n */\nexport class PropertyGridModelSource implements IPropertyGridModelSource {\n private _model?: IMutablePropertyGridModel;\n /** Event that is emitted every time property model is changed. */\n public onModelChanged = new PropertyGridModelChangeEvent();\n\n public constructor(private _gridFactory: IMutableGridItemFactory) {\n }\n\n private getFullModelMap(fullModel: IMutableFlatGridItem[]): Map<string, IMutableFlatGridItem> {\n const fullModelMap = new Map<string, IMutableFlatGridItem>();\n for (const item of fullModel) {\n const key = item.selectionKey;\n fullModelMap.set(key, item);\n }\n\n return fullModelMap;\n }\n\n private moveOldModelState(oldModel: IMutablePropertyGridModel, newModel: IMutablePropertyGridModel) {\n const oldModelMap = this.getFullModelMap(oldModel.getFlatGrid());\n const flatGrid = newModel.getFlatGrid();\n\n flatGrid.forEach((gridItem) => {\n const oldGridItem = oldModelMap.get(gridItem.selectionKey);\n // istanbul ignore else\n if (oldGridItem)\n gridItem.isExpanded = oldGridItem.isExpanded;\n });\n }\n\n public setPropertyData(data: PropertyData) {\n const newModel = new MutablePropertyGridModel(data, this._gridFactory);\n if (this._model !== undefined && data.reusePropertyDataState)\n this.moveOldModelState(this._model, newModel);\n\n this._model = newModel;\n this.onModelChanged.raiseEvent();\n }\n\n /**\n * Modifies property grid model using provided callback.\n * If changes to model are detected, onModelChanged emits an event to all subscribers.\n */\n public modifyModel(callback: (model: IMutablePropertyGridModel) => void): void {\n if (!this._model)\n return;\n\n this._model = produce(this._model, callback);\n this.onModelChanged.raiseEvent();\n }\n\n /** Returns property grid model. */\n public getModel(): IPropertyGridModel | undefined {\n return this._model;\n }\n}\n"]}
1
+ {"version":3,"file":"PropertyGridModelSource.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelSource.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAiD,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAU9E;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAKlC,YAA2B,YAAqC;QAArC,iBAAY,GAAZ,YAAY,CAAyB;QAHhE,kEAAkE;QAC3D,mBAAc,GAAG,IAAI,4BAA4B,EAAE,CAAC;IAG3D,CAAC;IAEO,eAAe,CAAC,SAAiC;QACvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;YAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SAC7B;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,iBAAiB,CAAC,QAAmC,EAAE,QAAmC;QAChG,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC5B,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3D,uBAAuB;YACvB,IAAI,WAAW;gBACb,QAAQ,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,IAAkB;QACvC,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB;YAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,QAAoD;QACrE,IAAI,CAAC,IAAI,CAAC,MAAM;YACd,OAAO;QAET,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,mCAAmC;IAC5B,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport { produce } from \"immer\";\r\nimport { PropertyData } from \"../PropertyDataProvider\";\r\nimport { IMutableFlatGridItem } from \"./flat-items/MutableFlatGridItem\";\r\nimport { IMutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\r\nimport { IMutablePropertyGridModel, IPropertyGridModel, MutablePropertyGridModel } from \"./PropertyGridModel\";\r\nimport { PropertyGridModelChangeEvent } from \"./PropertyGridModelChangeEvent\";\r\n\r\n/** @beta */\r\nexport interface IPropertyGridModelSource {\r\n onModelChanged: PropertyGridModelChangeEvent;\r\n setPropertyData: (data: PropertyData) => void;\r\n modifyModel(callback: (model: IMutablePropertyGridModel) => void): void;\r\n getModel(): IPropertyGridModel | undefined;\r\n}\r\n\r\n/**\r\n * Controls property grid model.\r\n * It is used to modify property grid model model and inform when the model changes.\r\n * @beta\r\n */\r\nexport class PropertyGridModelSource implements IPropertyGridModelSource {\r\n private _model?: IMutablePropertyGridModel;\r\n /** Event that is emitted every time property model is changed. */\r\n public onModelChanged = new PropertyGridModelChangeEvent();\r\n\r\n public constructor(private _gridFactory: IMutableGridItemFactory) {\r\n }\r\n\r\n private getFullModelMap(fullModel: IMutableFlatGridItem[]): Map<string, IMutableFlatGridItem> {\r\n const fullModelMap = new Map<string, IMutableFlatGridItem>();\r\n for (const item of fullModel) {\r\n const key = item.selectionKey;\r\n fullModelMap.set(key, item);\r\n }\r\n\r\n return fullModelMap;\r\n }\r\n\r\n private moveOldModelState(oldModel: IMutablePropertyGridModel, newModel: IMutablePropertyGridModel) {\r\n const oldModelMap = this.getFullModelMap(oldModel.getFlatGrid());\r\n const flatGrid = newModel.getFlatGrid();\r\n\r\n flatGrid.forEach((gridItem) => {\r\n const oldGridItem = oldModelMap.get(gridItem.selectionKey);\r\n // istanbul ignore else\r\n if (oldGridItem)\r\n gridItem.isExpanded = oldGridItem.isExpanded;\r\n });\r\n }\r\n\r\n public setPropertyData(data: PropertyData) {\r\n const newModel = new MutablePropertyGridModel(data, this._gridFactory);\r\n if (this._model !== undefined && data.reusePropertyDataState)\r\n this.moveOldModelState(this._model, newModel);\r\n\r\n this._model = newModel;\r\n this.onModelChanged.raiseEvent();\r\n }\r\n\r\n /**\r\n * Modifies property grid model using provided callback.\r\n * If changes to model are detected, onModelChanged emits an event to all subscribers.\r\n */\r\n public modifyModel(callback: (model: IMutablePropertyGridModel) => void): void {\r\n if (!this._model)\r\n return;\r\n\r\n this._model = produce(this._model, callback);\r\n this.onModelChanged.raiseEvent();\r\n }\r\n\r\n /** Returns property grid model. */\r\n public getModel(): IPropertyGridModel | undefined {\r\n return this._model;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatGridItem.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/FlatGridItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F","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\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { CategorizedPropertyTypes, FlatGridItemType } from \"./MutableFlatGridItem\";\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\n\n/**\n * Base immutable data structure defining common methods and properties for categories and categorized properties\n * @beta\n */\nexport interface FlatGridItemBase {\n readonly isExpanded: boolean;\n readonly key: string;\n readonly selectionKey: string;\n readonly parentSelectionKey: string | undefined;\n readonly parentCategorySelectionKey: string | undefined;\n readonly depth: number;\n readonly label: string;\n readonly type: FlatGridItemType;\n readonly lastInNumberOfCategories: number;\n readonly isLastInRootCategory: boolean;\n getDescendantsAndSelf(): FlatGridItem[];\n getVisibleDescendantsAndSelf(): FlatGridItem[];\n getChildren(): FlatGridItem[];\n getLastVisibleDescendantOrSelf(): FlatGridItem;\n}\n\n/**\n * Data structure which describes methods and properties present on immutable [[GridCategoryItem]]\n * @beta\n */\nexport interface GridCategoryItem extends FlatGridItemBase {\n readonly type: FlatGridItemType.Category;\n readonly name: string;\n readonly derivedCategory: PropertyCategory;\n\n getChildCategories(): GridCategoryItem[];\n getDescendantCategoriesAndSelf(): GridCategoryItem[];\n}\n\n/**\n * Data structure which describes methods and properties present on immutable [[CategorizedPropertyItem]] objects\n * @beta\n */\nexport interface CategorizedPropertyItem extends FlatGridItemBase {\n readonly type: CategorizedPropertyTypes;\n readonly derivedRecord: PropertyRecord;\n readonly parentCategorySelectionKey: string;\n readonly parentSelectionKey: string;\n\n getChildren(): CategorizedPropertyItem[];\n}\n\n/**\n * Type which describes immutable [[GridCategoryItem]] or [[CategorizedPropertyItem]]\n * @beta\n */\nexport type FlatGridItem = CategorizedPropertyItem | GridCategoryItem;\n"]}
1
+ {"version":3,"file":"FlatGridItem.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/FlatGridItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport { CategorizedPropertyTypes, FlatGridItemType } from \"./MutableFlatGridItem\";\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { PropertyCategory } from \"../../PropertyDataProvider\";\r\n\r\n/**\r\n * Base immutable data structure defining common methods and properties for categories and categorized properties\r\n * @beta\r\n */\r\nexport interface FlatGridItemBase {\r\n readonly isExpanded: boolean;\r\n readonly key: string;\r\n readonly selectionKey: string;\r\n readonly parentSelectionKey: string | undefined;\r\n readonly parentCategorySelectionKey: string | undefined;\r\n readonly depth: number;\r\n readonly label: string;\r\n readonly type: FlatGridItemType;\r\n readonly lastInNumberOfCategories: number;\r\n readonly isLastInRootCategory: boolean;\r\n getDescendantsAndSelf(): FlatGridItem[];\r\n getVisibleDescendantsAndSelf(): FlatGridItem[];\r\n getChildren(): FlatGridItem[];\r\n getLastVisibleDescendantOrSelf(): FlatGridItem;\r\n}\r\n\r\n/**\r\n * Data structure which describes methods and properties present on immutable [[GridCategoryItem]]\r\n * @beta\r\n */\r\nexport interface GridCategoryItem extends FlatGridItemBase {\r\n readonly type: FlatGridItemType.Category;\r\n readonly name: string;\r\n readonly derivedCategory: PropertyCategory;\r\n\r\n getChildCategories(): GridCategoryItem[];\r\n getDescendantCategoriesAndSelf(): GridCategoryItem[];\r\n}\r\n\r\n/**\r\n * Data structure which describes methods and properties present on immutable [[CategorizedPropertyItem]] objects\r\n * @beta\r\n */\r\nexport interface CategorizedPropertyItem extends FlatGridItemBase {\r\n readonly type: CategorizedPropertyTypes;\r\n readonly derivedRecord: PropertyRecord;\r\n readonly parentCategorySelectionKey: string;\r\n readonly parentSelectionKey: string;\r\n\r\n getChildren(): CategorizedPropertyItem[];\r\n}\r\n\r\n/**\r\n * Type which describes immutable [[GridCategoryItem]] or [[CategorizedPropertyItem]]\r\n * @beta\r\n */\r\nexport type FlatGridItem = CategorizedPropertyItem | GridCategoryItem;\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MutableCategorizedArrayProperty.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAM/F,OAAO,EAAE,gBAAgB,EAAyD,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAG5I;;;GAGG;AACH,MAAM,OAAO,+BAAgC,SAAQ,0BAA0B;IAI7E,YACE,MAAsB,EACtB,kBAA0B,EAC1B,0BAAkC,EAClC,KAAa,EACb,eAAwC,EACxC,YAAqB,EACrB,oBAA6B;QAE7B,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;QACjI,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC;YACzC,OAAO,eAAe,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,0BAA0B,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAClJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,IAAI;QACb,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAChC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEe,qBAAqB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACnF,CAAC;IAEe,qBAAqB;QACnC,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACzC,wFAAwF;YACxF,qCAAqC;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;SAClG;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEe,4BAA4B;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjG,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\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { FlatGridItemType, IMutableCategorizedPropertyItem, IMutableFlatGridItem, MutableCategorizedProperty } from \"./MutableFlatGridItem\";\nimport { IMutableGridItemFactory } from \"./MutableGridItemFactory\";\n\n/**\n * Mutable wrapper object for PropertyRecord with array valueFormat which provides methods for working with and managing record children hierarchies.\n * @beta\n */\nexport class MutableCategorizedArrayProperty extends MutableCategorizedProperty implements IMutableCategorizedPropertyItem {\n private _renderLabel: boolean;\n private _children: IMutableCategorizedPropertyItem[];\n\n public constructor(\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n gridItemFactory: IMutableGridItemFactory,\n overrideName?: string,\n overrideDisplayLabel?: string,\n ) {\n super(FlatGridItemType.Array, record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\n this._renderLabel = !record.property.hideCompositePropertyLabel;\n const childrenDepth = depth + (this._renderLabel ? 1 : 0);\n this._children = record.getChildrenRecords().map((child, index) => {\n const newName = `${child.property.name}_${index}`;\n const newDisplayLabel = `[${index + 1}]`;\n return gridItemFactory.createCategorizedProperty(child, this.selectionKey, parentCategorySelectionKey, childrenDepth, newName, newDisplayLabel);\n });\n }\n\n public get type(): FlatGridItemType.Array {\n return FlatGridItemType.Array;\n }\n\n public getChildren(): IMutableCategorizedPropertyItem[] {\n return this._children;\n }\n\n public override getDescendantsAndSelf() {\n return this._renderLabel ? super.getDescendantsAndSelf() : this.getDescendants();\n }\n\n public override getVisibleDescendants(): IMutableFlatGridItem[] {\n const descendants: IMutableFlatGridItem[] = [];\n if (this.isExpanded || !this._renderLabel) {\n // always render children if not rendering the label, otherwise there's no way to expand\n // this item to make children visible\n this.getChildren().forEach((child) => descendants.push(...child.getVisibleDescendantsAndSelf()));\n }\n return descendants;\n }\n\n public override getVisibleDescendantsAndSelf() {\n return this._renderLabel ? super.getVisibleDescendantsAndSelf() : this.getVisibleDescendants();\n }\n}\n"]}
1
+ {"version":3,"file":"MutableCategorizedArrayProperty.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAM/F,OAAO,EAAE,gBAAgB,EAAyD,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAG5I;;;GAGG;AACH,MAAM,OAAO,+BAAgC,SAAQ,0BAA0B;IAI7E,YACE,MAAsB,EACtB,kBAA0B,EAC1B,0BAAkC,EAClC,KAAa,EACb,eAAwC,EACxC,YAAqB,EACrB,oBAA6B;QAE7B,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;QACjI,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC;YACzC,OAAO,eAAe,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,0BAA0B,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;QAClJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,IAAI;QACb,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAChC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEe,qBAAqB;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACnF,CAAC;IAEe,qBAAqB;QACnC,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACzC,wFAAwF;YACxF,qCAAqC;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;SAClG;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEe,4BAA4B;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjG,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { FlatGridItemType, IMutableCategorizedPropertyItem, IMutableFlatGridItem, MutableCategorizedProperty } from \"./MutableFlatGridItem\";\r\nimport { IMutableGridItemFactory } from \"./MutableGridItemFactory\";\r\n\r\n/**\r\n * Mutable wrapper object for PropertyRecord with array valueFormat which provides methods for working with and managing record children hierarchies.\r\n * @beta\r\n */\r\nexport class MutableCategorizedArrayProperty extends MutableCategorizedProperty implements IMutableCategorizedPropertyItem {\r\n private _renderLabel: boolean;\r\n private _children: IMutableCategorizedPropertyItem[];\r\n\r\n public constructor(\r\n record: PropertyRecord,\r\n parentSelectionKey: string,\r\n parentCategorySelectionKey: string,\r\n depth: number,\r\n gridItemFactory: IMutableGridItemFactory,\r\n overrideName?: string,\r\n overrideDisplayLabel?: string,\r\n ) {\r\n super(FlatGridItemType.Array, record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\r\n this._renderLabel = !record.property.hideCompositePropertyLabel;\r\n const childrenDepth = depth + (this._renderLabel ? 1 : 0);\r\n this._children = record.getChildrenRecords().map((child, index) => {\r\n const newName = `${child.property.name}_${index}`;\r\n const newDisplayLabel = `[${index + 1}]`;\r\n return gridItemFactory.createCategorizedProperty(child, this.selectionKey, parentCategorySelectionKey, childrenDepth, newName, newDisplayLabel);\r\n });\r\n }\r\n\r\n public get type(): FlatGridItemType.Array {\r\n return FlatGridItemType.Array;\r\n }\r\n\r\n public getChildren(): IMutableCategorizedPropertyItem[] {\r\n return this._children;\r\n }\r\n\r\n public override getDescendantsAndSelf() {\r\n return this._renderLabel ? super.getDescendantsAndSelf() : this.getDescendants();\r\n }\r\n\r\n public override getVisibleDescendants(): IMutableFlatGridItem[] {\r\n const descendants: IMutableFlatGridItem[] = [];\r\n if (this.isExpanded || !this._renderLabel) {\r\n // always render children if not rendering the label, otherwise there's no way to expand\r\n // this item to make children visible\r\n this.getChildren().forEach((child) => descendants.push(...child.getVisibleDescendantsAndSelf()));\r\n }\r\n return descendants;\r\n }\r\n\r\n public override getVisibleDescendantsAndSelf() {\r\n return this._renderLabel ? super.getVisibleDescendantsAndSelf() : this.getVisibleDescendants();\r\n }\r\n}\r\n"]}