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

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 (234) hide show
  1. package/LICENSE.md +1 -1
  2. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +4 -1
  3. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  4. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +4 -1
  5. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  6. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +22 -25
  7. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  8. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +19 -81
  9. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  10. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  11. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  12. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +83 -0
  13. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  14. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  15. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  16. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +22 -12
  17. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  18. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +4 -0
  19. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  20. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  21. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +22 -14
  22. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  23. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -2
  24. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  25. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +11 -5
  26. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  27. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  28. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  29. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +11 -5
  30. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  31. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  32. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  33. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +11 -5
  34. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  35. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +50 -7
  36. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  37. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +60 -8
  38. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  39. package/lib/cjs/components-react/filter-builder/Operators.d.ts +23 -5
  40. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  41. package/lib/cjs/components-react/filter-builder/Operators.js +25 -7
  42. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  43. package/lib/cjs/components-react/filter-builder/Types.d.ts +24 -4
  44. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  45. package/lib/cjs/components-react/filter-builder/Types.js +11 -1
  46. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  47. package/lib/cjs/components-react/properties/LinkHandler.d.ts +2 -2
  48. package/lib/cjs/components-react/properties/LinkHandler.js +1 -1
  49. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  50. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  51. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +1 -1
  52. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  53. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  54. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  55. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +2 -0
  56. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts.map +1 -1
  57. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +1 -0
  58. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  59. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +5 -10
  60. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  61. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  62. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +3 -3
  63. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +1 -1
  64. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  65. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +11 -0
  66. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +2 -2
  67. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +1 -1
  68. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  69. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  70. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  71. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  72. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +3 -3
  73. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +3 -3
  74. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  75. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  76. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  77. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  78. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +2 -2
  79. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  80. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  81. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  82. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  83. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  84. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  85. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +4 -4
  86. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  87. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  88. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  89. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  90. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  91. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  92. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  93. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  94. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  95. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  96. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +8 -8
  97. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +3 -3
  98. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  99. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  100. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +1 -1
  101. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  102. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  103. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -1
  104. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  105. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  106. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  107. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  108. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  109. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  110. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  111. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +2 -5
  112. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  113. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  114. package/lib/cjs/components-react.d.ts +4 -6
  115. package/lib/cjs/components-react.d.ts.map +1 -1
  116. package/lib/cjs/components-react.js +4 -6
  117. package/lib/cjs/components-react.js.map +1 -1
  118. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +4 -1
  119. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  120. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +4 -1
  121. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  122. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +22 -25
  123. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  124. package/lib/esm/components-react/filter-builder/FilterBuilder.js +12 -73
  125. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  126. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  127. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  128. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +60 -0
  129. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  130. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  131. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  132. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +17 -7
  133. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  134. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +4 -0
  135. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  136. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  137. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +15 -7
  138. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  139. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -2
  140. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  141. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +7 -1
  142. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  143. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  144. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  145. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +7 -1
  146. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  147. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  148. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  149. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +7 -1
  150. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  151. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +50 -7
  152. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  153. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +54 -3
  154. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  155. package/lib/esm/components-react/filter-builder/Operators.d.ts +23 -5
  156. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  157. package/lib/esm/components-react/filter-builder/Operators.js +23 -5
  158. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  159. package/lib/esm/components-react/filter-builder/Types.d.ts +24 -4
  160. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  161. package/lib/esm/components-react/filter-builder/Types.js +11 -1
  162. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  163. package/lib/esm/components-react/properties/LinkHandler.d.ts +2 -2
  164. package/lib/esm/components-react/properties/LinkHandler.js +1 -1
  165. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  166. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  167. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +1 -1
  168. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  169. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  170. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  171. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +2 -0
  172. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts.map +1 -1
  173. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +1 -0
  174. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  175. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +5 -10
  176. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  177. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  178. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +3 -3
  179. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +1 -1
  180. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  181. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +11 -0
  182. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +2 -2
  183. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +1 -1
  184. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  185. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  186. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  187. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  188. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +3 -3
  189. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +3 -3
  190. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  191. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  192. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  193. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  194. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +2 -2
  195. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  196. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  197. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  198. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  199. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  200. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  201. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +4 -4
  202. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  203. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  204. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  205. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  206. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  207. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  208. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  209. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  210. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  211. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  212. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +8 -8
  213. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +3 -3
  214. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  215. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  216. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +1 -1
  217. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  218. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  219. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -1
  220. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  221. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  222. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  223. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  224. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  225. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  226. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  227. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +2 -5
  228. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  229. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  230. package/lib/esm/components-react.d.ts +4 -6
  231. package/lib/esm/components-react.d.ts.map +1 -1
  232. package/lib/esm/components-react.js +4 -6
  233. package/lib/esm/components-react.js.map +1 -1
  234. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridCommons.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyGridCommons.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mCAAmC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,iGAAiG;IACjG,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAEpE,0CAA0C;IAC1C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,2DAA2D;IAC3D,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,qCAAqC;IACrC,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAEhE;eACW;IACX,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;eACW;IACX,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpF;eACW;IACX,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhG,6CAA6C;IAC7C,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAE5D;eACW;IACX,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;eACW;IACX,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAEvC,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,gBAAgB;AAChB,qBAAa,mBAAmB;WAChB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,6BAA6B,CAAC,EAAE,MAAM,GAAG,WAAW;IAazK;;;OAGG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM;IAiB1C;;;OAGG;IACH,OAAc,QAAQ,UAAW,MAAM,KAAG,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAI7E;CACH"}
1
+ {"version":3,"file":"PropertyGridCommons.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/PropertyGridCommons.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mCAAmC;IACnC,cAAc,EAAE,cAAc,CAAC;IAC/B,sDAAsD;IACtD,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,WAAW;IAC1D,iGAAiG;IACjG,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,sEAAsE;IACtE,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAEpE,0CAA0C;IAC1C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,2DAA2D;IAC3D,sCAAsC,CAAC,EAAE,OAAO,CAAC;IACjD,qCAAqC;IACrC,0BAA0B,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAEhE,wCAAwC;IACxC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACpF,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhG,6CAA6C;IAC7C,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAE5D,uIAAuI;IACvI,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0GAA0G;IAC1G,6BAA6B,CAAC,EAAE,MAAM,CAAC;IAEvC,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChD;AAED,gBAAgB;AAChB,qBAAa,mBAAmB;WAChB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,6BAA6B,CAAC,EAAE,MAAM,GAAG,WAAW;IAazK;;;OAGG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM;IAiB1C;;;OAGG;IACH,OAAc,QAAQ,UAAW,MAAM,KAAG,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAI7E;CACH"}
@@ -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,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiFhD,gBAAgB;AAChB,MAAM,OAAO,mBAAmB;IACvB,MAAM,CAAC,qBAAqB,CAAC,KAAa,EAAE,oBAAkC,EAAE,kBAA4B,EAAE,6BAAsC;QACzJ,MAAM,WAAW,GAAG,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,WAAW,CAAC,UAAU,CAAC;QACnE,IAAI,kBAAkB;YACpB,OAAO,WAAW,CAAC;QAErB,6BAA6B,GAAG,6BAA6B,aAA7B,6BAA6B,cAA7B,6BAA6B,GAAI,GAAG,CAAC;QACrE,wCAAwC;QACxC,IAAI,KAAK,GAAG,6BAA6B;YACvC,OAAO,WAAW,CAAC,QAAQ,CAAC;QAE9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,IAAY;QACxC,MAAM,UAAU,GAAG,UAAU,CAAC,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,UAAU,CAAC,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","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 { matchLinks } from \"../../common/Links\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\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 * @beta */\n isPropertyEditingEnabled?: boolean;\n /** Callback for when properties are being edited\n * @beta */\n onPropertyEditing?: (args: PropertyEditingArgs, category: PropertyCategory) => void;\n /** Callback for when properties are updated\n * @beta */\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 * @beta */\n isOrientationFixed?: boolean;\n /** The minimum width before the auto-switch to Vertical when the width is too narrow. Defaults to 300.\n * @beta */\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/** @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,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA4EhD,gBAAgB;AAChB,MAAM,OAAO,mBAAmB;IACvB,MAAM,CAAC,qBAAqB,CAAC,KAAa,EAAE,oBAAkC,EAAE,kBAA4B,EAAE,6BAAsC;QACzJ,MAAM,WAAW,GAAG,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,WAAW,CAAC,UAAU,CAAC;QACnE,IAAI,kBAAkB;YACpB,OAAO,WAAW,CAAC;QAErB,6BAA6B,GAAG,6BAA6B,aAA7B,6BAA6B,cAA7B,6BAA6B,GAAI,GAAG,CAAC;QACrE,wCAAwC;QACxC,IAAI,KAAK,GAAG,6BAA6B;YACvC,OAAO,WAAW,CAAC,QAAQ,CAAC;QAE9B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,IAAY;QACxC,MAAM,UAAU,GAAG,UAAU,CAAC,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,UAAU,CAAC,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","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 { matchLinks } from \"../../common/Links\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { ActionButtonRenderer } from \"../../properties/renderers/ActionButtonRenderer\";\nimport { PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\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/** @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"]}
@@ -18,7 +18,7 @@ import { PropertyCategoryRendererManager } from "../PropertyCategoryRendererMana
18
18
  import { IPropertyDataProvider, PropertyCategory } from "../PropertyDataProvider";
19
19
  import { CommonPropertyGridProps } from "./PropertyGridCommons";
20
20
  /** Properties for [[VirtualizedPropertyGrid]] React component
21
- * @beta
21
+ * @public
22
22
  */
23
23
  export interface VirtualizedPropertyGridProps extends CommonPropertyGridProps {
24
24
  model: IPropertyGridModel;
@@ -59,7 +59,7 @@ export interface PropertyGridInternalContext {
59
59
  }
60
60
  /**
61
61
  * Context of the surrounding [VirtualizedPropertyGrid]($components-react) component.
62
- * @beta
62
+ * @public
63
63
  */
64
64
  export interface VirtualizedPropertyGridContext {
65
65
  orientation: Orientation;
@@ -91,7 +91,7 @@ export interface VirtualizedPropertyGridContext {
91
91
  }
92
92
  /**
93
93
  * VirtualizedPropertyGrid React component.
94
- * @beta
94
+ * @public
95
95
  */
96
96
  export declare class VirtualizedPropertyGrid extends React.Component<VirtualizedPropertyGridProps, VirtualizedPropertyGridState> {
97
97
  private _listRef;
@@ -27,7 +27,7 @@ import { PropertyGridEventsRelatedPropsSupplier } from "./PropertyGridEventsRela
27
27
  const [PropertyGridInternalContextProvider, _PropertyGridInternalContextConsumer, usePropertyGridInternalContext,] = createContextWithMandatoryProvider("PropertyGridInternalContext");
28
28
  /**
29
29
  * VirtualizedPropertyGrid React component.
30
- * @beta
30
+ * @public
31
31
  */
32
32
  export class VirtualizedPropertyGrid extends React.Component {
33
33
  /** @internal */
@@ -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 { assert } from \"@itwin/core-bentley\";\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { Orientation, RatioChangeResult } from \"@itwin/core-react\";\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\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 } from \"./PropertyGridCommons\";\nimport { PropertyGridEventsRelatedPropsSupplier } from \"./PropertyGridEventsRelatedPropsSupplier\";\n\n/** Properties for [[VirtualizedPropertyGrid]] React component\n * @beta\n */\nexport interface VirtualizedPropertyGridProps extends CommonPropertyGridProps {\n model: IPropertyGridModel;\n eventHandler: IPropertyGridEventHandler;\n dataProvider: IPropertyDataProvider;\n highlight?: HighlightingComponentProps & {\n filteredTypes?: FilteredType[];\n };\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\n width: number;\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 * @beta\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?: HighlightingComponentProps & {\n filteredTypes?: FilteredType[];\n };\n}\n\nconst [\n PropertyGridInternalContextProvider,\n _PropertyGridInternalContextConsumer,\n usePropertyGridInternalContext,\n] = createContextWithMandatoryProvider<PropertyGridInternalContext>(\"PropertyGridInternalContext\");\n\n/**\n * VirtualizedPropertyGrid React component.\n * @beta\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 = 35;\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":["/*---------------------------------------------------------------------------------------------\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 { assert } from \"@itwin/core-bentley\";\nimport { PropertyRecord } from \"@itwin/appui-abstract\";\nimport { Orientation, RatioChangeResult } from \"@itwin/core-react\";\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\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 } from \"./PropertyGridCommons\";\nimport { PropertyGridEventsRelatedPropsSupplier } from \"./PropertyGridEventsRelatedPropsSupplier\";\n\n/** Properties for [[VirtualizedPropertyGrid]] React component\n * @public\n */\nexport interface VirtualizedPropertyGridProps extends CommonPropertyGridProps {\n model: IPropertyGridModel;\n eventHandler: IPropertyGridEventHandler;\n dataProvider: IPropertyDataProvider;\n highlight?: HighlightingComponentProps & {\n filteredTypes?: FilteredType[];\n };\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\n width: number;\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?: HighlightingComponentProps & {\n filteredTypes?: FilteredType[];\n };\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 = 35;\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"]}
@@ -68,6 +68,17 @@
68
68
  background: $buic-row-hover;
69
69
  }
70
70
  }
71
+
72
+ .components--hoverable {
73
+ &:hover {
74
+ // Highlight the whole row of inner-most expandable block
75
+ margin: 0 -4px;
76
+ // Compensate the negative margin by adding padding
77
+ padding: 0 12px;
78
+
79
+ background: $buic-row-hover;
80
+ }
81
+ }
71
82
  }
72
83
 
73
84
  .virtualized-grid-node-category {
@@ -5,7 +5,7 @@ import { PropertyCategoryRendererManager } from "../PropertyCategoryRendererMana
5
5
  import { IPropertyDataProvider } from "../PropertyDataProvider";
6
6
  import { CommonPropertyGridProps } from "./PropertyGridCommons";
7
7
  /** Properties for [[VirtualizedPropertyGridWithDataProvider]] React component
8
- * @beta
8
+ * @public
9
9
  */
10
10
  export interface VirtualizedPropertyGridWithDataProviderProps extends CommonPropertyGridProps {
11
11
  dataProvider: IPropertyDataProvider;
@@ -19,7 +19,7 @@ export interface VirtualizedPropertyGridWithDataProviderProps extends CommonProp
19
19
  /**
20
20
  * VirtualizedPropertyGrid React Component which takes dataProvider and
21
21
  * sets up default implementations for IPropertyGridModelSource nad IPropertyGridEventHandler
22
- * @beta
22
+ * @public
23
23
  */
24
24
  export declare function VirtualizedPropertyGridWithDataProvider(props: VirtualizedPropertyGridWithDataProviderProps): JSX.Element;
25
25
  //# sourceMappingURL=VirtualizedPropertyGridWithDataProvider.d.ts.map
@@ -12,7 +12,7 @@ import { VirtualizedPropertyGrid } from "./VirtualizedPropertyGrid";
12
12
  /**
13
13
  * VirtualizedPropertyGrid React Component which takes dataProvider and
14
14
  * sets up default implementations for IPropertyGridModelSource nad IPropertyGridEventHandler
15
- * @beta
15
+ * @public
16
16
  */
17
17
  export function VirtualizedPropertyGridWithDataProvider(props) {
18
18
  const modelSource = usePropertyGridModelSource({ dataProvider: props.dataProvider });
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedPropertyGridWithDataProvider.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAI9H,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAepE;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CAAC,KAAmD;IACzG,MAAM,WAAW,GAAG,0BAA0B,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CACL,6BAAK,SAAS,EAAC,6CAA6C;YAC1D,oBAAC,cAAc,IAAC,IAAI,EAAC,OAAO,GAAG,CAC3B,CACP,CAAC;KACH;IAED,OAAO,CAAC,oBAAC,uBAAuB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAAC,CAAC;AAC5F,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport React from \"react\";\nimport { DelayedSpinner } from \"../../common/DelayedSpinner\";\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\nimport { usePropertyGridEventHandler, usePropertyGridModel, usePropertyGridModelSource } from \"../internal/PropertyGridHooks\";\nimport { PropertyCategoryRendererManager } from \"../PropertyCategoryRendererManager\";\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\nimport { CommonPropertyGridProps } from \"./PropertyGridCommons\";\nimport { VirtualizedPropertyGrid } from \"./VirtualizedPropertyGrid\";\n\n/** Properties for [[VirtualizedPropertyGridWithDataProvider]] React component\n * @beta\n */\nexport interface VirtualizedPropertyGridWithDataProviderProps extends CommonPropertyGridProps {\n dataProvider: IPropertyDataProvider;\n highlight?: HighlightingComponentProps & {\n filteredTypes?: FilteredType[];\n };\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\n width: number;\n height: number;\n}\n\n/**\n * VirtualizedPropertyGrid React Component which takes dataProvider and\n * sets up default implementations for IPropertyGridModelSource nad IPropertyGridEventHandler\n * @beta\n */\nexport function VirtualizedPropertyGridWithDataProvider(props: VirtualizedPropertyGridWithDataProviderProps) {\n const modelSource = usePropertyGridModelSource({ dataProvider: props.dataProvider });\n const model = usePropertyGridModel({ modelSource });\n const eventHandler = usePropertyGridEventHandler({ modelSource });\n\n if (!model) {\n return (\n <div className=\"components-virtualized-property-grid-loader\">\n <DelayedSpinner size=\"large\" />\n </div>\n );\n }\n\n return (<VirtualizedPropertyGrid {...props} model={model} eventHandler={eventHandler} />);\n}\n"]}
1
+ {"version":3,"file":"VirtualizedPropertyGridWithDataProvider.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAI9H,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAepE;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CAAC,KAAmD;IACzG,MAAM,WAAW,GAAG,0BAA0B,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAElE,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CACL,6BAAK,SAAS,EAAC,6CAA6C;YAC1D,oBAAC,cAAc,IAAC,IAAI,EAAC,OAAO,GAAG,CAC3B,CACP,CAAC;KACH;IAED,OAAO,CAAC,oBAAC,uBAAuB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAAC,CAAC;AAC5F,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport React from \"react\";\nimport { DelayedSpinner } from \"../../common/DelayedSpinner\";\nimport { HighlightingComponentProps } from \"../../common/HighlightingComponentProps\";\nimport { FilteredType } from \"../dataproviders/filterers/PropertyDataFiltererBase\";\nimport { usePropertyGridEventHandler, usePropertyGridModel, usePropertyGridModelSource } from \"../internal/PropertyGridHooks\";\nimport { PropertyCategoryRendererManager } from \"../PropertyCategoryRendererManager\";\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\nimport { CommonPropertyGridProps } from \"./PropertyGridCommons\";\nimport { VirtualizedPropertyGrid } from \"./VirtualizedPropertyGrid\";\n\n/** Properties for [[VirtualizedPropertyGridWithDataProvider]] React component\n * @public\n */\nexport interface VirtualizedPropertyGridWithDataProviderProps extends CommonPropertyGridProps {\n dataProvider: IPropertyDataProvider;\n highlight?: HighlightingComponentProps & {\n filteredTypes?: FilteredType[];\n };\n propertyCategoryRendererManager?: PropertyCategoryRendererManager;\n width: number;\n height: number;\n}\n\n/**\n * VirtualizedPropertyGrid React Component which takes dataProvider and\n * sets up default implementations for IPropertyGridModelSource nad IPropertyGridEventHandler\n * @public\n */\nexport function VirtualizedPropertyGridWithDataProvider(props: VirtualizedPropertyGridWithDataProviderProps) {\n const modelSource = usePropertyGridModelSource({ dataProvider: props.dataProvider });\n const model = usePropertyGridModel({ modelSource });\n const eventHandler = usePropertyGridEventHandler({ modelSource });\n\n if (!model) {\n return (\n <div className=\"components-virtualized-property-grid-loader\">\n <DelayedSpinner size=\"large\" />\n </div>\n );\n }\n\n return (<VirtualizedPropertyGrid {...props} model={model} eventHandler={eventHandler} />);\n}\n"]}
@@ -4,14 +4,14 @@
4
4
  import { IPropertyGridModelSource } from "./PropertyGridModelSource";
5
5
  /**
6
6
  * Handles events and changes on PropertyGridModel data.
7
- * @beta
7
+ * @public
8
8
  */
9
9
  export interface IPropertyGridEventHandler {
10
10
  onExpansionToggled: (selectionKey: string) => void;
11
11
  }
12
12
  /**
13
13
  * Handles events and changes on PropertyGridModel data.
14
- * @beta
14
+ * @public
15
15
  */
16
16
  export declare class PropertyGridEventHandler {
17
17
  private _modelSource;
@@ -4,7 +4,7 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  /**
6
6
  * Handles events and changes on PropertyGridModel data.
7
- * @beta
7
+ * @public
8
8
  */
9
9
  export class PropertyGridEventHandler {
10
10
  constructor(_modelSource) {
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridEventHandler.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridEventHandler.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAe/F;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IACnC,YAA2B,YAAsC;QAAtC,iBAAY,GAAZ,YAAY,CAA0B;QAGjE;;;WAGG;QACI,uBAAkB,GAAG,CAAC,YAAoB,EAAE,EAAE;YACnD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAXF,CAAC;CAYF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { IPropertyGridModelSource } from \"./PropertyGridModelSource\";\n\n/**\n * Handles events and changes on PropertyGridModel data.\n * @beta\n */\nexport interface IPropertyGridEventHandler {\n onExpansionToggled: (selectionKey: string) => void;\n}\n\n/**\n * Handles events and changes on PropertyGridModel data.\n * @beta\n */\nexport class PropertyGridEventHandler {\n public constructor(private _modelSource: IPropertyGridModelSource) {\n }\n\n /**\n * Flips isExpand on item by given selectionKey\n * @param selectionKey item to be modified\n */\n public onExpansionToggled = (selectionKey: string) => {\n this._modelSource.modifyModel((draftModel) => {\n const item = draftModel.getItem(selectionKey);\n item.isExpanded = !item.isExpanded;\n });\n };\n}\n"]}
1
+ {"version":3,"file":"PropertyGridEventHandler.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridEventHandler.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAe/F;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IACnC,YAA2B,YAAsC;QAAtC,iBAAY,GAAZ,YAAY,CAA0B;QAGjE;;;WAGG;QACI,uBAAkB,GAAG,CAAC,YAAoB,EAAE,EAAE;YACnD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9C,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IAXF,CAAC;CAYF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { IPropertyGridModelSource } from \"./PropertyGridModelSource\";\n\n/**\n * Handles events and changes on PropertyGridModel data.\n * @public\n */\nexport interface IPropertyGridEventHandler {\n onExpansionToggled: (selectionKey: string) => void;\n}\n\n/**\n * Handles events and changes on PropertyGridModel data.\n * @public\n */\nexport class PropertyGridEventHandler {\n public constructor(private _modelSource: IPropertyGridModelSource) {\n }\n\n /**\n * Flips isExpand on item by given selectionKey\n * @param selectionKey item to be modified\n */\n public onExpansionToggled = (selectionKey: string) => {\n this._modelSource.modifyModel((draftModel) => {\n const item = draftModel.getItem(selectionKey);\n item.isExpanded = !item.isExpanded;\n });\n };\n}\n"]}
@@ -17,21 +17,21 @@ export declare function usePropertyData(props: {
17
17
  };
18
18
  /**
19
19
  * Custom hook that creates a [[PropertyGridModelSource]] and subscribes it to data updates from the data provider.
20
- * @beta
20
+ * @public
21
21
  */
22
22
  export declare function usePropertyGridModelSource(props: {
23
23
  dataProvider: IPropertyDataProvider;
24
24
  }): PropertyGridModelSource;
25
25
  /**
26
26
  * Custom hook that creates memoized version of [[PropertyGridEventHandler]] that modifies given modelSource
27
- * @beta
27
+ * @public
28
28
  */
29
29
  export declare function usePropertyGridEventHandler(props: {
30
30
  modelSource: IPropertyGridModelSource;
31
31
  }): PropertyGridEventHandler;
32
32
  /**
33
33
  * Custom hook that automatically listens and retrieves latest model from model source
34
- * @beta
34
+ * @public
35
35
  */
36
36
  export declare function usePropertyGridModel(props: {
37
37
  modelSource: IPropertyGridModelSource;
@@ -28,7 +28,7 @@ export function usePropertyData(props) {
28
28
  }
29
29
  /**
30
30
  * Custom hook that creates a [[PropertyGridModelSource]] and subscribes it to data updates from the data provider.
31
- * @beta
31
+ * @public
32
32
  */
33
33
  export function usePropertyGridModelSource(props) {
34
34
  const { value: propertyData } = usePropertyData(props);
@@ -44,14 +44,14 @@ export function usePropertyGridModelSource(props) {
44
44
  }
45
45
  /**
46
46
  * Custom hook that creates memoized version of [[PropertyGridEventHandler]] that modifies given modelSource
47
- * @beta
47
+ * @public
48
48
  */
49
49
  export function usePropertyGridEventHandler(props) {
50
50
  return useMemo(() => new PropertyGridEventHandler(props.modelSource), [props.modelSource]);
51
51
  }
52
52
  /**
53
53
  * Custom hook that automatically listens and retrieves latest model from model source
54
- * @beta
54
+ * @public
55
55
  */
56
56
  export function usePropertyGridModel(props) {
57
57
  const { modelSource } = { ...props };
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridHooks.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridHooks.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAA4B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE9F;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8C;IAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE;YACjD,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,yGAAyG;IACzG,uDAAuD;IACvD,OAAO,sBAAsB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA8C;IACvF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAEtC,8DAA8D;IAC9D,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,sBAAsB,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY;YACd,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAgD;IAC1F,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgD;IACnF,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,YAAY,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport { useCallback, useEffect, useMemo, useReducer, useState } from \"react\";\nimport { useDebouncedAsyncValue } from \"../../common/UseDebouncedAsyncValue\";\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\nimport { MutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\nimport { PropertyGridEventHandler } from \"./PropertyGridEventHandler\";\nimport { IPropertyGridModel } from \"./PropertyGridModel\";\nimport { IPropertyGridModelSource, PropertyGridModelSource } from \"./PropertyGridModelSource\";\n\n/**\n * Custom hook that gets [[PropertyData]] from given [[IPropertyDataProvider]] and subscribes to further data changes.\n * @public\n */\nexport function usePropertyData(props: { dataProvider: IPropertyDataProvider }) {\n const { dataProvider } = props;\n\n const [forcedUpdate, triggerForcedUpdate] = useReducer(() => ({}), {});\n useEffect(() => {\n return dataProvider.onDataChanged.addListener(() => {\n triggerForcedUpdate();\n });\n }, [dataProvider]);\n\n // forcedUpdate is added to dependency list to re-memo getData promise when onDataChanged emits an event.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useDebouncedAsyncValue(useCallback(async () => dataProvider.getData(), [dataProvider, forcedUpdate]));\n}\n\n/**\n * Custom hook that creates a [[PropertyGridModelSource]] and subscribes it to data updates from the data provider.\n * @beta\n */\nexport function usePropertyGridModelSource(props: { dataProvider: IPropertyDataProvider }) {\n const { value: propertyData } = usePropertyData(props);\n const { dataProvider } = { ...props };\n\n // Model source needs to be recreated if data provider changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const modelSource = useMemo(() => new PropertyGridModelSource(new MutableGridItemFactory()), [dataProvider]);\n\n useEffect(() => {\n if (propertyData)\n modelSource.setPropertyData(propertyData);\n }, [modelSource, propertyData]);\n\n return modelSource;\n}\n\n/**\n * Custom hook that creates memoized version of [[PropertyGridEventHandler]] that modifies given modelSource\n * @beta\n */\nexport function usePropertyGridEventHandler(props: { modelSource: IPropertyGridModelSource }) {\n return useMemo(() => new PropertyGridEventHandler(props.modelSource), [props.modelSource]);\n}\n\n/**\n * Custom hook that automatically listens and retrieves latest model from model source\n * @beta\n */\nexport function usePropertyGridModel(props: { modelSource: IPropertyGridModelSource }) {\n const { modelSource } = { ...props };\n const [model, setModel] = useState<IPropertyGridModel>();\n\n useEffect(() => {\n const modelChanged = () => {\n setModel(modelSource.getModel());\n };\n modelChanged();\n return modelSource.onModelChanged.addListener(modelChanged);\n }, [modelSource]);\n\n return model;\n}\n"]}
1
+ {"version":3,"file":"PropertyGridHooks.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridHooks.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAA4B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE9F;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8C;IAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE;YACjD,mBAAmB,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,yGAAyG;IACzG,uDAAuD;IACvD,OAAO,sBAAsB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAA8C;IACvF,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAEtC,8DAA8D;IAC9D,uDAAuD;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,uBAAuB,CAAC,IAAI,sBAAsB,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE7G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY;YACd,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAgD;IAC1F,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,wBAAwB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgD;IACnF,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAsB,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,YAAY,EAAE,CAAC;QACf,OAAO,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport { useCallback, useEffect, useMemo, useReducer, useState } from \"react\";\nimport { useDebouncedAsyncValue } from \"../../common/UseDebouncedAsyncValue\";\nimport { IPropertyDataProvider } from \"../PropertyDataProvider\";\nimport { MutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\nimport { PropertyGridEventHandler } from \"./PropertyGridEventHandler\";\nimport { IPropertyGridModel } from \"./PropertyGridModel\";\nimport { IPropertyGridModelSource, PropertyGridModelSource } from \"./PropertyGridModelSource\";\n\n/**\n * Custom hook that gets [[PropertyData]] from given [[IPropertyDataProvider]] and subscribes to further data changes.\n * @public\n */\nexport function usePropertyData(props: { dataProvider: IPropertyDataProvider }) {\n const { dataProvider } = props;\n\n const [forcedUpdate, triggerForcedUpdate] = useReducer(() => ({}), {});\n useEffect(() => {\n return dataProvider.onDataChanged.addListener(() => {\n triggerForcedUpdate();\n });\n }, [dataProvider]);\n\n // forcedUpdate is added to dependency list to re-memo getData promise when onDataChanged emits an event.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return useDebouncedAsyncValue(useCallback(async () => dataProvider.getData(), [dataProvider, forcedUpdate]));\n}\n\n/**\n * Custom hook that creates a [[PropertyGridModelSource]] and subscribes it to data updates from the data provider.\n * @public\n */\nexport function usePropertyGridModelSource(props: { dataProvider: IPropertyDataProvider }) {\n const { value: propertyData } = usePropertyData(props);\n const { dataProvider } = { ...props };\n\n // Model source needs to be recreated if data provider changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const modelSource = useMemo(() => new PropertyGridModelSource(new MutableGridItemFactory()), [dataProvider]);\n\n useEffect(() => {\n if (propertyData)\n modelSource.setPropertyData(propertyData);\n }, [modelSource, propertyData]);\n\n return modelSource;\n}\n\n/**\n * Custom hook that creates memoized version of [[PropertyGridEventHandler]] that modifies given modelSource\n * @public\n */\nexport function usePropertyGridEventHandler(props: { modelSource: IPropertyGridModelSource }) {\n return useMemo(() => new PropertyGridEventHandler(props.modelSource), [props.modelSource]);\n}\n\n/**\n * Custom hook that automatically listens and retrieves latest model from model source\n * @public\n */\nexport function usePropertyGridModel(props: { modelSource: IPropertyGridModelSource }) {\n const { modelSource } = { ...props };\n const [model, setModel] = useState<IPropertyGridModel>();\n\n useEffect(() => {\n const modelChanged = () => {\n setModel(modelSource.getModel());\n };\n modelChanged();\n return modelSource.onModelChanged.addListener(modelChanged);\n }, [modelSource]);\n\n return model;\n}\n"]}
@@ -8,7 +8,7 @@ import { IMutableFlatGridItem, IMutableGridCategoryItem } from "./flat-items/Mut
8
8
  import { IMutableGridItemFactory } from "./flat-items/MutableGridItemFactory";
9
9
  /**
10
10
  * PropertyGridModel interface for working with immutable FlatGridItems
11
- * @beta
11
+ * @public
12
12
  */
13
13
  export interface IPropertyGridModel {
14
14
  getItem: (selectionKey: string) => FlatGridItem;
@@ -18,7 +18,7 @@ export interface IPropertyGridModel {
18
18
  }
19
19
  /**
20
20
  * PropertyGridModel interface for working with mutable FlatGridItems
21
- * @beta
21
+ * @public
22
22
  */
23
23
  export interface IMutablePropertyGridModel {
24
24
  getItem: (selectionKey: string) => IMutableFlatGridItem;
@@ -28,7 +28,7 @@ export interface IMutablePropertyGridModel {
28
28
  }
29
29
  /**
30
30
  * Implementation of PropertyGridModel for working with and converting PropertyData to mutable FlatGridItems
31
- * @beta
31
+ * @public
32
32
  */
33
33
  export declare class MutablePropertyGridModel implements IPropertyGridModel, IMutablePropertyGridModel {
34
34
  private _gridItemFactory;
@@ -9,7 +9,7 @@ var _a;
9
9
  import { immerable } from "immer";
10
10
  /**
11
11
  * Implementation of PropertyGridModel for working with and converting PropertyData to mutable FlatGridItems
12
- * @beta
12
+ * @public
13
13
  */
14
14
  export class MutablePropertyGridModel {
15
15
  constructor(propertyData, _gridItemFactory) {
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridModel.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModel.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4BlC;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAInC,YAAmB,YAA0B,EAAU,gBAAyC;QAAzC,qBAAgB,GAAhB,gBAAgB,CAAyB;QAHzF,QAAW,GAAG,IAAI,CAAC;QAIxB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3J,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,YAAoB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,KAA6B,EAAE,YAAoB;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,2IAA2I;YAC3I,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,SAAS;YAEX,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY;gBACpC,OAAO,IAAI,CAAC;YAEd,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,SAAS;gBACX,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAE3F,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAEtG,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;KAvES,SAAS","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { immerable } from \"immer\";\nimport { PropertyCategory, PropertyData } from \"../PropertyDataProvider\";\nimport { FlatGridItem, GridCategoryItem } from \"./flat-items/FlatGridItem\";\nimport { IMutableFlatGridItem, IMutableGridCategoryItem } from \"./flat-items/MutableFlatGridItem\";\nimport { IMutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\n\n/**\n * PropertyGridModel interface for working with immutable FlatGridItems\n * @beta\n */\nexport interface IPropertyGridModel {\n getItem: (selectionKey: string) => FlatGridItem;\n getRootCategories: () => GridCategoryItem[];\n getFlatGrid: () => FlatGridItem[];\n getVisibleFlatGrid: () => FlatGridItem[];\n}\n\n/**\n * PropertyGridModel interface for working with mutable FlatGridItems\n * @beta\n */\nexport interface IMutablePropertyGridModel {\n getItem: (selectionKey: string) => IMutableFlatGridItem;\n getRootCategories: () => IMutableGridCategoryItem[];\n getFlatGrid: () => IMutableFlatGridItem[];\n getVisibleFlatGrid: () => IMutableFlatGridItem[];\n}\n\n/**\n * Implementation of PropertyGridModel for working with and converting PropertyData to mutable FlatGridItems\n * @beta\n */\nexport class MutablePropertyGridModel implements IPropertyGridModel, IMutablePropertyGridModel {\n public [immerable] = true;\n\n private _categories: IMutableGridCategoryItem[];\n public constructor(propertyData: PropertyData, private _gridItemFactory: IMutableGridItemFactory) {\n this._categories = propertyData.categories.map((category: PropertyCategory) => this._gridItemFactory.createGridCategory(category, propertyData.records));\n }\n\n /**\n * Retrieves grid item from model.\n * @param selectionKey unique key for identifying item to retrieve.\n */\n public getItem(selectionKey: string) {\n const item = this.findItem(this._categories, selectionKey);\n if (!item)\n throw new Error(`Grid item at provided key not found: ${selectionKey}`);\n\n return item;\n }\n\n /**\n * Walks the grid item hierarchy and finds item matching key\n * @param items items and their descendants to check\n * @param selectionKey unique key for identifying item\n * @returns FlatGridItem if items with key exists, undefined otherwise\n */\n private findItem(items: IMutableFlatGridItem[], selectionKey: string): IMutableFlatGridItem | undefined {\n for (const item of items) {\n // Each items key is prefixed with it's parent key, so we can ignore the ones that aren't prefixed to reduce checking unnecessary branches.\n if (!selectionKey.startsWith(item.selectionKey))\n continue;\n\n if (item.selectionKey === selectionKey)\n return item;\n\n const foundItem = this.findItem(item.getChildren(), selectionKey);\n if (foundItem)\n return foundItem;\n }\n\n return undefined;\n }\n\n /**\n * Gets all GridCategoryItems that do not have parent categories.\n * @returns array of GridCategoryItems\n */\n public getRootCategories(): IMutableGridCategoryItem[] {\n return this._categories;\n }\n\n /**\n * Gets an array of all FlatGridItems.\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\n */\n public getFlatGrid(): IMutableFlatGridItem[] {\n const flatGrid: IMutableFlatGridItem[] = [];\n this._categories.forEach((category) => flatGrid.push(...category.getDescendantsAndSelf()));\n\n return flatGrid;\n }\n\n /**\n * Gets an array of all currently visible FlatGridItems.\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\n */\n public getVisibleFlatGrid(): IMutableFlatGridItem[] {\n const visibleItems: IMutableFlatGridItem[] = [];\n this._categories.forEach((category) => visibleItems.push(...category.getVisibleDescendantsAndSelf()));\n\n return visibleItems;\n }\n}\n"]}
1
+ {"version":3,"file":"PropertyGridModel.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModel.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA4BlC;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IAInC,YAAmB,YAA0B,EAAU,gBAAyC;QAAzC,qBAAgB,GAAhB,gBAAgB,CAAyB;QAHzF,QAAW,GAAG,IAAI,CAAC;QAIxB,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3J,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,YAAoB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,KAAK,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAC;QAE1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,KAA6B,EAAE,YAAoB;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,2IAA2I;YAC3I,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7C,SAAS;YAEX,IAAI,IAAI,CAAC,YAAY,KAAK,YAAY;gBACpC,OAAO,IAAI,CAAC;YAEd,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,SAAS;gBACX,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAE3F,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAEtG,OAAO,YAAY,CAAC;IACtB,CAAC;CACF;KAvES,SAAS","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { immerable } from \"immer\";\nimport { PropertyCategory, PropertyData } from \"../PropertyDataProvider\";\nimport { FlatGridItem, GridCategoryItem } from \"./flat-items/FlatGridItem\";\nimport { IMutableFlatGridItem, IMutableGridCategoryItem } from \"./flat-items/MutableFlatGridItem\";\nimport { IMutableGridItemFactory } from \"./flat-items/MutableGridItemFactory\";\n\n/**\n * PropertyGridModel interface for working with immutable FlatGridItems\n * @public\n */\nexport interface IPropertyGridModel {\n getItem: (selectionKey: string) => FlatGridItem;\n getRootCategories: () => GridCategoryItem[];\n getFlatGrid: () => FlatGridItem[];\n getVisibleFlatGrid: () => FlatGridItem[];\n}\n\n/**\n * PropertyGridModel interface for working with mutable FlatGridItems\n * @public\n */\nexport interface IMutablePropertyGridModel {\n getItem: (selectionKey: string) => IMutableFlatGridItem;\n getRootCategories: () => IMutableGridCategoryItem[];\n getFlatGrid: () => IMutableFlatGridItem[];\n getVisibleFlatGrid: () => IMutableFlatGridItem[];\n}\n\n/**\n * Implementation of PropertyGridModel for working with and converting PropertyData to mutable FlatGridItems\n * @public\n */\nexport class MutablePropertyGridModel implements IPropertyGridModel, IMutablePropertyGridModel {\n public [immerable] = true;\n\n private _categories: IMutableGridCategoryItem[];\n public constructor(propertyData: PropertyData, private _gridItemFactory: IMutableGridItemFactory) {\n this._categories = propertyData.categories.map((category: PropertyCategory) => this._gridItemFactory.createGridCategory(category, propertyData.records));\n }\n\n /**\n * Retrieves grid item from model.\n * @param selectionKey unique key for identifying item to retrieve.\n */\n public getItem(selectionKey: string) {\n const item = this.findItem(this._categories, selectionKey);\n if (!item)\n throw new Error(`Grid item at provided key not found: ${selectionKey}`);\n\n return item;\n }\n\n /**\n * Walks the grid item hierarchy and finds item matching key\n * @param items items and their descendants to check\n * @param selectionKey unique key for identifying item\n * @returns FlatGridItem if items with key exists, undefined otherwise\n */\n private findItem(items: IMutableFlatGridItem[], selectionKey: string): IMutableFlatGridItem | undefined {\n for (const item of items) {\n // Each items key is prefixed with it's parent key, so we can ignore the ones that aren't prefixed to reduce checking unnecessary branches.\n if (!selectionKey.startsWith(item.selectionKey))\n continue;\n\n if (item.selectionKey === selectionKey)\n return item;\n\n const foundItem = this.findItem(item.getChildren(), selectionKey);\n if (foundItem)\n return foundItem;\n }\n\n return undefined;\n }\n\n /**\n * Gets all GridCategoryItems that do not have parent categories.\n * @returns array of GridCategoryItems\n */\n public getRootCategories(): IMutableGridCategoryItem[] {\n return this._categories;\n }\n\n /**\n * Gets an array of all FlatGridItems.\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\n */\n public getFlatGrid(): IMutableFlatGridItem[] {\n const flatGrid: IMutableFlatGridItem[] = [];\n this._categories.forEach((category) => flatGrid.push(...category.getDescendantsAndSelf()));\n\n return flatGrid;\n }\n\n /**\n * Gets an array of all currently visible FlatGridItems.\n * @returns 1-Dimensional array of GridCategories and CategorizedProperties\n */\n public getVisibleFlatGrid(): IMutableFlatGridItem[] {\n const visibleItems: IMutableFlatGridItem[] = [];\n this._categories.forEach((category) => visibleItems.push(...category.getVisibleDescendantsAndSelf()));\n\n return visibleItems;\n }\n}\n"]}
@@ -4,12 +4,12 @@
4
4
  import { BeEvent } from "@itwin/core-bentley";
5
5
  /**
6
6
  * A signature for property grid model change listeners
7
- * @beta
7
+ * @public
8
8
  */
9
9
  export declare type PropertyGridModelChangeListener = () => void;
10
10
  /**
11
11
  * An event broadcasted on property grid model changes
12
- * @beta
12
+ * @public
13
13
  */
14
14
  export declare class PropertyGridModelChangeEvent extends BeEvent<PropertyGridModelChangeListener> {
15
15
  }
@@ -8,7 +8,7 @@
8
8
  import { BeEvent } from "@itwin/core-bentley";
9
9
  /**
10
10
  * An event broadcasted on property grid model changes
11
- * @beta
11
+ * @public
12
12
  */
13
13
  export class PropertyGridModelChangeEvent extends BeEvent {
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridModelChangeEvent.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelChangeEvent.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ9C;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,OAAwC;CAAI","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { BeEvent } from \"@itwin/core-bentley\";\n\n/**\n * A signature for property grid model change listeners\n * @beta\n */\nexport type PropertyGridModelChangeListener = () => void;\n\n/**\n * An event broadcasted on property grid model changes\n * @beta\n */\nexport class PropertyGridModelChangeEvent extends BeEvent<PropertyGridModelChangeListener> { }\n"]}
1
+ {"version":3,"file":"PropertyGridModelChangeEvent.js","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelChangeEvent.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ9C;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,OAAwC;CAAI","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport { BeEvent } from \"@itwin/core-bentley\";\n\n/**\n * A signature for property grid model change listeners\n * @public\n */\nexport type PropertyGridModelChangeListener = () => void;\n\n/**\n * An event broadcasted on property grid model changes\n * @public\n */\nexport class PropertyGridModelChangeEvent extends BeEvent<PropertyGridModelChangeListener> { }\n"]}
@@ -5,7 +5,7 @@ import { PropertyData } from "../PropertyDataProvider";
5
5
  import { IMutableGridItemFactory } from "./flat-items/MutableGridItemFactory";
6
6
  import { IMutablePropertyGridModel, IPropertyGridModel } from "./PropertyGridModel";
7
7
  import { PropertyGridModelChangeEvent } from "./PropertyGridModelChangeEvent";
8
- /** @beta */
8
+ /** @public */
9
9
  export interface IPropertyGridModelSource {
10
10
  onModelChanged: PropertyGridModelChangeEvent;
11
11
  setPropertyData: (data: PropertyData) => void;
@@ -15,7 +15,7 @@ export interface IPropertyGridModelSource {
15
15
  /**
16
16
  * Controls property grid model.
17
17
  * It is used to modify property grid model model and inform when the model changes.
18
- * @beta
18
+ * @public
19
19
  */
20
20
  export declare class PropertyGridModelSource implements IPropertyGridModelSource {
21
21
  private _gridFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyGridModelSource.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelSource.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAA4B,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,YAAY;AACZ,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,4BAA4B,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GAAG,IAAI,CAAC;IACxE,QAAQ,IAAI,kBAAkB,GAAG,SAAS,CAAC;CAC5C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,wBAAwB;IAKnD,OAAO,CAAC,YAAY;IAJvC,OAAO,CAAC,MAAM,CAAC,CAA4B;IAC3C,kEAAkE;IAC3D,cAAc,+BAAsC;gBAEhC,YAAY,EAAE,uBAAuB;IAGhE,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,iBAAiB;IAYlB,eAAe,CAAC,IAAI,EAAE,YAAY;IASzC;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GAAG,IAAI;IAQ9E,mCAAmC;IAC5B,QAAQ,IAAI,kBAAkB,GAAG,SAAS;CAGlD"}
1
+ {"version":3,"file":"PropertyGridModelSource.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/propertygrid/internal/PropertyGridModelSource.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAA4B,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,cAAc;AACd,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,4BAA4B,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GAAG,IAAI,CAAC;IACxE,QAAQ,IAAI,kBAAkB,GAAG,SAAS,CAAC;CAC5C;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,wBAAwB;IAKnD,OAAO,CAAC,YAAY;IAJvC,OAAO,CAAC,MAAM,CAAC,CAA4B;IAC3C,kEAAkE;IAC3D,cAAc,+BAAsC;gBAEhC,YAAY,EAAE,uBAAuB;IAGhE,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,iBAAiB;IAYlB,eAAe,CAAC,IAAI,EAAE,YAAY;IASzC;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,GAAG,IAAI;IAQ9E,mCAAmC;IAC5B,QAAQ,IAAI,kBAAkB,GAAG,SAAS;CAGlD"}
@@ -11,7 +11,7 @@ import { PropertyGridModelChangeEvent } from "./PropertyGridModelChangeEvent";
11
11
  /**
12
12
  * Controls property grid model.
13
13
  * It is used to modify property grid model model and inform when the model changes.
14
- * @beta
14
+ * @public
15
15
  */
16
16
  export class PropertyGridModelSource {
17
17
  constructor(_gridFactory) {