@itwin/components-react 4.0.0-dev.13 → 4.0.0-dev.15

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 (459) hide show
  1. package/CHANGELOG.md +129 -1
  2. package/README.md +2 -2
  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/common/DateUtils.js.map +1 -1
  6. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  7. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  8. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  9. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  10. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  11. package/lib/cjs/components-react/common/Links.js.map +1 -1
  12. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  13. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  14. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  15. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  16. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +1 -0
  17. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  18. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +12 -1
  19. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  20. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  21. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  22. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  23. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  24. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  25. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  26. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  27. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  28. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  29. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  30. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  31. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  33. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  34. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  35. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  36. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  37. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  38. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  39. package/lib/cjs/components-react/datepicker/DatePicker.scss +176 -176
  40. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  41. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  42. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  43. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  44. package/lib/cjs/components-react/datepicker/TimeField.scss +76 -76
  45. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  46. package/lib/cjs/components-react/editors/BooleanEditor.scss +22 -22
  47. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  48. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +20 -20
  49. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  50. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  51. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  52. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  53. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  54. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  55. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  56. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  57. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  58. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  59. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  60. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  61. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  62. package/lib/cjs/components-react/editors/NumericInputEditor.scss +16 -16
  63. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  64. package/lib/cjs/components-react/editors/PopupButton.scss +116 -116
  65. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  66. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  67. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  68. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  69. package/lib/cjs/components-react/editors/TextEditor.scss +20 -20
  70. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  71. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  72. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  73. package/lib/cjs/components-react/editors/ToggleEditor.scss +23 -23
  74. package/lib/cjs/components-react/editors/variables.scss +7 -7
  75. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  76. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  77. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  78. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  79. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  80. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  81. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  82. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  83. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  84. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  85. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  86. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  87. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  88. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  89. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  90. package/lib/cjs/components-react/filtering/FilteringInput.scss +58 -58
  91. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  92. package/lib/cjs/components-react/filtering/ResultSelector.scss +68 -68
  93. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  94. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +75 -75
  95. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  96. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  97. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  98. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  99. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  100. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  101. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  102. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  103. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  104. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  105. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  106. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  107. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  108. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  109. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  110. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +104 -104
  111. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  112. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  113. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  114. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  115. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  116. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  117. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  118. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  120. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  121. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  122. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  123. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  124. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  125. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  126. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  127. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  128. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  129. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  130. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  131. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  132. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  133. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  134. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +73 -73
  135. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  136. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  137. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  138. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  139. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  140. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  141. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  142. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  143. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  144. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  145. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  146. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  147. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  148. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +2 -0
  149. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  150. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +2 -0
  151. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  152. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  153. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  154. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  155. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  156. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  157. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  158. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  159. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  160. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  161. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  162. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  163. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  164. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  165. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  166. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +20 -20
  167. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  168. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  169. package/lib/cjs/components-react/toolbar/Item.scss +91 -91
  170. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  171. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  172. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  173. package/lib/cjs/components-react/toolbar/Items.scss +96 -96
  174. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  175. package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
  176. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  177. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  178. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  179. package/lib/cjs/components-react/toolbar/PopupItem.scss +88 -88
  180. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  181. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  182. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  183. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  184. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  185. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  186. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  187. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  188. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  189. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  190. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  191. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  192. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  193. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +15 -15
  194. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  195. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +33 -33
  196. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  197. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  198. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  199. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  200. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  201. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  202. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  203. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  204. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  205. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  206. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  207. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  208. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  209. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  210. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  211. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  212. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  213. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  214. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  215. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  216. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  217. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  218. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  219. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  220. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  221. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  222. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +27 -27
  223. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  224. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  225. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  226. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  227. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  228. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  229. package/lib/cjs/components-react.js.map +1 -1
  230. package/lib/esm/components-react/UiComponents.js.map +1 -1
  231. package/lib/esm/components-react/_target.scss +9 -9
  232. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  233. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  234. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  235. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  236. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  237. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  238. package/lib/esm/components-react/common/Links.js.map +1 -1
  239. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  240. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  241. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  242. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  243. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +1 -0
  244. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  245. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +12 -1
  246. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  247. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  248. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  249. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  250. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  251. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  252. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  253. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  254. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  255. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  256. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  257. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  258. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  259. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  260. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  261. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  262. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  263. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  264. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  265. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  266. package/lib/esm/components-react/datepicker/DatePicker.scss +176 -176
  267. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  268. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  269. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  270. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  271. package/lib/esm/components-react/datepicker/TimeField.scss +76 -76
  272. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  273. package/lib/esm/components-react/editors/BooleanEditor.scss +22 -22
  274. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  275. package/lib/esm/components-react/editors/CustomNumberEditor.scss +20 -20
  276. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  277. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  278. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  279. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  280. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  281. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  282. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  283. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  284. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  285. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  286. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  287. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  288. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  289. package/lib/esm/components-react/editors/NumericInputEditor.scss +16 -16
  290. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  291. package/lib/esm/components-react/editors/PopupButton.scss +116 -116
  292. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  293. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  294. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  295. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  296. package/lib/esm/components-react/editors/TextEditor.scss +20 -20
  297. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  298. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  299. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  300. package/lib/esm/components-react/editors/ToggleEditor.scss +23 -23
  301. package/lib/esm/components-react/editors/variables.scss +7 -7
  302. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  303. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  304. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  305. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  306. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  307. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  308. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  309. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  310. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  311. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  312. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  313. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  314. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  315. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  316. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  317. package/lib/esm/components-react/filtering/FilteringInput.scss +58 -58
  318. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  319. package/lib/esm/components-react/filtering/ResultSelector.scss +68 -68
  320. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  321. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +75 -75
  322. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  323. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  324. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  325. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  326. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  327. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  328. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  329. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  330. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  331. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  332. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  333. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  334. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  335. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  336. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  337. package/lib/esm/components-react/properties/renderers/PropertyView.scss +104 -104
  338. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  339. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  340. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  341. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  342. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  343. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  344. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  345. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  346. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  347. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  348. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  349. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  350. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  351. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  352. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  353. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  354. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  355. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  356. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  357. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  358. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  359. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  360. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  361. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +73 -73
  362. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  363. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  364. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  365. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  366. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  367. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  368. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  369. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  370. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  371. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  372. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  373. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  374. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  375. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +2 -0
  376. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  377. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +2 -0
  378. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  379. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  380. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  381. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  382. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  383. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  384. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  385. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  386. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  387. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  388. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  389. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  390. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  391. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  392. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  393. package/lib/esm/components-react/selectable-content/SelectableContent.scss +20 -20
  394. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  395. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  396. package/lib/esm/components-react/toolbar/Item.scss +91 -91
  397. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  398. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  399. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  400. package/lib/esm/components-react/toolbar/Items.scss +96 -96
  401. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  402. package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
  403. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  404. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  405. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  406. package/lib/esm/components-react/toolbar/PopupItem.scss +88 -88
  407. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  408. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  409. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  410. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  411. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  412. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  413. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  414. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  415. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  416. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  417. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  418. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  419. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  420. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +15 -15
  421. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  422. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +33 -33
  423. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  424. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  425. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  426. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  427. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  428. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  429. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  430. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  431. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  432. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  433. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  434. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  435. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  436. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  437. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  438. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  439. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  440. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  441. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  442. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  443. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  444. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  445. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  446. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  447. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  448. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  449. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +27 -27
  450. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  451. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  452. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  453. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  454. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  455. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  456. package/lib/esm/components-react.js.map +1 -1
  457. package/lib/public/locales/en/UiComponents.json +139 -139
  458. package/package.json +16 -14
  459. package/ThirdPartyNotices.md +0 -31
@@ -1,74 +1,74 @@
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
-
8
- .components-property-grid-loader {
9
- position: relative;
10
- display: block;
11
- left: calc(50% - 24px);
12
- top: calc(50% - 24px);
13
- }
14
-
15
- .components-property-grid {
16
-
17
- .property-categories {
18
- @include uicore-expandable-blocks-list;
19
-
20
- display: grid;
21
- grid-row-gap: 6px;
22
- padding: 3px;
23
- }
24
-
25
- padding-top: 6px;
26
- padding-bottom: 6px;
27
-
28
- user-select: none;
29
- color: var(--iui-color-text);
30
- }
31
-
32
- .components-property-grid-wrapper {
33
- width: 100%;
34
- height: 100%;
35
- overflow-y: auto;
36
-
37
- @include uicore-touch-scrolling;
38
- @include uicore-scrollbar();
39
- }
40
-
41
- @mixin components-property-list {
42
- width: 100%;
43
-
44
- .components--selected,
45
- .components--selected:hover {
46
- background-color: var(--iui-color-background-accent-muted);
47
- outline: 1px solid var(--iui-color-border-accent);
48
- }
49
-
50
- .components--clickable:where(:not(.components--selected)) {
51
- cursor: pointer;
52
-
53
- &:hover {
54
- background: var(--iui-color-background-hover);
55
- }
56
- }
57
-
58
- .components--hoverable:hover {
59
- background-color: var(--iui-color-background-hover);
60
- }
61
- }
62
-
63
- .components-property-list--horizontal {
64
- @include components-property-list;
65
-
66
- display: grid;
67
- grid-row-gap: 1px; // A gap of 10px is too wasteful
68
- overflow: hidden;
69
- }
70
-
71
- .components-property-list--vertical {
72
- @include components-property-list;
73
- // margin-top: -13px;
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
+
8
+ .components-property-grid-loader {
9
+ position: relative;
10
+ display: block;
11
+ left: calc(50% - 24px);
12
+ top: calc(50% - 24px);
13
+ }
14
+
15
+ .components-property-grid {
16
+
17
+ .property-categories {
18
+ @include uicore-expandable-blocks-list;
19
+
20
+ display: grid;
21
+ grid-row-gap: 6px;
22
+ padding: 3px;
23
+ }
24
+
25
+ padding-top: 6px;
26
+ padding-bottom: 6px;
27
+
28
+ user-select: none;
29
+ color: var(--iui-color-text);
30
+ }
31
+
32
+ .components-property-grid-wrapper {
33
+ width: 100%;
34
+ height: 100%;
35
+ overflow-y: auto;
36
+
37
+ @include uicore-touch-scrolling;
38
+ @include uicore-scrollbar();
39
+ }
40
+
41
+ @mixin components-property-list {
42
+ width: 100%;
43
+
44
+ .components--selected,
45
+ .components--selected:hover {
46
+ background-color: var(--iui-color-background-accent-muted);
47
+ outline: 1px solid var(--iui-color-border-accent);
48
+ }
49
+
50
+ .components--clickable:where(:not(.components--selected)) {
51
+ cursor: pointer;
52
+
53
+ &:hover {
54
+ background: var(--iui-color-background-hover);
55
+ }
56
+ }
57
+
58
+ .components--hoverable:hover {
59
+ background-color: var(--iui-color-background-hover);
60
+ }
61
+ }
62
+
63
+ .components-property-list--horizontal {
64
+ @include components-property-list;
65
+
66
+ display: grid;
67
+ grid-row-gap: 1px; // A gap of 10px is too wasteful
68
+ overflow: hidden;
69
+ }
70
+
71
+ .components-property-list--vertical {
72
+ @include components-property-list;
73
+ // margin-top: -13px;
74
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridCommons.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyGridCommons.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,kDAA6D;AAE7D,8CAAgD;AAyFhD,gBAAgB;AAChB,MAAa,mBAAmB;IACvB,MAAM,CAAC,qBAAqB,CAAC,KAAa,EAAE,oBAAkC,EAAE,kBAA4B,EAAE,6BAAsC;QACzJ,MAAM,WAAW,GAAG,oBAAoB,IAAI,wBAAW,CAAC,UAAU,CAAC;QACnE,IAAI,kBAAkB;YACpB,OAAO,WAAW,CAAC;QAErB,6BAA6B,GAAG,6BAA6B,IAAI,GAAG,CAAC;QACrE,wCAAwC;QACxC,IAAI,KAAK,GAAG,6BAA6B;YACvC,OAAO,wBAAW,CAAC,QAAQ,CAAC;QAE9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,IAAY;QACxC,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YACxB,OAAO;QACT,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,uBAAuB;QACvB,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,EAAE;YAC9B,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK;gBAC9D,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;iBAC3B;gBACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACxD,IAAI,UAAU;oBACZ,UAAU,CAAC,KAAK,EAAE,CAAC;aACtB;SACF;IACH,CAAC;;AAED;;;GAGG;AACW,4BAAQ,GAAG,CAAC,KAAa,EAAyC,EAAE;IAChF,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAA8C,EAAE,EAAE;QAC9E,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA3CS,kDAAmB","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 { CommonProps, Orientation } from \"@itwin/core-react\";\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\nimport { matchLinks } from \"../../common/Links\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\nimport { PropertyCategory } from \"../PropertyDataProvider\";\n\n/** Arguments for the Property Editing event callback\n * @public\n */\nexport interface PropertyEditingArgs {\n /** PropertyRecord being edited */\n propertyRecord: PropertyRecord;\n /** Unique key of currently edited property */\n propertyKey?: string;\n}\n\n/** Arguments for `PropertyGridProps.onPropertyContextMenu` callback\n * @public\n */\nexport interface PropertyGridContextMenuArgs {\n /** PropertyRecord being edited */\n propertyRecord: PropertyRecord;\n /** An event which caused the context menu callback */\n event: React.MouseEvent;\n}\n\n/**\n * Common Property Grid Props to be used by Property Grid Variants\n * @public\n */\nexport interface CommonPropertyGridProps extends CommonProps {\n /** Grid orientation. When not defined, it is chosen automatically based on width of the grid. */\n orientation?: Orientation;\n\n /** Enables/disables property hovering effect */\n isPropertyHoverEnabled?: boolean;\n\n /** Called to show a context menu when properties are right-clicked */\n onPropertyContextMenu?: (args: PropertyGridContextMenuArgs) => void;\n\n /** Enables/disables property selection */\n isPropertySelectionEnabled?: boolean;\n /** Enables/disables property selection with right click */\n isPropertySelectionOnRightClickEnabled?: boolean;\n /** Callback to property selection */\n onPropertySelectionChanged?: (property: PropertyRecord) => void;\n\n /** Enables/disables property editing */\n isPropertyEditingEnabled?: boolean;\n /** Callback for when properties are being edited */\n onPropertyEditing?: (args: PropertyEditingArgs, category: PropertyCategory) => void;\n /** Callback for when properties are updated */\n onPropertyUpdated?: (args: PropertyUpdatedArgs, category: PropertyCategory) => Promise<boolean>;\n\n /** Custom property value renderer manager */\n propertyValueRendererManager?: PropertyValueRendererManager;\n\n /** Indicates whether the orientation is fixed and does not auto-switch to Vertical when the width is too narrow. Defaults to false. */\n isOrientationFixed?: boolean;\n /** The minimum width before the auto-switch to Vertical when the width is too narrow. Defaults to 300. */\n horizontalOrientationMinWidth?: number;\n\n /** Minimum allowed label column width, after which resizing stops */\n minLabelWidth?: number;\n /** Minimum allowed value column width, after which resizing stops */\n minValueWidth?: number;\n /** Fixed action button column width */\n actionButtonWidth?: number;\n\n /**\n * Array of action button renderers. Each renderer is called for each property and can decide\n * to render an action button for the property or not.\n */\n actionButtonRenderers?: ActionButtonRenderer[];\n}\n\n/**\n * Properties for highlighting text in property grid.\n * @public\n */\nexport interface PropertyGridContentHighlightProps extends HighlightingComponentProps {\n /**\n * Specifies what the highlighting should be applied on - category labels, property labels and / or property values.\n * Defaults to \"nowhere\".\n */\n filteredTypes?: FilteredType[];\n}\n\n/** @internal */\nexport class PropertyGridCommons {\n public static getCurrentOrientation(width: number, preferredOrientation?: Orientation, isOrientationFixed?: boolean, horizontalOrientationMinWidth?: number): Orientation {\n const orientation = preferredOrientation ?? Orientation.Horizontal;\n if (isOrientationFixed)\n return orientation;\n\n horizontalOrientationMinWidth = horizontalOrientationMinWidth ?? 300;\n // Switch to Vertical if width too small\n if (width < horizontalOrientationMinWidth)\n return Orientation.Vertical;\n\n return orientation;\n }\n\n /**\n * Helper method to handle link clicks\n * @internal\n */\n public static handleLinkClick(text: string) {\n const linksArray = matchLinks(text);\n if (linksArray.length <= 0)\n return;\n const foundLink = linksArray[0];\n // istanbul ignore else\n if (foundLink && foundLink.url) {\n if (foundLink.schema === \"mailto:\" || foundLink.schema === \"pw:\")\n location.href = foundLink.url;\n else {\n const windowOpen = window.open(foundLink.url, \"_blank\");\n if (windowOpen)\n windowOpen.focus();\n }\n }\n }\n\n /**\n * A helper method to get links from string.\n * @internal\n */\n public static getLinks = (value: string): Array<{ start: number, end: number }> => {\n return matchLinks(value).map((linkInfo: { index: number, lastIndex: number }) => {\n return { start: linkInfo.index, end: linkInfo.lastIndex };\n });\n };\n}\n"]}
1
+ {"version":3,"file":"PropertyGridCommons.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyGridCommons.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,kDAA6D;AAE7D,8CAAgD;AAyFhD,gBAAgB;AAChB,MAAa,mBAAmB;IACvB,MAAM,CAAC,qBAAqB,CAAC,KAAa,EAAE,oBAAkC,EAAE,kBAA4B,EAAE,6BAAsC;QACzJ,MAAM,WAAW,GAAG,oBAAoB,IAAI,wBAAW,CAAC,UAAU,CAAC;QACnE,IAAI,kBAAkB;YACpB,OAAO,WAAW,CAAC;QAErB,6BAA6B,GAAG,6BAA6B,IAAI,GAAG,CAAC;QACrE,wCAAwC;QACxC,IAAI,KAAK,GAAG,6BAA6B;YACvC,OAAO,wBAAW,CAAC,QAAQ,CAAC;QAE9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,IAAY;QACxC,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;QACpC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;YACxB,OAAO;QACT,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAChC,uBAAuB;QACvB,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,EAAE;YAC9B,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK;gBAC9D,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC;iBAC3B;gBACH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACxD,IAAI,UAAU;oBACZ,UAAU,CAAC,KAAK,EAAE,CAAC;aACtB;SACF;IACH,CAAC;;AAED;;;GAGG;AACW,4BAAQ,GAAG,CAAC,KAAa,EAAyC,EAAE;IAChF,OAAO,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAA8C,EAAE,EAAE;QAC9E,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA3CS,kDAAmB","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 { CommonProps, Orientation } from \"@itwin/core-react\";\r\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\r\nimport { matchLinks } from \"../../common/Links\";\r\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\r\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\r\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\r\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\r\nimport { PropertyCategory } from \"../PropertyDataProvider\";\r\n\r\n/** Arguments for the Property Editing event callback\r\n * @public\r\n */\r\nexport interface PropertyEditingArgs {\r\n /** PropertyRecord being edited */\r\n propertyRecord: PropertyRecord;\r\n /** Unique key of currently edited property */\r\n propertyKey?: string;\r\n}\r\n\r\n/** Arguments for `PropertyGridProps.onPropertyContextMenu` callback\r\n * @public\r\n */\r\nexport interface PropertyGridContextMenuArgs {\r\n /** PropertyRecord being edited */\r\n propertyRecord: PropertyRecord;\r\n /** An event which caused the context menu callback */\r\n event: React.MouseEvent;\r\n}\r\n\r\n/**\r\n * Common Property Grid Props to be used by Property Grid Variants\r\n * @public\r\n */\r\nexport interface CommonPropertyGridProps extends CommonProps {\r\n /** Grid orientation. When not defined, it is chosen automatically based on width of the grid. */\r\n orientation?: Orientation;\r\n\r\n /** Enables/disables property hovering effect */\r\n isPropertyHoverEnabled?: boolean;\r\n\r\n /** Called to show a context menu when properties are right-clicked */\r\n onPropertyContextMenu?: (args: PropertyGridContextMenuArgs) => void;\r\n\r\n /** Enables/disables property selection */\r\n isPropertySelectionEnabled?: boolean;\r\n /** Enables/disables property selection with right click */\r\n isPropertySelectionOnRightClickEnabled?: boolean;\r\n /** Callback to property selection */\r\n onPropertySelectionChanged?: (property: PropertyRecord) => void;\r\n\r\n /** Enables/disables property editing */\r\n isPropertyEditingEnabled?: boolean;\r\n /** Callback for when properties are being edited */\r\n onPropertyEditing?: (args: PropertyEditingArgs, category: PropertyCategory) => void;\r\n /** Callback for when properties are updated */\r\n onPropertyUpdated?: (args: PropertyUpdatedArgs, category: PropertyCategory) => Promise<boolean>;\r\n\r\n /** Custom property value renderer manager */\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n\r\n /** Indicates whether the orientation is fixed and does not auto-switch to Vertical when the width is too narrow. Defaults to false. */\r\n isOrientationFixed?: boolean;\r\n /** The minimum width before the auto-switch to Vertical when the width is too narrow. Defaults to 300. */\r\n horizontalOrientationMinWidth?: number;\r\n\r\n /** Minimum allowed label column width, after which resizing stops */\r\n minLabelWidth?: number;\r\n /** Minimum allowed value column width, after which resizing stops */\r\n minValueWidth?: number;\r\n /** Fixed action button column width */\r\n actionButtonWidth?: number;\r\n\r\n /**\r\n * Array of action button renderers. Each renderer is called for each property and can decide\r\n * to render an action button for the property or not.\r\n */\r\n actionButtonRenderers?: ActionButtonRenderer[];\r\n}\r\n\r\n/**\r\n * Properties for highlighting text in property grid.\r\n * @public\r\n */\r\nexport interface PropertyGridContentHighlightProps extends HighlightingComponentProps {\r\n /**\r\n * Specifies what the highlighting should be applied on - category labels, property labels and / or property values.\r\n * Defaults to \"nowhere\".\r\n */\r\n filteredTypes?: FilteredType[];\r\n}\r\n\r\n/** @internal */\r\nexport class PropertyGridCommons {\r\n public static getCurrentOrientation(width: number, preferredOrientation?: Orientation, isOrientationFixed?: boolean, horizontalOrientationMinWidth?: number): Orientation {\r\n const orientation = preferredOrientation ?? Orientation.Horizontal;\r\n if (isOrientationFixed)\r\n return orientation;\r\n\r\n horizontalOrientationMinWidth = horizontalOrientationMinWidth ?? 300;\r\n // Switch to Vertical if width too small\r\n if (width < horizontalOrientationMinWidth)\r\n return Orientation.Vertical;\r\n\r\n return orientation;\r\n }\r\n\r\n /**\r\n * Helper method to handle link clicks\r\n * @internal\r\n */\r\n public static handleLinkClick(text: string) {\r\n const linksArray = matchLinks(text);\r\n if (linksArray.length <= 0)\r\n return;\r\n const foundLink = linksArray[0];\r\n // istanbul ignore else\r\n if (foundLink && foundLink.url) {\r\n if (foundLink.schema === \"mailto:\" || foundLink.schema === \"pw:\")\r\n location.href = foundLink.url;\r\n else {\r\n const windowOpen = window.open(foundLink.url, \"_blank\");\r\n if (windowOpen)\r\n windowOpen.focus();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * A helper method to get links from string.\r\n * @internal\r\n */\r\n public static getLinks = (value: string): Array<{ start: number, end: number }> => {\r\n return matchLinks(value).map((linkInfo: { index: number, lastIndex: number }) => {\r\n return { start: linkInfo.index, end: linkInfo.lastIndex };\r\n });\r\n };\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridEventsRelatedPropsSupplier.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport \"./PropertyGrid.scss\";\nimport * as React from \"react\";\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { PropertyCategory } from \"../PropertyDataProvider\";\nimport { CommonPropertyGridProps } from \"./PropertyGridCommons\";\nimport { PropertyListProps } from \"./PropertyList\";\n\n/** @internal */\nexport type PropertyGridEventsRelatedProps = Pick<PropertyListProps, \"onPropertyClicked\" | \"onPropertyRightClicked\" |\n\"onPropertyContextMenu\" | \"onEditCommit\" | \"onEditCancel\" | \"selectedPropertyKey\" | \"editingPropertyKey\"> &\nPick<CommonPropertyGridProps, \"isPropertySelectionOnRightClickEnabled\" | \"isPropertyEditingEnabled\"> &\nRequired<Pick<CommonPropertyGridProps, \"isPropertyHoverEnabled\" | \"isPropertySelectionEnabled\">>;\n\n/** Properties for [[PropertyGridEventsRelatedPropsSupplier]] React component\n * @internal\n */\nexport type PropertyGridEventsRelatedPropsSupplierProps = Pick<CommonPropertyGridProps, \"onPropertyContextMenu\" |\n\"isPropertySelectionOnRightClickEnabled\" | \"isPropertySelectionOnRightClickEnabled\" |\n\"onPropertySelectionChanged\" | \"isPropertyEditingEnabled\" | \"onPropertyUpdated\"> &\nRequired<Pick<CommonPropertyGridProps, \"isPropertyHoverEnabled\" | \"isPropertySelectionEnabled\">> & {\n children: (context: PropertyGridEventsRelatedProps) => React.ReactNode;\n};\n\n/** State of [[PropertyGridEventsRelatedPropsSupplier]] React component\n * @internal\n */\ninterface PropertyGridEventsRelatedPropsSupplierState {\n /** Unique key of currently selected property */\n selectedPropertyKey?: string;\n /** Unique key of currently edited property */\n editingPropertyKey?: string;\n}\n\n/** PropertyGridEventsRelatedPropsSupplier React component.\n * @internal\n */\nexport class PropertyGridEventsRelatedPropsSupplier extends React.Component<PropertyGridEventsRelatedPropsSupplierProps, PropertyGridEventsRelatedPropsSupplierState> {\n /** @internal */\n constructor(props: PropertyGridEventsRelatedPropsSupplierProps) {\n super(props);\n this.state = {};\n }\n\n private _isClickSupported() {\n return this.props.isPropertySelectionEnabled || this.props.isPropertyEditingEnabled;\n }\n\n private _isRightClickSupported() {\n return this.props.isPropertySelectionOnRightClickEnabled;\n }\n\n private _onPropertyRightClicked = (property: PropertyRecord, key?: string) => {\n // istanbul ignore else\n if (this._isRightClickSupported())\n this.onEnabledPropertyRightClicked(property, key);\n };\n\n private _onPropertyClicked = (property: PropertyRecord, key?: string) => {\n // istanbul ignore else\n if (this._isClickSupported())\n this.onEnabledPropertyLeftClicked(property, key);\n };\n\n private _onPropertyContextMenu = (property: PropertyRecord, e: React.MouseEvent) => {\n if (this.props.onPropertyContextMenu) {\n this.props.onPropertyContextMenu({ propertyRecord: property, event: e });\n }\n };\n\n private _onEditCommit = async (args: PropertyUpdatedArgs, category: PropertyCategory) => {\n // istanbul ignore else\n if (this.props.onPropertyUpdated) {\n await this.props.onPropertyUpdated(args, category);\n this.setState({ editingPropertyKey: undefined });\n }\n };\n\n private _onEditCancel = () => {\n this.setState({ editingPropertyKey: undefined });\n };\n\n private onEnabledPropertyRightClicked(property: PropertyRecord, key: string | undefined) {\n let selectedPropertyKey = this.state.selectedPropertyKey;\n let editingPropertyKey = this.state.editingPropertyKey;\n\n editingPropertyKey = undefined;\n if (selectedPropertyKey !== key)\n selectedPropertyKey = key;\n\n if (this.props.onPropertySelectionChanged)\n this.props.onPropertySelectionChanged(property);\n\n this.setState({ selectedPropertyKey, editingPropertyKey });\n }\n\n private onEnabledPropertyLeftClicked(property: PropertyRecord, key: string | undefined) {\n let selectedPropertyKey = this.state.selectedPropertyKey;\n let editingPropertyKey = this.state.editingPropertyKey;\n\n const isValuePrimitive = property.value.valueFormat === PropertyValueFormat.Primitive;\n const isEditingEnabled = this.props.isPropertyEditingEnabled;\n const isSelectionEnabled = this.props.isPropertySelectionEnabled;\n\n if (isEditingEnabled && isValuePrimitive) {\n // Deselect editing key only if another selection was made\n editingPropertyKey = isSelectionEnabled && selectedPropertyKey !== key ? undefined : key;\n }\n\n if (editingPropertyKey === key) {\n this.setState({ editingPropertyKey });\n return;\n }\n\n // Select/Deselect\n selectedPropertyKey = selectedPropertyKey !== key ? key : undefined;\n\n if (this.props.onPropertySelectionChanged)\n this.props.onPropertySelectionChanged(property);\n\n this.setState({ selectedPropertyKey, editingPropertyKey });\n }\n\n /** @internal */\n public override render() {\n const renderContext: PropertyGridEventsRelatedProps = {\n isPropertyHoverEnabled: this.props.isPropertyHoverEnabled,\n isPropertySelectionEnabled: this.props.isPropertySelectionEnabled,\n isPropertySelectionOnRightClickEnabled: this.props.isPropertySelectionOnRightClickEnabled,\n isPropertyEditingEnabled: this.props.isPropertyEditingEnabled,\n selectedPropertyKey: this.state.selectedPropertyKey,\n editingPropertyKey: this.state.editingPropertyKey,\n onEditCommit: this._onEditCommit,\n onEditCancel: this._onEditCancel,\n onPropertyClicked: this._isClickSupported() ? this._onPropertyClicked : undefined,\n onPropertyRightClicked: this._isRightClickSupported() ? this._onPropertyRightClicked : undefined,\n onPropertyContextMenu: this._onPropertyContextMenu,\n };\n\n return (\n <React.Fragment>\n {this.props.children(renderContext)}\n </React.Fragment>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"PropertyGridEventsRelatedPropsSupplier.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport \"./PropertyGrid.scss\";\r\nimport * as React from \"react\";\r\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\r\nimport { PropertyCategory } from \"../PropertyDataProvider\";\r\nimport { CommonPropertyGridProps } from \"./PropertyGridCommons\";\r\nimport { PropertyListProps } from \"./PropertyList\";\r\n\r\n/** @internal */\r\nexport type PropertyGridEventsRelatedProps = Pick<PropertyListProps, \"onPropertyClicked\" | \"onPropertyRightClicked\" |\r\n\"onPropertyContextMenu\" | \"onEditCommit\" | \"onEditCancel\" | \"selectedPropertyKey\" | \"editingPropertyKey\"> &\r\nPick<CommonPropertyGridProps, \"isPropertySelectionOnRightClickEnabled\" | \"isPropertyEditingEnabled\"> &\r\nRequired<Pick<CommonPropertyGridProps, \"isPropertyHoverEnabled\" | \"isPropertySelectionEnabled\">>;\r\n\r\n/** Properties for [[PropertyGridEventsRelatedPropsSupplier]] React component\r\n * @internal\r\n */\r\nexport type PropertyGridEventsRelatedPropsSupplierProps = Pick<CommonPropertyGridProps, \"onPropertyContextMenu\" |\r\n\"isPropertySelectionOnRightClickEnabled\" | \"isPropertySelectionOnRightClickEnabled\" |\r\n\"onPropertySelectionChanged\" | \"isPropertyEditingEnabled\" | \"onPropertyUpdated\"> &\r\nRequired<Pick<CommonPropertyGridProps, \"isPropertyHoverEnabled\" | \"isPropertySelectionEnabled\">> & {\r\n children: (context: PropertyGridEventsRelatedProps) => React.ReactNode;\r\n};\r\n\r\n/** State of [[PropertyGridEventsRelatedPropsSupplier]] React component\r\n * @internal\r\n */\r\ninterface PropertyGridEventsRelatedPropsSupplierState {\r\n /** Unique key of currently selected property */\r\n selectedPropertyKey?: string;\r\n /** Unique key of currently edited property */\r\n editingPropertyKey?: string;\r\n}\r\n\r\n/** PropertyGridEventsRelatedPropsSupplier React component.\r\n * @internal\r\n */\r\nexport class PropertyGridEventsRelatedPropsSupplier extends React.Component<PropertyGridEventsRelatedPropsSupplierProps, PropertyGridEventsRelatedPropsSupplierState> {\r\n /** @internal */\r\n constructor(props: PropertyGridEventsRelatedPropsSupplierProps) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n private _isClickSupported() {\r\n return this.props.isPropertySelectionEnabled || this.props.isPropertyEditingEnabled;\r\n }\r\n\r\n private _isRightClickSupported() {\r\n return this.props.isPropertySelectionOnRightClickEnabled;\r\n }\r\n\r\n private _onPropertyRightClicked = (property: PropertyRecord, key?: string) => {\r\n // istanbul ignore else\r\n if (this._isRightClickSupported())\r\n this.onEnabledPropertyRightClicked(property, key);\r\n };\r\n\r\n private _onPropertyClicked = (property: PropertyRecord, key?: string) => {\r\n // istanbul ignore else\r\n if (this._isClickSupported())\r\n this.onEnabledPropertyLeftClicked(property, key);\r\n };\r\n\r\n private _onPropertyContextMenu = (property: PropertyRecord, e: React.MouseEvent) => {\r\n if (this.props.onPropertyContextMenu) {\r\n this.props.onPropertyContextMenu({ propertyRecord: property, event: e });\r\n }\r\n };\r\n\r\n private _onEditCommit = async (args: PropertyUpdatedArgs, category: PropertyCategory) => {\r\n // istanbul ignore else\r\n if (this.props.onPropertyUpdated) {\r\n await this.props.onPropertyUpdated(args, category);\r\n this.setState({ editingPropertyKey: undefined });\r\n }\r\n };\r\n\r\n private _onEditCancel = () => {\r\n this.setState({ editingPropertyKey: undefined });\r\n };\r\n\r\n private onEnabledPropertyRightClicked(property: PropertyRecord, key: string | undefined) {\r\n let selectedPropertyKey = this.state.selectedPropertyKey;\r\n let editingPropertyKey = this.state.editingPropertyKey;\r\n\r\n editingPropertyKey = undefined;\r\n if (selectedPropertyKey !== key)\r\n selectedPropertyKey = key;\r\n\r\n if (this.props.onPropertySelectionChanged)\r\n this.props.onPropertySelectionChanged(property);\r\n\r\n this.setState({ selectedPropertyKey, editingPropertyKey });\r\n }\r\n\r\n private onEnabledPropertyLeftClicked(property: PropertyRecord, key: string | undefined) {\r\n let selectedPropertyKey = this.state.selectedPropertyKey;\r\n let editingPropertyKey = this.state.editingPropertyKey;\r\n\r\n const isValuePrimitive = property.value.valueFormat === PropertyValueFormat.Primitive;\r\n const isEditingEnabled = this.props.isPropertyEditingEnabled;\r\n const isSelectionEnabled = this.props.isPropertySelectionEnabled;\r\n\r\n if (isEditingEnabled && isValuePrimitive) {\r\n // Deselect editing key only if another selection was made\r\n editingPropertyKey = isSelectionEnabled && selectedPropertyKey !== key ? undefined : key;\r\n }\r\n\r\n if (editingPropertyKey === key) {\r\n this.setState({ editingPropertyKey });\r\n return;\r\n }\r\n\r\n // Select/Deselect\r\n selectedPropertyKey = selectedPropertyKey !== key ? key : undefined;\r\n\r\n if (this.props.onPropertySelectionChanged)\r\n this.props.onPropertySelectionChanged(property);\r\n\r\n this.setState({ selectedPropertyKey, editingPropertyKey });\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n const renderContext: PropertyGridEventsRelatedProps = {\r\n isPropertyHoverEnabled: this.props.isPropertyHoverEnabled,\r\n isPropertySelectionEnabled: this.props.isPropertySelectionEnabled,\r\n isPropertySelectionOnRightClickEnabled: this.props.isPropertySelectionOnRightClickEnabled,\r\n isPropertyEditingEnabled: this.props.isPropertyEditingEnabled,\r\n selectedPropertyKey: this.state.selectedPropertyKey,\r\n editingPropertyKey: this.state.editingPropertyKey,\r\n onEditCommit: this._onEditCommit,\r\n onEditCancel: this._onEditCancel,\r\n onPropertyClicked: this._isClickSupported() ? this._onPropertyClicked : undefined,\r\n onPropertyRightClicked: this._isRightClickSupported() ? this._onPropertyRightClicked : undefined,\r\n onPropertyContextMenu: this._onPropertyContextMenu,\r\n };\r\n\r\n return (\r\n <React.Fragment>\r\n {this.props.children(renderContext)}\r\n </React.Fragment>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyList.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyList.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { CommonProps, Orientation, RatioChangeResult } from \"@itwin/core-react\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\nimport { PropertyGridColumnInfo } from \"../../properties/renderers/PropertyGridColumns\";\nimport { PropertyRenderer } from \"../../properties/renderers/PropertyRenderer\";\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\nimport { PropertyCategory } from \"../PropertyDataProvider\";\n\n/** Properties of [[PropertyList]] React component\n * @public\n */\nexport interface PropertyListProps extends CommonProps {\n orientation: Orientation;\n width: number;\n category?: PropertyCategory;\n properties: PropertyRecord[];\n selectedPropertyKey?: string;\n onPropertyClicked?: (property: PropertyRecord, key?: string) => void;\n onPropertyRightClicked?: (property: PropertyRecord, key?: string) => void;\n onPropertyContextMenu?: (property: PropertyRecord, e: React.MouseEvent) => void;\n columnRatio?: number;\n /** Callback to column ratio changed event */\n onColumnChanged?: (ratio: number) => void | RatioChangeResult;\n propertyValueRendererManager?: PropertyValueRendererManager;\n editingPropertyKey?: string;\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\n onEditCancel?: () => void;\n /** Enables/disables property hovering effect */\n isPropertyHoverEnabled?: boolean;\n /** Enables/disables property selection */\n isPropertySelectionEnabled?: boolean;\n /** Enables/disables property right click selection */\n isPropertyRightClickSelectionEnabled?: boolean;\n /** Array of action button renderers */\n actionButtonRenderers?: ActionButtonRenderer[];\n /** Is resize handle hovered */\n isResizeHandleHovered?: boolean;\n /** Callback to hover event change */\n onResizeHandleHoverChanged?: (isHovered: boolean) => void;\n /** Is resize handle being dragged */\n isResizeHandleBeingDragged?: boolean;\n /** Callback to drag event change */\n onResizeHandleDragChanged?: (isDragStarted: boolean) => void;\n /** Information for styling property grid columns */\n columnInfo?: PropertyGridColumnInfo;\n}\n\n/**\n * Get unique key for property record\n * @internal\n */\nexport function getPropertyKey(propertyCategory: PropertyCategory, propertyRecord: PropertyRecord) {\n return propertyCategory.name + propertyRecord.property.name;\n}\n\n/** A React component that renders multiple properties within a category as a list.\n * @public\n */\nexport class PropertyList extends React.Component<PropertyListProps> {\n\n constructor(props: PropertyListProps) {\n super(props);\n }\n\n private _listRef = React.createRef<HTMLDivElement>();\n\n private _onEditCommit = (args: PropertyUpdatedArgs) => {\n // istanbul ignore else\n if (this.props.onEditCommit && this.props.category)\n this.props.onEditCommit(args, this.props.category);\n };\n\n /** @internal */\n public override render() {\n const propertyListClassName = classnames(\n (this.props.orientation === Orientation.Horizontal) ? \"components-property-list--horizontal\" : \"components-property-list--vertical\",\n this.props.className,\n );\n\n return (\n <div className={propertyListClassName} style={this.props.style} ref={this._listRef}>\n {this.props.properties.map((propertyRecord: PropertyRecord) => {\n const key = this.props.category ? getPropertyKey(this.props.category, propertyRecord) : propertyRecord.property.name;\n return (\n <PropertyRenderer\n key={key}\n uniqueKey={key}\n isHoverable={this.props.isPropertyHoverEnabled}\n isSelectable={this.props.isPropertySelectionEnabled}\n isSelected={key === this.props.selectedPropertyKey}\n propertyRecord={propertyRecord}\n orientation={this.props.orientation}\n onClick={propertyRecord.value.valueFormat === PropertyValueFormat.Primitive ? this.props.onPropertyClicked : undefined}\n onRightClick={propertyRecord.value.valueFormat === PropertyValueFormat.Primitive ? this.props.onPropertyRightClicked : undefined}\n onContextMenu={this.props.onPropertyContextMenu}\n columnRatio={this.props.columnRatio}\n onColumnRatioChanged={this.props.onColumnChanged}\n propertyValueRendererManager={this.props.propertyValueRendererManager}\n isEditing={key === this.props.editingPropertyKey}\n onEditCommit={this._onEditCommit}\n onEditCancel={this.props.onEditCancel}\n width={this.props.width}\n actionButtonRenderers={this.props.actionButtonRenderers}\n isResizeHandleHovered={this.props.isResizeHandleHovered}\n onResizeHandleHoverChanged={this.props.onResizeHandleHoverChanged}\n isResizeHandleBeingDragged={this.props.isResizeHandleBeingDragged}\n onResizeHandleDragChanged={this.props.onResizeHandleDragChanged}\n columnInfo={this.props.columnInfo}\n />);\n })}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"PropertyList.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyList.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, Orientation, RatioChangeResult } from \"@itwin/core-react\";\r\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\r\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\r\nimport { PropertyGridColumnInfo } from \"../../properties/renderers/PropertyGridColumns\";\r\nimport { PropertyRenderer } from \"../../properties/renderers/PropertyRenderer\";\r\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\r\nimport { PropertyCategory } from \"../PropertyDataProvider\";\r\n\r\n/** Properties of [[PropertyList]] React component\r\n * @public\r\n */\r\nexport interface PropertyListProps extends CommonProps {\r\n orientation: Orientation;\r\n width: number;\r\n category?: PropertyCategory;\r\n properties: PropertyRecord[];\r\n selectedPropertyKey?: string;\r\n onPropertyClicked?: (property: PropertyRecord, key?: string) => void;\r\n onPropertyRightClicked?: (property: PropertyRecord, key?: string) => void;\r\n onPropertyContextMenu?: (property: PropertyRecord, e: React.MouseEvent) => void;\r\n columnRatio?: number;\r\n /** Callback to column ratio changed event */\r\n onColumnChanged?: (ratio: number) => void | RatioChangeResult;\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n editingPropertyKey?: string;\r\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\r\n onEditCancel?: () => void;\r\n /** Enables/disables property hovering effect */\r\n isPropertyHoverEnabled?: boolean;\r\n /** Enables/disables property selection */\r\n isPropertySelectionEnabled?: boolean;\r\n /** Enables/disables property right click selection */\r\n isPropertyRightClickSelectionEnabled?: boolean;\r\n /** Array of action button renderers */\r\n actionButtonRenderers?: ActionButtonRenderer[];\r\n /** Is resize handle hovered */\r\n isResizeHandleHovered?: boolean;\r\n /** Callback to hover event change */\r\n onResizeHandleHoverChanged?: (isHovered: boolean) => void;\r\n /** Is resize handle being dragged */\r\n isResizeHandleBeingDragged?: boolean;\r\n /** Callback to drag event change */\r\n onResizeHandleDragChanged?: (isDragStarted: boolean) => void;\r\n /** Information for styling property grid columns */\r\n columnInfo?: PropertyGridColumnInfo;\r\n}\r\n\r\n/**\r\n * Get unique key for property record\r\n * @internal\r\n */\r\nexport function getPropertyKey(propertyCategory: PropertyCategory, propertyRecord: PropertyRecord) {\r\n return propertyCategory.name + propertyRecord.property.name;\r\n}\r\n\r\n/** A React component that renders multiple properties within a category as a list.\r\n * @public\r\n */\r\nexport class PropertyList extends React.Component<PropertyListProps> {\r\n\r\n constructor(props: PropertyListProps) {\r\n super(props);\r\n }\r\n\r\n private _listRef = React.createRef<HTMLDivElement>();\r\n\r\n private _onEditCommit = (args: PropertyUpdatedArgs) => {\r\n // istanbul ignore else\r\n if (this.props.onEditCommit && this.props.category)\r\n this.props.onEditCommit(args, this.props.category);\r\n };\r\n\r\n /** @internal */\r\n public override render() {\r\n const propertyListClassName = classnames(\r\n (this.props.orientation === Orientation.Horizontal) ? \"components-property-list--horizontal\" : \"components-property-list--vertical\",\r\n this.props.className,\r\n );\r\n\r\n return (\r\n <div className={propertyListClassName} style={this.props.style} ref={this._listRef}>\r\n {this.props.properties.map((propertyRecord: PropertyRecord) => {\r\n const key = this.props.category ? getPropertyKey(this.props.category, propertyRecord) : propertyRecord.property.name;\r\n return (\r\n <PropertyRenderer\r\n key={key}\r\n uniqueKey={key}\r\n isHoverable={this.props.isPropertyHoverEnabled}\r\n isSelectable={this.props.isPropertySelectionEnabled}\r\n isSelected={key === this.props.selectedPropertyKey}\r\n propertyRecord={propertyRecord}\r\n orientation={this.props.orientation}\r\n onClick={propertyRecord.value.valueFormat === PropertyValueFormat.Primitive ? this.props.onPropertyClicked : undefined}\r\n onRightClick={propertyRecord.value.valueFormat === PropertyValueFormat.Primitive ? this.props.onPropertyRightClicked : undefined}\r\n onContextMenu={this.props.onPropertyContextMenu}\r\n columnRatio={this.props.columnRatio}\r\n onColumnRatioChanged={this.props.onColumnChanged}\r\n propertyValueRendererManager={this.props.propertyValueRendererManager}\r\n isEditing={key === this.props.editingPropertyKey}\r\n onEditCommit={this._onEditCommit}\r\n onEditCancel={this.props.onEditCancel}\r\n width={this.props.width}\r\n actionButtonRenderers={this.props.actionButtonRenderers}\r\n isResizeHandleHovered={this.props.isResizeHandleHovered}\r\n onResizeHandleHoverChanged={this.props.onResizeHandleHoverChanged}\r\n isResizeHandleBeingDragged={this.props.isResizeHandleBeingDragged}\r\n onResizeHandleDragChanged={this.props.onResizeHandleDragChanged}\r\n columnInfo={this.props.columnInfo}\r\n />);\r\n })}\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedPropertyGrid.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/VirtualizedPropertyGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport \"./VirtualizedPropertyGrid.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { areEqual, ListChildComponentProps, VariableSizeList } from \"react-window\";\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Orientation, RatioChangeResult } from \"@itwin/core-react\";\nimport { createContextWithMandatoryProvider } from \"../../common/UseContextWithMandatoryProvider\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\nimport { PropertyGridColumnInfo } from \"../../properties/renderers/PropertyGridColumns\";\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\nimport { FlatGridItem, GridCategoryItem } from \"../internal/flat-items/FlatGridItem\";\nimport { MutableCategorizedPrimitiveProperty } from \"../internal/flat-items/MutableCategorizedPrimitiveProperty\";\nimport { MutableCustomGridCategory } from \"../internal/flat-items/MutableCustomGridCategory\";\nimport { FlatGridItemType } from \"../internal/flat-items/MutableFlatGridItem\";\nimport { MutableGridCategory } from \"../internal/flat-items/MutableGridCategory\";\nimport { FlatPropertyRenderer } from \"../internal/flat-properties/FlatPropertyRenderer\";\nimport { IPropertyGridEventHandler } from \"../internal/PropertyGridEventHandler\";\nimport { IPropertyGridModel } from \"../internal/PropertyGridModel\";\nimport { PropertyCategoryRendererManager, PropertyCategoryRendererProps } from \"../PropertyCategoryRendererManager\";\nimport { IPropertyDataProvider, PropertyCategory } from \"../PropertyDataProvider\";\nimport { ColumnResizingPropertyListPropsSupplier } from \"./ColumnResizingPropertyListPropsSupplier\";\nimport { FlatItemNestedBorderWrapper } from \"./FlatItemNestedBorderWrapper\";\nimport { PropertyCategoryBlock } from \"./PropertyCategoryBlock\";\nimport { CommonPropertyGridProps, PropertyGridCommons, PropertyGridContentHighlightProps } from \"./PropertyGridCommons\";\nimport { PropertyGridEventsRelatedPropsSupplier } from \"./PropertyGridEventsRelatedPropsSupplier\";\n\n/** Properties for [[VirtualizedPropertyGrid]] React component\n * @public\n */\nexport interface VirtualizedPropertyGridProps extends CommonPropertyGridProps {\n /** Property grid view model that defines what needs to be rendered */\n model: IPropertyGridModel;\n /** Handler of the events raised from the property grid */\n eventHandler: IPropertyGridEventHandler;\n /** Property data provider used by the property grid */\n dataProvider: IPropertyDataProvider;\n /** Properties for highlighting property data in the grid. */\n highlight?: PropertyGridContentHighlightProps;\n /** Custom property category renderer manager. Defaults to [[PropertyCategoryRendererManager.defaultManager]]. */\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\n /** Width of the property grid component. */\n width: number;\n /** Height of the property grid component. */\n height: number;\n}\n\n/** State of [[VirtualizedPropertyGrid]] React component\n * @internal\n */\ninterface VirtualizedPropertyGridState {\n /** List of PropertyGrid categories */\n gridItems: FlatGridItem[];\n /** Actual orientation used by the property grid */\n orientation: Orientation;\n /** Keeps record of dynamic node heights */\n dynamicNodeHeights: Map<string, number>;\n /** When resetting node height cache, marks the point at which heights have become stale */\n resetIndex: number;\n}\n\n/**\n * Context of [[VirtualizedPropertyGrid]] component.\n * @internal\n */\nexport interface PropertyGridInternalContext {\n gridItems: FlatGridItem[];\n gridEventHandler: IPropertyGridEventHandler;\n gridModel: IPropertyGridModel;\n\n style?: React.CSSProperties;\n className?: string;\n gridContext: VirtualizedPropertyGridContext;\n onItemHeightChanged: (index: number, key: string, height: number) => void;\n}\n\n/**\n * Context of the surrounding [VirtualizedPropertyGrid]($components-react) component.\n * @public\n */\nexport interface VirtualizedPropertyGridContext {\n orientation: Orientation;\n gridWidth: number;\n\n isPropertyHoverEnabled: boolean;\n isPropertySelectionEnabled: boolean;\n selectedPropertyKey?: string;\n\n onPropertyClicked?: (property: PropertyRecord, key?: string) => void;\n onPropertyRightClicked?: (property: PropertyRecord, key?: string) => void;\n onPropertyContextMenu?: (property: PropertyRecord, e: React.MouseEvent) => void;\n\n editingPropertyKey?: string;\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\n onEditCancel?: () => void;\n\n eventHandler: IPropertyGridEventHandler;\n dataProvider: IPropertyDataProvider;\n\n actionButtonRenderers?: ActionButtonRenderer[];\n propertyValueRendererManager?: PropertyValueRendererManager;\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\n\n columnRatio: number;\n columnInfo: PropertyGridColumnInfo;\n isResizeHandleBeingDragged: boolean;\n isResizeHandleHovered: boolean;\n onColumnRatioChanged: (ratio: number) => void | RatioChangeResult;\n onResizeHandleDragChanged: (newValue: boolean) => void;\n onResizeHandleHoverChanged: (newValue: boolean) => void;\n\n highlight?: PropertyGridContentHighlightProps;\n}\n\nconst [\n PropertyGridInternalContextProvider,\n _PropertyGridInternalContextConsumer,\n usePropertyGridInternalContext,\n] = createContextWithMandatoryProvider<PropertyGridInternalContext>(\"PropertyGridInternalContext\");\n\n/**\n * VirtualizedPropertyGrid React component.\n * @public\n */\nexport class VirtualizedPropertyGrid extends React.Component<VirtualizedPropertyGridProps, VirtualizedPropertyGridState> {\n private _listRef = React.createRef<VariableSizeList>();\n\n /** @internal */\n constructor(props: VirtualizedPropertyGridProps) {\n super(props);\n this.state = {\n gridItems: [],\n orientation: props.orientation ?? Orientation.Horizontal,\n dynamicNodeHeights: new Map(),\n resetIndex: 0,\n };\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: VirtualizedPropertyGridProps, prevState: VirtualizedPropertyGridState) {\n if (this.props.orientation !== prevProps.orientation\n || this.props.isOrientationFixed !== prevProps.isOrientationFixed\n || this.props.horizontalOrientationMinWidth !== prevProps.horizontalOrientationMinWidth\n || this.props.width !== prevProps.width)\n this.updateOrientation(this.props.width);\n\n if (this.props.model !== prevProps.model) {\n // istanbul ignore else\n if (this._listRef.current)\n this._listRef.current.resetAfterIndex(0);\n }\n\n if (this.props.highlight !== prevProps.highlight && this.props.highlight?.activeHighlight && this.state.gridItems.length !== 0) {\n let index = 0;\n let foundMatchingItem = false;\n for (const item of this.state.gridItems) {\n if (item instanceof MutableCategorizedPrimitiveProperty && this.props.highlight.activeHighlight.highlightedItemIdentifier === item.derivedRecord.property.name\n || item instanceof MutableGridCategory && this.props.highlight.activeHighlight.highlightedItemIdentifier === item.name) {\n foundMatchingItem = true;\n break;\n }\n index++;\n }\n if (foundMatchingItem) {\n // istanbul ignore else\n if (this._listRef.current)\n this._listRef.current.scrollToItem(index);\n }\n }\n\n if (this.state.dynamicNodeHeights !== prevState.dynamicNodeHeights) {\n // istanbul ignore else\n if (this._listRef.current)\n this._listRef.current.resetAfterIndex(this.state.resetIndex);\n }\n }\n\n /** @internal */\n public static getDerivedStateFromProps(props: VirtualizedPropertyGridProps, state: VirtualizedPropertyGridState): VirtualizedPropertyGridState | null {\n return {\n ...state,\n gridItems: props.model.getVisibleFlatGrid(),\n };\n }\n\n private updateOrientation(width: number) {\n const { orientation, isOrientationFixed, horizontalOrientationMinWidth } = { ...this.props };\n const currentOrientation = PropertyGridCommons.getCurrentOrientation(width, orientation, isOrientationFixed, horizontalOrientationMinWidth);\n\n if (currentOrientation !== this.state.orientation) {\n this.setState({ orientation: currentOrientation });\n // istanbul ignore else\n if (this._listRef.current)\n this._listRef.current.resetAfterIndex(0);\n }\n }\n\n /**\n * Calculate given node height depending on it's type, position in category, parent category depth and current orientation.\n * @param node FlatGridItem node for which to calculate height\n * @returns current height of node.\n */\n private calculateNodeHeight(node: FlatGridItem) {\n const categoryHeaderHeight = 38;\n const categoryHeaderPadding = 4;\n const categoryPropertyHeight = 27;\n const bottomBorderPadding = 5;\n const verticalPrimitivePropertyHeight = 55;\n\n return getPropertyHeight(this.state) + node.lastInNumberOfCategories * bottomBorderPadding;\n\n function getPropertyHeight(state: VirtualizedPropertyGridState) {\n const dynamicHeight = state.dynamicNodeHeights.get(node.key);\n if (dynamicHeight !== undefined) {\n if (node instanceof MutableCustomGridCategory) {\n return categoryHeaderHeight + categoryHeaderPadding\n + (node.isExpanded ? dynamicHeight + bottomBorderPadding : 0);\n }\n\n return dynamicHeight + (state.orientation === Orientation.Vertical ? 28 : 0);\n }\n\n if (node.type === FlatGridItemType.Category) {\n return categoryHeaderHeight + categoryHeaderPadding;\n }\n\n if (state.orientation === Orientation.Vertical && node.type === FlatGridItemType.Primitive) {\n return verticalPrimitivePropertyHeight;\n }\n\n return categoryPropertyHeight;\n }\n }\n\n private _handleNodeHeightChange = (index: number, key: string, newHeight: number) => {\n if (this.state.dynamicNodeHeights.get(key) === newHeight) {\n return;\n }\n\n this.setState((state) => {\n return {\n ...state,\n dynamicNodeHeights: new Map(state.dynamicNodeHeights).set(key, newHeight),\n resetIndex: index,\n };\n });\n };\n\n private _calculateNodeHeightByIndex = (index: number) => {\n const node = this.state.gridItems[index];\n return this.calculateNodeHeight(node);\n };\n\n private calculateEstimatedHeight() {\n let sum = 0;\n for (const node of this.state.gridItems)\n sum += this.calculateNodeHeight(node);\n\n return Math.ceil(sum / this.state.gridItems.length);\n }\n\n private _getNodeKey = (index: number) => {\n const node = this.state.gridItems[index];\n return node.key;\n };\n\n /** @internal */\n public override render() {\n return <ColumnResizingPropertyListPropsSupplier\n orientation={this.state.orientation}\n width={this.props.width}\n minLabelWidth={this.props.minLabelWidth}\n minValueWidth={this.props.minValueWidth}\n actionButtonWidth={this.props.actionButtonWidth}\n >\n {(columnResizeContext) => (\n <PropertyGridEventsRelatedPropsSupplier\n isPropertySelectionEnabled={this.props.isPropertySelectionEnabled ?? false}\n isPropertySelectionOnRightClickEnabled={this.props.isPropertySelectionOnRightClickEnabled}\n isPropertyEditingEnabled={this.props.isPropertyEditingEnabled}\n onPropertyContextMenu={this.props.onPropertyContextMenu}\n onPropertyUpdated={this.props.onPropertyUpdated}\n onPropertySelectionChanged={this.props.onPropertySelectionChanged}\n isPropertyHoverEnabled={this.props.isPropertyHoverEnabled ?? false}\n >\n {(selectionContext) => {\n const gridContext: VirtualizedPropertyGridContext = {\n orientation: columnResizeContext.orientation,\n gridWidth: this.props.width,\n\n isPropertyHoverEnabled: selectionContext.isPropertyHoverEnabled,\n isPropertySelectionEnabled: selectionContext.isPropertySelectionEnabled,\n selectedPropertyKey: selectionContext.selectedPropertyKey,\n\n onPropertyClicked: selectionContext.onPropertyClicked,\n onPropertyRightClicked: selectionContext.onPropertyRightClicked,\n onPropertyContextMenu: selectionContext.onPropertyContextMenu,\n\n editingPropertyKey: selectionContext.editingPropertyKey,\n onEditCommit: selectionContext.onEditCommit,\n onEditCancel: selectionContext.onEditCancel,\n\n eventHandler: this.props.eventHandler,\n dataProvider: this.props.dataProvider,\n\n actionButtonRenderers: this.props.actionButtonRenderers,\n propertyValueRendererManager: this.props.propertyValueRendererManager,\n propertyCategoryRendererManager: this.props.propertyCategoryRendererManager,\n\n columnRatio: columnResizeContext.columnRatio,\n columnInfo: columnResizeContext.columnInfo,\n isResizeHandleBeingDragged: columnResizeContext.isResizeHandleBeingDragged,\n isResizeHandleHovered: columnResizeContext.isResizeHandleHovered,\n onColumnRatioChanged: columnResizeContext.onColumnChanged,\n onResizeHandleDragChanged: columnResizeContext.onResizeHandleDragChanged,\n onResizeHandleHoverChanged: columnResizeContext.onResizeHandleHoverChanged,\n\n highlight: this.props.highlight,\n };\n\n const renderContext: PropertyGridInternalContext = {\n gridItems: this.state.gridItems,\n gridEventHandler: this.props.eventHandler,\n gridModel: this.props.model,\n style: this.props.style,\n className: this.props.className,\n onItemHeightChanged: this._handleNodeHeightChange,\n gridContext,\n };\n\n return (\n <PropertyGridInternalContextProvider value={renderContext}>\n <div className={classnames(\"components-virtualized-property-grid\", \"components-smallEditor-host\")}>\n <VariableSizeList\n className={classnames(\"components-property-grid-wrapper\", \"ReactWindow__VariableSizeList\", this.props.className)}\n width={this.props.width}\n height={this.props.height}\n itemCount={this.state.gridItems.length}\n itemSize={this._calculateNodeHeightByIndex}\n estimatedItemSize={this.calculateEstimatedHeight()}\n overscanCount={10}\n layout=\"vertical\"\n style={this.props.style}\n itemKey={this._getNodeKey}\n ref={this._listRef}\n >\n {FlatGridItemNode}\n </VariableSizeList>\n </div>\n </PropertyGridInternalContextProvider>\n );\n }}\n </PropertyGridEventsRelatedPropsSupplier >\n )}\n </ColumnResizingPropertyListPropsSupplier>;\n }\n}\n\nconst FlatGridItemNode = React.memo(\n ({ index, style: virtualizedListStyle }: ListChildComponentProps) => {\n const { gridItems, gridEventHandler, gridModel, gridContext, className, style, onItemHeightChanged } = usePropertyGridInternalContext(FlatGridItemNode);\n const node = gridItems[index];\n\n const onExpansionToggled = React.useCallback(\n () => gridEventHandler.onExpansionToggled(node.selectionKey),\n [gridEventHandler, node.selectionKey],\n );\n const onHeightChanged = React.useCallback(\n (newHeight: number) => onItemHeightChanged(index, node.key, newHeight),\n [onItemHeightChanged, index, node.key],\n );\n\n function getDisplayNode() {\n const lastInNumberOfCategories = node.lastInNumberOfCategories;\n switch (node.type) {\n case FlatGridItemType.Category:\n const categoryRendererManager = gridContext.propertyCategoryRendererManager\n ?? PropertyCategoryRendererManager.defaultManager;\n const customRenderer = categoryRendererManager.getCategoryComponent(node);\n const wrapperClassName = classnames(\n \"virtualized-grid-node-content\",\n customRenderer !== undefined ? \"virtualized-grid-node-custom-category\" : \"virtualized-grid-node-category\",\n );\n return (\n <FlatItemNestedBorderWrapper\n borderCount={node.depth}\n bottomBorderCount={lastInNumberOfCategories}\n className={wrapperClassName}\n >\n <PropertyCategoryBlock\n className={className}\n style={style}\n category={node.derivedCategory}\n onExpansionToggled={onExpansionToggled}\n highlight={gridContext.highlight?.filteredTypes?.includes(FilteredType.Category) ?\n gridContext.highlight :\n undefined\n }\n >\n {customRenderer !== undefined && (\n <CustomCategoryContent\n renderer={customRenderer}\n categoryItem={node}\n gridContext={gridContext}\n onHeightChanged={onHeightChanged}\n />\n )}\n </PropertyCategoryBlock>\n </FlatItemNestedBorderWrapper>\n );\n case FlatGridItemType.Array:\n case FlatGridItemType.Struct:\n case FlatGridItemType.Primitive:\n const selectionKey = node.selectionKey;\n const parentCategoryItem = gridModel.getItem(node.parentCategorySelectionKey) as GridCategoryItem;\n\n return (\n <FlatItemNestedBorderWrapper\n borderCount={parentCategoryItem.depth + 1}\n bottomBorderCount={lastInNumberOfCategories}\n className=\"virtualized-grid-node-content\"\n >\n <FlatPropertyRenderer\n key={node.key}\n uniqueKey={selectionKey}\n propertyRecord={node.derivedRecord}\n orientation={gridContext.orientation}\n indentation={node.depth}\n width={gridContext.gridWidth}\n\n isHoverable={gridContext.isPropertyHoverEnabled}\n isSelectable={gridContext.isPropertySelectionEnabled}\n isSelected={selectionKey === gridContext.selectedPropertyKey}\n\n onClick={node.type === FlatGridItemType.Primitive ? gridContext.onPropertyClicked : undefined}\n onRightClick={node.type === FlatGridItemType.Primitive ? gridContext.onPropertyRightClicked : undefined}\n onContextMenu={gridContext.onPropertyContextMenu}\n\n category={parentCategoryItem.derivedCategory}\n isEditing={selectionKey === gridContext.editingPropertyKey}\n onEditCommit={gridContext.onEditCommit}\n onEditCancel={gridContext.onEditCancel}\n\n isExpanded={node.isExpanded}\n onExpansionToggled={onExpansionToggled}\n onHeightChanged={onHeightChanged}\n\n actionButtonRenderers={gridContext.actionButtonRenderers}\n propertyValueRendererManager={gridContext.propertyValueRendererManager}\n\n columnRatio={gridContext.columnRatio}\n columnInfo={gridContext.columnInfo}\n isResizeHandleBeingDragged={gridContext.isResizeHandleBeingDragged}\n isResizeHandleHovered={gridContext.isResizeHandleHovered}\n onColumnRatioChanged={gridContext.onColumnRatioChanged}\n onResizeHandleDragChanged={gridContext.onResizeHandleDragChanged}\n onResizeHandleHoverChanged={gridContext.onResizeHandleHoverChanged}\n\n highlight={gridContext.highlight ?\n { applyOnLabel: (gridContext.highlight.filteredTypes?.includes(FilteredType.Label)) ?? false, applyOnValue: (gridContext.highlight.filteredTypes?.includes(FilteredType.Value)) ?? false, ...gridContext.highlight } :\n undefined\n }\n />\n </FlatItemNestedBorderWrapper>\n );\n }\n }\n\n return (\n <div className=\"virtualized-grid-node\" style={virtualizedListStyle}>\n {getDisplayNode()}\n </div>\n );\n },\n areEqual,\n);\n\nFlatGridItemNode.displayName = \"FlatGridItemNode\";\n\ninterface CustomCategoryContentProps {\n categoryItem: GridCategoryItem;\n renderer: React.ComponentType<PropertyCategoryRendererProps>;\n gridContext: VirtualizedPropertyGridContext;\n onHeightChanged: (newHeight: number) => void;\n}\n\nconst CustomCategoryContent: React.FC<CustomCategoryContentProps> = (props) => {\n const { onHeightChanged } = props;\n const divRef = React.useRef<HTMLDivElement>(null);\n\n React.useLayoutEffect(\n () => {\n assert(divRef.current !== null);\n const contentHeight = divRef.current.getBoundingClientRect().height;\n onHeightChanged(contentHeight);\n },\n [props.gridContext.orientation, onHeightChanged],\n );\n\n return (\n <div ref={divRef}>\n {React.createElement(props.renderer, props)}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"VirtualizedPropertyGrid.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/VirtualizedPropertyGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport \"./VirtualizedPropertyGrid.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { areEqual, ListChildComponentProps, VariableSizeList } from \"react-window\";\r\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport { assert } from \"@itwin/core-bentley\";\r\nimport { Orientation, RatioChangeResult } from \"@itwin/core-react\";\r\nimport { createContextWithMandatoryProvider } from \"../../common/UseContextWithMandatoryProvider\";\r\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\r\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\r\nimport { PropertyGridColumnInfo } from \"../../properties/renderers/PropertyGridColumns\";\r\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\r\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\r\nimport { FlatGridItem, GridCategoryItem } from \"../internal/flat-items/FlatGridItem\";\r\nimport { MutableCategorizedPrimitiveProperty } from \"../internal/flat-items/MutableCategorizedPrimitiveProperty\";\r\nimport { MutableCustomGridCategory } from \"../internal/flat-items/MutableCustomGridCategory\";\r\nimport { FlatGridItemType } from \"../internal/flat-items/MutableFlatGridItem\";\r\nimport { MutableGridCategory } from \"../internal/flat-items/MutableGridCategory\";\r\nimport { FlatPropertyRenderer } from \"../internal/flat-properties/FlatPropertyRenderer\";\r\nimport { IPropertyGridEventHandler } from \"../internal/PropertyGridEventHandler\";\r\nimport { IPropertyGridModel } from \"../internal/PropertyGridModel\";\r\nimport { PropertyCategoryRendererManager, PropertyCategoryRendererProps } from \"../PropertyCategoryRendererManager\";\r\nimport { IPropertyDataProvider, PropertyCategory } from \"../PropertyDataProvider\";\r\nimport { ColumnResizingPropertyListPropsSupplier } from \"./ColumnResizingPropertyListPropsSupplier\";\r\nimport { FlatItemNestedBorderWrapper } from \"./FlatItemNestedBorderWrapper\";\r\nimport { PropertyCategoryBlock } from \"./PropertyCategoryBlock\";\r\nimport { CommonPropertyGridProps, PropertyGridCommons, PropertyGridContentHighlightProps } from \"./PropertyGridCommons\";\r\nimport { PropertyGridEventsRelatedPropsSupplier } from \"./PropertyGridEventsRelatedPropsSupplier\";\r\n\r\n/** Properties for [[VirtualizedPropertyGrid]] React component\r\n * @public\r\n */\r\nexport interface VirtualizedPropertyGridProps extends CommonPropertyGridProps {\r\n /** Property grid view model that defines what needs to be rendered */\r\n model: IPropertyGridModel;\r\n /** Handler of the events raised from the property grid */\r\n eventHandler: IPropertyGridEventHandler;\r\n /** Property data provider used by the property grid */\r\n dataProvider: IPropertyDataProvider;\r\n /** Properties for highlighting property data in the grid. */\r\n highlight?: PropertyGridContentHighlightProps;\r\n /** Custom property category renderer manager. Defaults to [[PropertyCategoryRendererManager.defaultManager]]. */\r\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\r\n /** Width of the property grid component. */\r\n width: number;\r\n /** Height of the property grid component. */\r\n height: number;\r\n}\r\n\r\n/** State of [[VirtualizedPropertyGrid]] React component\r\n * @internal\r\n */\r\ninterface VirtualizedPropertyGridState {\r\n /** List of PropertyGrid categories */\r\n gridItems: FlatGridItem[];\r\n /** Actual orientation used by the property grid */\r\n orientation: Orientation;\r\n /** Keeps record of dynamic node heights */\r\n dynamicNodeHeights: Map<string, number>;\r\n /** When resetting node height cache, marks the point at which heights have become stale */\r\n resetIndex: number;\r\n}\r\n\r\n/**\r\n * Context of [[VirtualizedPropertyGrid]] component.\r\n * @internal\r\n */\r\nexport interface PropertyGridInternalContext {\r\n gridItems: FlatGridItem[];\r\n gridEventHandler: IPropertyGridEventHandler;\r\n gridModel: IPropertyGridModel;\r\n\r\n style?: React.CSSProperties;\r\n className?: string;\r\n gridContext: VirtualizedPropertyGridContext;\r\n onItemHeightChanged: (index: number, key: string, height: number) => void;\r\n}\r\n\r\n/**\r\n * Context of the surrounding [VirtualizedPropertyGrid]($components-react) component.\r\n * @public\r\n */\r\nexport interface VirtualizedPropertyGridContext {\r\n orientation: Orientation;\r\n gridWidth: number;\r\n\r\n isPropertyHoverEnabled: boolean;\r\n isPropertySelectionEnabled: boolean;\r\n selectedPropertyKey?: string;\r\n\r\n onPropertyClicked?: (property: PropertyRecord, key?: string) => void;\r\n onPropertyRightClicked?: (property: PropertyRecord, key?: string) => void;\r\n onPropertyContextMenu?: (property: PropertyRecord, e: React.MouseEvent) => void;\r\n\r\n editingPropertyKey?: string;\r\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\r\n onEditCancel?: () => void;\r\n\r\n eventHandler: IPropertyGridEventHandler;\r\n dataProvider: IPropertyDataProvider;\r\n\r\n actionButtonRenderers?: ActionButtonRenderer[];\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\r\n\r\n columnRatio: number;\r\n columnInfo: PropertyGridColumnInfo;\r\n isResizeHandleBeingDragged: boolean;\r\n isResizeHandleHovered: boolean;\r\n onColumnRatioChanged: (ratio: number) => void | RatioChangeResult;\r\n onResizeHandleDragChanged: (newValue: boolean) => void;\r\n onResizeHandleHoverChanged: (newValue: boolean) => void;\r\n\r\n highlight?: PropertyGridContentHighlightProps;\r\n}\r\n\r\nconst [\r\n PropertyGridInternalContextProvider,\r\n _PropertyGridInternalContextConsumer,\r\n usePropertyGridInternalContext,\r\n] = createContextWithMandatoryProvider<PropertyGridInternalContext>(\"PropertyGridInternalContext\");\r\n\r\n/**\r\n * VirtualizedPropertyGrid React component.\r\n * @public\r\n */\r\nexport class VirtualizedPropertyGrid extends React.Component<VirtualizedPropertyGridProps, VirtualizedPropertyGridState> {\r\n private _listRef = React.createRef<VariableSizeList>();\r\n\r\n /** @internal */\r\n constructor(props: VirtualizedPropertyGridProps) {\r\n super(props);\r\n this.state = {\r\n gridItems: [],\r\n orientation: props.orientation ?? Orientation.Horizontal,\r\n dynamicNodeHeights: new Map(),\r\n resetIndex: 0,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: VirtualizedPropertyGridProps, prevState: VirtualizedPropertyGridState) {\r\n if (this.props.orientation !== prevProps.orientation\r\n || this.props.isOrientationFixed !== prevProps.isOrientationFixed\r\n || this.props.horizontalOrientationMinWidth !== prevProps.horizontalOrientationMinWidth\r\n || this.props.width !== prevProps.width)\r\n this.updateOrientation(this.props.width);\r\n\r\n if (this.props.model !== prevProps.model) {\r\n // istanbul ignore else\r\n if (this._listRef.current)\r\n this._listRef.current.resetAfterIndex(0);\r\n }\r\n\r\n if (this.props.highlight !== prevProps.highlight && this.props.highlight?.activeHighlight && this.state.gridItems.length !== 0) {\r\n let index = 0;\r\n let foundMatchingItem = false;\r\n for (const item of this.state.gridItems) {\r\n if (item instanceof MutableCategorizedPrimitiveProperty && this.props.highlight.activeHighlight.highlightedItemIdentifier === item.derivedRecord.property.name\r\n || item instanceof MutableGridCategory && this.props.highlight.activeHighlight.highlightedItemIdentifier === item.name) {\r\n foundMatchingItem = true;\r\n break;\r\n }\r\n index++;\r\n }\r\n if (foundMatchingItem) {\r\n // istanbul ignore else\r\n if (this._listRef.current)\r\n this._listRef.current.scrollToItem(index);\r\n }\r\n }\r\n\r\n if (this.state.dynamicNodeHeights !== prevState.dynamicNodeHeights) {\r\n // istanbul ignore else\r\n if (this._listRef.current)\r\n this._listRef.current.resetAfterIndex(this.state.resetIndex);\r\n }\r\n }\r\n\r\n /** @internal */\r\n public static getDerivedStateFromProps(props: VirtualizedPropertyGridProps, state: VirtualizedPropertyGridState): VirtualizedPropertyGridState | null {\r\n return {\r\n ...state,\r\n gridItems: props.model.getVisibleFlatGrid(),\r\n };\r\n }\r\n\r\n private updateOrientation(width: number) {\r\n const { orientation, isOrientationFixed, horizontalOrientationMinWidth } = { ...this.props };\r\n const currentOrientation = PropertyGridCommons.getCurrentOrientation(width, orientation, isOrientationFixed, horizontalOrientationMinWidth);\r\n\r\n if (currentOrientation !== this.state.orientation) {\r\n this.setState({ orientation: currentOrientation });\r\n // istanbul ignore else\r\n if (this._listRef.current)\r\n this._listRef.current.resetAfterIndex(0);\r\n }\r\n }\r\n\r\n /**\r\n * Calculate given node height depending on it's type, position in category, parent category depth and current orientation.\r\n * @param node FlatGridItem node for which to calculate height\r\n * @returns current height of node.\r\n */\r\n private calculateNodeHeight(node: FlatGridItem) {\r\n const categoryHeaderHeight = 38;\r\n const categoryHeaderPadding = 4;\r\n const categoryPropertyHeight = 27;\r\n const bottomBorderPadding = 5;\r\n const verticalPrimitivePropertyHeight = 55;\r\n\r\n return getPropertyHeight(this.state) + node.lastInNumberOfCategories * bottomBorderPadding;\r\n\r\n function getPropertyHeight(state: VirtualizedPropertyGridState) {\r\n const dynamicHeight = state.dynamicNodeHeights.get(node.key);\r\n if (dynamicHeight !== undefined) {\r\n if (node instanceof MutableCustomGridCategory) {\r\n return categoryHeaderHeight + categoryHeaderPadding\r\n + (node.isExpanded ? dynamicHeight + bottomBorderPadding : 0);\r\n }\r\n\r\n return dynamicHeight + (state.orientation === Orientation.Vertical ? 28 : 0);\r\n }\r\n\r\n if (node.type === FlatGridItemType.Category) {\r\n return categoryHeaderHeight + categoryHeaderPadding;\r\n }\r\n\r\n if (state.orientation === Orientation.Vertical && node.type === FlatGridItemType.Primitive) {\r\n return verticalPrimitivePropertyHeight;\r\n }\r\n\r\n return categoryPropertyHeight;\r\n }\r\n }\r\n\r\n private _handleNodeHeightChange = (index: number, key: string, newHeight: number) => {\r\n if (this.state.dynamicNodeHeights.get(key) === newHeight) {\r\n return;\r\n }\r\n\r\n this.setState((state) => {\r\n return {\r\n ...state,\r\n dynamicNodeHeights: new Map(state.dynamicNodeHeights).set(key, newHeight),\r\n resetIndex: index,\r\n };\r\n });\r\n };\r\n\r\n private _calculateNodeHeightByIndex = (index: number) => {\r\n const node = this.state.gridItems[index];\r\n return this.calculateNodeHeight(node);\r\n };\r\n\r\n private calculateEstimatedHeight() {\r\n let sum = 0;\r\n for (const node of this.state.gridItems)\r\n sum += this.calculateNodeHeight(node);\r\n\r\n return Math.ceil(sum / this.state.gridItems.length);\r\n }\r\n\r\n private _getNodeKey = (index: number) => {\r\n const node = this.state.gridItems[index];\r\n return node.key;\r\n };\r\n\r\n /** @internal */\r\n public override render() {\r\n return <ColumnResizingPropertyListPropsSupplier\r\n orientation={this.state.orientation}\r\n width={this.props.width}\r\n minLabelWidth={this.props.minLabelWidth}\r\n minValueWidth={this.props.minValueWidth}\r\n actionButtonWidth={this.props.actionButtonWidth}\r\n >\r\n {(columnResizeContext) => (\r\n <PropertyGridEventsRelatedPropsSupplier\r\n isPropertySelectionEnabled={this.props.isPropertySelectionEnabled ?? false}\r\n isPropertySelectionOnRightClickEnabled={this.props.isPropertySelectionOnRightClickEnabled}\r\n isPropertyEditingEnabled={this.props.isPropertyEditingEnabled}\r\n onPropertyContextMenu={this.props.onPropertyContextMenu}\r\n onPropertyUpdated={this.props.onPropertyUpdated}\r\n onPropertySelectionChanged={this.props.onPropertySelectionChanged}\r\n isPropertyHoverEnabled={this.props.isPropertyHoverEnabled ?? false}\r\n >\r\n {(selectionContext) => {\r\n const gridContext: VirtualizedPropertyGridContext = {\r\n orientation: columnResizeContext.orientation,\r\n gridWidth: this.props.width,\r\n\r\n isPropertyHoverEnabled: selectionContext.isPropertyHoverEnabled,\r\n isPropertySelectionEnabled: selectionContext.isPropertySelectionEnabled,\r\n selectedPropertyKey: selectionContext.selectedPropertyKey,\r\n\r\n onPropertyClicked: selectionContext.onPropertyClicked,\r\n onPropertyRightClicked: selectionContext.onPropertyRightClicked,\r\n onPropertyContextMenu: selectionContext.onPropertyContextMenu,\r\n\r\n editingPropertyKey: selectionContext.editingPropertyKey,\r\n onEditCommit: selectionContext.onEditCommit,\r\n onEditCancel: selectionContext.onEditCancel,\r\n\r\n eventHandler: this.props.eventHandler,\r\n dataProvider: this.props.dataProvider,\r\n\r\n actionButtonRenderers: this.props.actionButtonRenderers,\r\n propertyValueRendererManager: this.props.propertyValueRendererManager,\r\n propertyCategoryRendererManager: this.props.propertyCategoryRendererManager,\r\n\r\n columnRatio: columnResizeContext.columnRatio,\r\n columnInfo: columnResizeContext.columnInfo,\r\n isResizeHandleBeingDragged: columnResizeContext.isResizeHandleBeingDragged,\r\n isResizeHandleHovered: columnResizeContext.isResizeHandleHovered,\r\n onColumnRatioChanged: columnResizeContext.onColumnChanged,\r\n onResizeHandleDragChanged: columnResizeContext.onResizeHandleDragChanged,\r\n onResizeHandleHoverChanged: columnResizeContext.onResizeHandleHoverChanged,\r\n\r\n highlight: this.props.highlight,\r\n };\r\n\r\n const renderContext: PropertyGridInternalContext = {\r\n gridItems: this.state.gridItems,\r\n gridEventHandler: this.props.eventHandler,\r\n gridModel: this.props.model,\r\n style: this.props.style,\r\n className: this.props.className,\r\n onItemHeightChanged: this._handleNodeHeightChange,\r\n gridContext,\r\n };\r\n\r\n return (\r\n <PropertyGridInternalContextProvider value={renderContext}>\r\n <div className={classnames(\"components-virtualized-property-grid\", \"components-smallEditor-host\")}>\r\n <VariableSizeList\r\n className={classnames(\"components-property-grid-wrapper\", \"ReactWindow__VariableSizeList\", this.props.className)}\r\n width={this.props.width}\r\n height={this.props.height}\r\n itemCount={this.state.gridItems.length}\r\n itemSize={this._calculateNodeHeightByIndex}\r\n estimatedItemSize={this.calculateEstimatedHeight()}\r\n overscanCount={10}\r\n layout=\"vertical\"\r\n style={this.props.style}\r\n itemKey={this._getNodeKey}\r\n ref={this._listRef}\r\n >\r\n {FlatGridItemNode}\r\n </VariableSizeList>\r\n </div>\r\n </PropertyGridInternalContextProvider>\r\n );\r\n }}\r\n </PropertyGridEventsRelatedPropsSupplier >\r\n )}\r\n </ColumnResizingPropertyListPropsSupplier>;\r\n }\r\n}\r\n\r\nconst FlatGridItemNode = React.memo(\r\n ({ index, style: virtualizedListStyle }: ListChildComponentProps) => {\r\n const { gridItems, gridEventHandler, gridModel, gridContext, className, style, onItemHeightChanged } = usePropertyGridInternalContext(FlatGridItemNode);\r\n const node = gridItems[index];\r\n\r\n const onExpansionToggled = React.useCallback(\r\n () => gridEventHandler.onExpansionToggled(node.selectionKey),\r\n [gridEventHandler, node.selectionKey],\r\n );\r\n const onHeightChanged = React.useCallback(\r\n (newHeight: number) => onItemHeightChanged(index, node.key, newHeight),\r\n [onItemHeightChanged, index, node.key],\r\n );\r\n\r\n function getDisplayNode() {\r\n const lastInNumberOfCategories = node.lastInNumberOfCategories;\r\n switch (node.type) {\r\n case FlatGridItemType.Category:\r\n const categoryRendererManager = gridContext.propertyCategoryRendererManager\r\n ?? PropertyCategoryRendererManager.defaultManager;\r\n const customRenderer = categoryRendererManager.getCategoryComponent(node);\r\n const wrapperClassName = classnames(\r\n \"virtualized-grid-node-content\",\r\n customRenderer !== undefined ? \"virtualized-grid-node-custom-category\" : \"virtualized-grid-node-category\",\r\n );\r\n return (\r\n <FlatItemNestedBorderWrapper\r\n borderCount={node.depth}\r\n bottomBorderCount={lastInNumberOfCategories}\r\n className={wrapperClassName}\r\n >\r\n <PropertyCategoryBlock\r\n className={className}\r\n style={style}\r\n category={node.derivedCategory}\r\n onExpansionToggled={onExpansionToggled}\r\n highlight={gridContext.highlight?.filteredTypes?.includes(FilteredType.Category) ?\r\n gridContext.highlight :\r\n undefined\r\n }\r\n >\r\n {customRenderer !== undefined && (\r\n <CustomCategoryContent\r\n renderer={customRenderer}\r\n categoryItem={node}\r\n gridContext={gridContext}\r\n onHeightChanged={onHeightChanged}\r\n />\r\n )}\r\n </PropertyCategoryBlock>\r\n </FlatItemNestedBorderWrapper>\r\n );\r\n case FlatGridItemType.Array:\r\n case FlatGridItemType.Struct:\r\n case FlatGridItemType.Primitive:\r\n const selectionKey = node.selectionKey;\r\n const parentCategoryItem = gridModel.getItem(node.parentCategorySelectionKey) as GridCategoryItem;\r\n\r\n return (\r\n <FlatItemNestedBorderWrapper\r\n borderCount={parentCategoryItem.depth + 1}\r\n bottomBorderCount={lastInNumberOfCategories}\r\n className=\"virtualized-grid-node-content\"\r\n >\r\n <FlatPropertyRenderer\r\n key={node.key}\r\n uniqueKey={selectionKey}\r\n propertyRecord={node.derivedRecord}\r\n orientation={gridContext.orientation}\r\n indentation={node.depth}\r\n width={gridContext.gridWidth}\r\n\r\n isHoverable={gridContext.isPropertyHoverEnabled}\r\n isSelectable={gridContext.isPropertySelectionEnabled}\r\n isSelected={selectionKey === gridContext.selectedPropertyKey}\r\n\r\n onClick={node.type === FlatGridItemType.Primitive ? gridContext.onPropertyClicked : undefined}\r\n onRightClick={node.type === FlatGridItemType.Primitive ? gridContext.onPropertyRightClicked : undefined}\r\n onContextMenu={gridContext.onPropertyContextMenu}\r\n\r\n category={parentCategoryItem.derivedCategory}\r\n isEditing={selectionKey === gridContext.editingPropertyKey}\r\n onEditCommit={gridContext.onEditCommit}\r\n onEditCancel={gridContext.onEditCancel}\r\n\r\n isExpanded={node.isExpanded}\r\n onExpansionToggled={onExpansionToggled}\r\n onHeightChanged={onHeightChanged}\r\n\r\n actionButtonRenderers={gridContext.actionButtonRenderers}\r\n propertyValueRendererManager={gridContext.propertyValueRendererManager}\r\n\r\n columnRatio={gridContext.columnRatio}\r\n columnInfo={gridContext.columnInfo}\r\n isResizeHandleBeingDragged={gridContext.isResizeHandleBeingDragged}\r\n isResizeHandleHovered={gridContext.isResizeHandleHovered}\r\n onColumnRatioChanged={gridContext.onColumnRatioChanged}\r\n onResizeHandleDragChanged={gridContext.onResizeHandleDragChanged}\r\n onResizeHandleHoverChanged={gridContext.onResizeHandleHoverChanged}\r\n\r\n highlight={gridContext.highlight ?\r\n { applyOnLabel: (gridContext.highlight.filteredTypes?.includes(FilteredType.Label)) ?? false, applyOnValue: (gridContext.highlight.filteredTypes?.includes(FilteredType.Value)) ?? false, ...gridContext.highlight } :\r\n undefined\r\n }\r\n />\r\n </FlatItemNestedBorderWrapper>\r\n );\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"virtualized-grid-node\" style={virtualizedListStyle}>\r\n {getDisplayNode()}\r\n </div>\r\n );\r\n },\r\n areEqual,\r\n);\r\n\r\nFlatGridItemNode.displayName = \"FlatGridItemNode\";\r\n\r\ninterface CustomCategoryContentProps {\r\n categoryItem: GridCategoryItem;\r\n renderer: React.ComponentType<PropertyCategoryRendererProps>;\r\n gridContext: VirtualizedPropertyGridContext;\r\n onHeightChanged: (newHeight: number) => void;\r\n}\r\n\r\nconst CustomCategoryContent: React.FC<CustomCategoryContentProps> = (props) => {\r\n const { onHeightChanged } = props;\r\n const divRef = React.useRef<HTMLDivElement>(null);\r\n\r\n React.useLayoutEffect(\r\n () => {\r\n assert(divRef.current !== null);\r\n const contentHeight = divRef.current.getBoundingClientRect().height;\r\n onHeightChanged(contentHeight);\r\n },\r\n [props.gridContext.orientation, onHeightChanged],\r\n );\r\n\r\n return (\r\n <div ref={divRef}>\r\n {React.createElement(props.renderer, props)}\r\n </div>\r\n );\r\n};\r\n"]}