@itwin/components-react 3.6.0-dev.8 → 3.7.0-dev.1

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 (383) hide show
  1. package/CHANGELOG.md +39 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/components-react/breadcrumb/Breadcrumb.d.ts +5 -5
  4. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js +3 -3
  5. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  6. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.d.ts +2 -2
  7. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js +1 -1
  8. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  9. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.d.ts +3 -3
  10. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js +2 -2
  11. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  12. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +1 -1
  13. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js +1 -1
  14. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  15. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +4 -1
  16. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  17. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +4 -1
  18. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  19. package/lib/cjs/components-react/common/showhide/ShowHideDialog.d.ts +2 -2
  20. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js +1 -1
  21. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  22. package/lib/cjs/components-react/common/showhide/ShowHideItem.d.ts +2 -2
  23. package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
  24. package/lib/cjs/components-react/common/showhide/ShowHideMenu.d.ts +2 -2
  25. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js +1 -1
  26. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  27. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  28. package/lib/cjs/components-react/converters/TypeConverterManager.js +3 -4
  29. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  30. package/lib/cjs/components-react/editors/ThemedEnumEditor.d.ts +4 -4
  31. package/lib/cjs/components-react/editors/ThemedEnumEditor.js +2 -2
  32. package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
  33. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +22 -24
  34. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  35. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +24 -83
  36. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  37. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  38. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  39. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +83 -0
  40. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  41. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  42. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  43. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +22 -12
  44. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  45. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +4 -0
  46. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  47. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  48. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +22 -14
  49. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  50. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -2
  51. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  52. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +11 -5
  53. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  54. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  55. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  56. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +11 -5
  57. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  58. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  59. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  60. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +11 -5
  61. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  62. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +52 -8
  63. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  64. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +102 -12
  65. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  66. package/lib/cjs/components-react/filter-builder/Operators.d.ts +23 -5
  67. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  68. package/lib/cjs/components-react/filter-builder/Operators.js +25 -7
  69. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  70. package/lib/cjs/components-react/filter-builder/Types.d.ts +24 -4
  71. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  72. package/lib/cjs/components-react/filter-builder/Types.js +11 -1
  73. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  74. package/lib/cjs/components-react/filtering/FilteringInput.js +1 -1
  75. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  76. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +2 -2
  77. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +2 -2
  78. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  79. package/lib/cjs/components-react/properties/LinkHandler.d.ts +2 -2
  80. package/lib/cjs/components-react/properties/LinkHandler.js +1 -1
  81. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  82. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  83. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +1 -1
  84. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  85. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  86. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  87. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +3 -1
  88. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts.map +1 -1
  89. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +1 -0
  90. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  91. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +5 -10
  92. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  93. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  94. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +3 -3
  95. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +1 -1
  96. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  97. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +11 -0
  98. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +2 -2
  99. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +1 -1
  100. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  101. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  102. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  103. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  104. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +3 -3
  105. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +3 -3
  106. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  107. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  108. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  109. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  110. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +2 -2
  111. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  112. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  113. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  114. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  115. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  116. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  117. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +6 -6
  118. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  119. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  120. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  121. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  122. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  123. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  124. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  125. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  126. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  127. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  128. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  129. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +10 -10
  130. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +3 -3
  131. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  132. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  133. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +1 -1
  134. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  135. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  136. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -1
  137. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  138. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  139. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  140. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  141. package/lib/cjs/components-react/table/SimpleTableDataProvider.d.ts +1 -1
  142. package/lib/cjs/components-react/table/SimpleTableDataProvider.js +1 -1
  143. package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
  144. package/lib/cjs/components-react/table/TableDataProvider.d.ts +8 -8
  145. package/lib/cjs/components-react/table/TableDataProvider.js +2 -2
  146. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  147. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.d.ts +16 -16
  148. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js +6 -6
  149. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  150. package/lib/cjs/components-react/table/component/ColumnDragLayer.d.ts +1 -1
  151. package/lib/cjs/components-react/table/component/ColumnDragLayer.js +1 -1
  152. package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
  153. package/lib/cjs/components-react/table/component/Table.d.ts +9 -9
  154. package/lib/cjs/components-react/table/component/Table.d.ts.map +1 -1
  155. package/lib/cjs/components-react/table/component/Table.js +2 -2
  156. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  157. package/lib/cjs/components-react/table/component/TableCell.d.ts +7 -7
  158. package/lib/cjs/components-react/table/component/TableCell.js +3 -3
  159. package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
  160. package/lib/cjs/components-react/table/component/TableColumn.d.ts +1 -1
  161. package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
  162. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.d.ts +1 -1
  163. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js +1 -1
  164. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  165. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.d.ts +8 -8
  166. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js +2 -2
  167. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  168. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.d.ts +2 -2
  169. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js +1 -1
  170. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  171. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.d.ts +2 -2
  172. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js +1 -1
  173. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  174. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +1 -1
  175. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  176. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  177. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  178. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  179. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  180. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +2 -2
  181. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  182. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  183. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  184. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  185. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  186. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +2 -5
  187. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  188. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  189. package/lib/cjs/components-react.d.ts +4 -6
  190. package/lib/cjs/components-react.d.ts.map +1 -1
  191. package/lib/cjs/components-react.js +4 -6
  192. package/lib/cjs/components-react.js.map +1 -1
  193. package/lib/esm/components-react/breadcrumb/Breadcrumb.d.ts +5 -5
  194. package/lib/esm/components-react/breadcrumb/Breadcrumb.js +3 -3
  195. package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  196. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.d.ts +2 -2
  197. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js +1 -1
  198. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  199. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.d.ts +3 -3
  200. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js +2 -2
  201. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  202. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +1 -1
  203. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js +1 -1
  204. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  205. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +4 -1
  206. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  207. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +4 -1
  208. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  209. package/lib/esm/components-react/common/showhide/ShowHideDialog.d.ts +2 -2
  210. package/lib/esm/components-react/common/showhide/ShowHideDialog.js +1 -1
  211. package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  212. package/lib/esm/components-react/common/showhide/ShowHideItem.d.ts +2 -2
  213. package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
  214. package/lib/esm/components-react/common/showhide/ShowHideMenu.d.ts +2 -2
  215. package/lib/esm/components-react/common/showhide/ShowHideMenu.js +1 -1
  216. package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  217. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  218. package/lib/esm/components-react/converters/TypeConverterManager.js +3 -4
  219. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  220. package/lib/esm/components-react/editors/ThemedEnumEditor.d.ts +4 -4
  221. package/lib/esm/components-react/editors/ThemedEnumEditor.js +2 -2
  222. package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
  223. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +22 -24
  224. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  225. package/lib/esm/components-react/filter-builder/FilterBuilder.js +17 -75
  226. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  227. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  228. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  229. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +60 -0
  230. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  231. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  232. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  233. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +17 -7
  234. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  235. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +4 -0
  236. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  237. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  238. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +15 -7
  239. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  240. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -2
  241. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  242. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +7 -1
  243. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  244. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  245. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  246. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +7 -1
  247. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  248. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  249. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  250. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +7 -1
  251. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  252. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +52 -8
  253. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  254. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +96 -7
  255. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  256. package/lib/esm/components-react/filter-builder/Operators.d.ts +23 -5
  257. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  258. package/lib/esm/components-react/filter-builder/Operators.js +23 -5
  259. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  260. package/lib/esm/components-react/filter-builder/Types.d.ts +24 -4
  261. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  262. package/lib/esm/components-react/filter-builder/Types.js +11 -1
  263. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  264. package/lib/esm/components-react/filtering/FilteringInput.js +1 -1
  265. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  266. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +2 -2
  267. package/lib/esm/components-react/iconpicker/IconPickerButton.js +2 -2
  268. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  269. package/lib/esm/components-react/properties/LinkHandler.d.ts +2 -2
  270. package/lib/esm/components-react/properties/LinkHandler.js +1 -1
  271. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  272. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  273. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +1 -1
  274. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  275. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  276. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  277. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +3 -1
  278. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts.map +1 -1
  279. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +1 -0
  280. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  281. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +5 -10
  282. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  283. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  284. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +3 -3
  285. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +1 -1
  286. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  287. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +11 -0
  288. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +2 -2
  289. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +1 -1
  290. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  291. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  292. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  293. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  294. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +3 -3
  295. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +3 -3
  296. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  297. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  298. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  299. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  300. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +2 -2
  301. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  302. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  303. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  304. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  305. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  306. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  307. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +6 -6
  308. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  309. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  310. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  311. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  312. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  313. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  314. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  315. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  316. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  317. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  318. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  319. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +10 -10
  320. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +3 -3
  321. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  322. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  323. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +1 -1
  324. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  325. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  326. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -1
  327. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  328. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  329. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  330. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  331. package/lib/esm/components-react/table/SimpleTableDataProvider.d.ts +1 -1
  332. package/lib/esm/components-react/table/SimpleTableDataProvider.js +1 -1
  333. package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
  334. package/lib/esm/components-react/table/TableDataProvider.d.ts +8 -8
  335. package/lib/esm/components-react/table/TableDataProvider.js +2 -2
  336. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  337. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.d.ts +16 -16
  338. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js +6 -6
  339. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  340. package/lib/esm/components-react/table/component/ColumnDragLayer.d.ts +1 -1
  341. package/lib/esm/components-react/table/component/ColumnDragLayer.js +1 -1
  342. package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
  343. package/lib/esm/components-react/table/component/Table.d.ts +9 -9
  344. package/lib/esm/components-react/table/component/Table.d.ts.map +1 -1
  345. package/lib/esm/components-react/table/component/Table.js +2 -2
  346. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  347. package/lib/esm/components-react/table/component/TableCell.d.ts +7 -7
  348. package/lib/esm/components-react/table/component/TableCell.js +3 -3
  349. package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
  350. package/lib/esm/components-react/table/component/TableColumn.d.ts +1 -1
  351. package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
  352. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.d.ts +1 -1
  353. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js +1 -1
  354. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  355. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.d.ts +8 -8
  356. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js +2 -2
  357. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  358. package/lib/esm/components-react/table/component/dragdrop/withDragSource.d.ts +2 -2
  359. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js +1 -1
  360. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  361. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.d.ts +2 -2
  362. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js +1 -1
  363. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  364. package/lib/esm/components-react/toolbar/Toolbar.d.ts +1 -1
  365. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  366. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  367. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  368. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  369. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  370. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +2 -2
  371. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  372. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  373. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  374. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  375. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  376. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +2 -5
  377. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  378. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  379. package/lib/esm/components-react.d.ts +4 -6
  380. package/lib/esm/components-react.d.ts.map +1 -1
  381. package/lib/esm/components-react.js +4 -6
  382. package/lib/esm/components-react.js.map +1 -1
  383. package/package.json +23 -13
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbDetails.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BreadcrumbDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Breadcrumb\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { using } from \"@itwin/core-bentley\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { Table, TableProps } from \"../table/component/Table\";\r\nimport { ColumnDescription, RowItem, TableDataProvider } from \"../table/TableDataProvider\";\r\nimport { DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, TreeNodeItem } from \"../tree/TreeDataProvider\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport {\r\n BeInspireTree, BeInspireTreeEvent, BeInspireTreeNode, BeInspireTreeNodeConfig, BeInspireTreeNodes, MapPayloadToInspireNodeCallback, toNodes,\r\n} from \"./BeInspireTree\";\r\nimport { BreadcrumbPath, BreadcrumbUpdateEventArgs } from \"./BreadcrumbPath\";\r\nimport { BreadcrumbTreeUtils, DataRowItem, getPropertyRecordAsString } from \"./BreadcrumbTreeUtils\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Properties for the [[BreadcrumbDetails]] component\r\n * @beta\r\n * @deprecated\r\n */\r\nexport interface BreadcrumbDetailsProps extends CommonProps {\r\n /** Path data object shared by Breadcrumb component */\r\n path: BreadcrumbPath;\r\n columns?: ColumnDescription[];\r\n renderTable?: (props: TableProps, node: TreeNodeItem | undefined, children: TreeNodeItem[]) => React.ReactNode;\r\n /** Callback triggered when child node is loaded with an asynchronous dataProvider. */\r\n onChildrenLoaded?: (parent: TreeNodeItem, children: TreeNodeItem[]) => void;\r\n /** Callback triggered when root nodes are loaded with an asynchronous dataProvider. */\r\n onRootNodesLoaded?: (nodes: TreeNodeItem[]) => void;\r\n /** @internal */\r\n onRender?: () => void;\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbDetailsState {\r\n table?: TableDataProvider;\r\n childNodes?: TreeNodeItem[];\r\n modelReady: boolean;\r\n}\r\n\r\n/**\r\n * A Table containing all children of tree node specified in path.\r\n * Used in conjunction with [[Breadcrumb]] to see children of current path.\r\n * @beta\r\n * @deprecated\r\n */\r\nexport class BreadcrumbDetails extends React.Component<BreadcrumbDetailsProps, BreadcrumbDetailsState> {\r\n private _tree!: BeInspireTree<TreeNodeItem>;\r\n private _mounted: boolean = false;\r\n\r\n public override readonly state: BreadcrumbDetailsState;\r\n\r\n /** @internal */\r\n constructor(props: BreadcrumbDetailsProps) {\r\n super(props);\r\n this.state = {\r\n modelReady: isTreeDataProviderInterface(props.path.getDataProvider()) ? false : true,\r\n };\r\n this._recreateTree();\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._mounted = true;\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n const dataProvider = this.props.path.getDataProvider();\r\n const node = this.props.path.getCurrentNode();\r\n this._updateTree(node ? this._tree.node(node.id) : undefined);\r\n if (isTreeDataProviderInterface(dataProvider) && dataProvider.onTreeNodeChanged)\r\n dataProvider.onTreeNodeChanged.addListener(this._treeChange);\r\n this.props.path.BreadcrumbUpdateEvent.addListener(this._pathChange);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._mounted = false;\r\n this._tree.removeAllListeners();\r\n const dataProvider = this.props.path.getDataProvider();\r\n if (isTreeDataProviderInterface(dataProvider) && dataProvider.onTreeNodeChanged)\r\n dataProvider.onTreeNodeChanged.removeListener(this._treeChange);\r\n this.props.path.BreadcrumbUpdateEvent.removeListener(this._pathChange);\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: BreadcrumbDetailsProps) {\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n if (!this.props.path.BreadcrumbUpdateEvent.has(this._pathChange)) {\r\n this.props.path.BreadcrumbUpdateEvent.addListener(this._pathChange);\r\n prevProps.path.BreadcrumbUpdateEvent.removeListener(this._pathChange);\r\n }\r\n }\r\n\r\n private _recreateTree() {\r\n this._tree = new BeInspireTree<TreeNodeItem>({\r\n dataProvider: this.props.path.getDataProvider(),\r\n mapPayloadToInspireNodeConfig: BreadcrumbDetails.inspireNodeFromTreeNodeItem,\r\n });\r\n this._tree.on(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n this._tree.on(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n this._tree.ready.then(this._onModelReady); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(nextProps: BreadcrumbDetailsProps, nextState: BreadcrumbDetailsState): boolean {\r\n if (this.state.modelReady !== nextState.modelReady) {\r\n // always render when state.modelReady changes\r\n return true;\r\n }\r\n\r\n // istanbul ignore if\r\n if (!nextState.modelReady) {\r\n // if we got here and model is not ready - don't render\r\n return false;\r\n }\r\n\r\n const cNode = nextProps.path.getCurrentNode();\r\n const current = cNode ? this._tree.node(cNode.id) : undefined;\r\n // otherwise, render when any of the following props / state change\r\n return this.props.renderTable !== nextProps.renderTable\r\n || this.props.path !== nextProps.path\r\n || this.state.table !== nextState.table\r\n || (current !== undefined && /* istanbul ignore next */ current.isDirty());\r\n }\r\n\r\n private _onModelLoaded = (rootNodes: BeInspireTreeNodes<TreeNodeItem>) => {\r\n const node = this.props.path.getCurrentNode();\r\n if (node === undefined)\r\n this._updateTree(undefined);\r\n if (this.props.onRootNodesLoaded)\r\n this.props.onRootNodesLoaded(rootNodes.map((n) => n.payload!));\r\n };\r\n\r\n private _onChildrenLoaded = (parentNode: BeInspireTreeNode<TreeNodeItem>) => {\r\n const node = this.props.path.getCurrentNode();\r\n if (node !== undefined) {\r\n const iNode = this._tree.node(node.id);\r\n this._updateTree(iNode);\r\n }\r\n const children = parentNode.getChildren();\r\n if (this.props.onChildrenLoaded)\r\n this.props.onChildrenLoaded(parentNode.payload!, toNodes<TreeNodeItem>(children).map((c) => c.payload!));\r\n };\r\n\r\n private _onModelReady = () => {\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ modelReady: true });\r\n };\r\n\r\n private _onTreeNodeChanged = (_items: Array<TreeNodeItem | undefined>) => {\r\n using((this._tree as any).pauseRendering(), async () => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n await this._tree.reload();\r\n });\r\n };\r\n\r\n private static inspireNodeFromTreeNodeItem(item: TreeNodeItem, remapper: MapPayloadToInspireNodeCallback<TreeNodeItem>): BeInspireTreeNodeConfig {\r\n const node: BeInspireTreeNodeConfig = {\r\n id: item.id,\r\n text: getPropertyRecordAsString(item.label),\r\n itree: {\r\n state: { collapsed: false },\r\n },\r\n };\r\n if (item.icon)\r\n node.itree!.icon = item.icon;\r\n if ((item as DelayLoadedTreeNodeItem).hasChildren)\r\n node.children = true;\r\n else if ((item as ImmediatelyLoadedTreeNodeItem).children)\r\n node.children = (item as ImmediatelyLoadedTreeNodeItem).children!.map((p) => remapper(p, remapper));\r\n return node;\r\n }\r\n\r\n private _treeChange = () => {\r\n const currentNode = this.props.path.getCurrentNode();\r\n this._updateTree(currentNode ? this._tree.node(currentNode.id) : undefined);\r\n };\r\n private _pathChange = (args: BreadcrumbUpdateEventArgs) => {\r\n this._updateTree(args.currentNode ? this._tree.node(args.currentNode.id) : undefined);\r\n if (isTreeDataProviderInterface(args.oldDataProvider) && args.oldDataProvider.onTreeNodeChanged) {\r\n // unsubscribe from previous data provider `onTreeNodeChanged` events\r\n args.oldDataProvider.onTreeNodeChanged.removeListener(this._onTreeNodeChanged);\r\n }\r\n if (isTreeDataProviderInterface(args.dataProvider) && args.dataProvider.onTreeNodeChanged) {\r\n // subscribe for new data provider `onTreeNodeChanged` events\r\n args.dataProvider.onTreeNodeChanged.addListener(this._onTreeNodeChanged);\r\n }\r\n if (args.dataProvider !== args.oldDataProvider) {\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ modelReady: false }, () => {\r\n this._recreateTree();\r\n });\r\n }\r\n };\r\n private _updateTree = (node: BeInspireTreeNode<TreeNodeItem> | undefined) => {\r\n const childNodes = (node ? toNodes<TreeNodeItem>(node.getChildren()) : this._tree.nodes()).map((child) => child.payload!);\r\n if (childNodes.length === 0) {\r\n const parents = node ? toNodes<TreeNodeItem>(node.getParents()).map((child) => child.payload!) : [];\r\n parents.reverse();\r\n if (parents.length > 1)\r\n this.props.path.setCurrentNode(parents[parents.length - 2]);\r\n else if (parents.length === 1)\r\n this.props.path.setCurrentNode(undefined);\r\n }\r\n const table = BreadcrumbTreeUtils.aliasNodeListToTableDataProvider(childNodes, this.props.columns || [\r\n { key: \"icon\", label: UiComponents.translate(\"breadcrumb.icon\"), icon: true },\r\n { key: \"label\", label: UiComponents.translate(\"breadcrumb.name\") },\r\n { key: \"description\", label: UiComponents.translate(\"breadcrumb.description\") },\r\n ], this.props.path.getDataProvider());\r\n // istanbul ignore else hard to control whether mounted or not\r\n if (this._mounted)\r\n this.setState({ table, childNodes });\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const node = this.props.path.getCurrentNode();\r\n if (node) {\r\n const iNode = this._tree.node(node.id);\r\n if (iNode) {\r\n iNode.setDirty(false);\r\n }\r\n }\r\n const { childNodes } = this.state;\r\n const renderTable = this.props.renderTable ? this.props.renderTable : this.renderTable;\r\n return (\r\n <div className={classnames(\"components-breadcrumb-details\", this.props.className)} style={this.props.style}>\r\n {\r\n this.state.table && childNodes &&\r\n renderTable({\r\n dataProvider: this.state.table,\r\n onRowsSelected: async (rowIterator: AsyncIterableIterator<RowItem>, replace: boolean) => {\r\n const iteratorResult = await rowIterator.next();\r\n // istanbul ignore else should always be false\r\n if (!iteratorResult.done) {\r\n const row = iteratorResult.value as DataRowItem;\r\n this.props.path.setCurrentNode(row._node);\r\n }\r\n return replace;\r\n },\r\n }, node, childNodes)\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private renderTable = (props: TableProps, _node: TreeNodeItem | undefined, _children: TreeNodeItem[]) => {\r\n return <Table {...props} onRender={this.props.onRender} />;\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"BreadcrumbDetails.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BreadcrumbDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Breadcrumb\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { using } from \"@itwin/core-bentley\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { Table, TableProps } from \"../table/component/Table\";\r\nimport { ColumnDescription, RowItem, TableDataProvider } from \"../table/TableDataProvider\";\r\nimport { DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, TreeNodeItem } from \"../tree/TreeDataProvider\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport {\r\n BeInspireTree, BeInspireTreeEvent, BeInspireTreeNode, BeInspireTreeNodeConfig, BeInspireTreeNodes, MapPayloadToInspireNodeCallback, toNodes,\r\n} from \"./BeInspireTree\";\r\nimport { BreadcrumbPath, BreadcrumbUpdateEventArgs } from \"./BreadcrumbPath\";\r\nimport { BreadcrumbTreeUtils, DataRowItem, getPropertyRecordAsString } from \"./BreadcrumbTreeUtils\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Properties for the [[BreadcrumbDetails]] component\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport interface BreadcrumbDetailsProps extends CommonProps {\r\n /** Path data object shared by Breadcrumb component */\r\n path: BreadcrumbPath;\r\n columns?: ColumnDescription[];\r\n renderTable?: (props: TableProps, node: TreeNodeItem | undefined, children: TreeNodeItem[]) => React.ReactNode;\r\n /** Callback triggered when child node is loaded with an asynchronous dataProvider. */\r\n onChildrenLoaded?: (parent: TreeNodeItem, children: TreeNodeItem[]) => void;\r\n /** Callback triggered when root nodes are loaded with an asynchronous dataProvider. */\r\n onRootNodesLoaded?: (nodes: TreeNodeItem[]) => void;\r\n /** @internal */\r\n onRender?: () => void;\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbDetailsState {\r\n table?: TableDataProvider;\r\n childNodes?: TreeNodeItem[];\r\n modelReady: boolean;\r\n}\r\n\r\n/**\r\n * A Table containing all children of tree node specified in path.\r\n * Used in conjunction with [[Breadcrumb]] to see children of current path.\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport class BreadcrumbDetails extends React.Component<BreadcrumbDetailsProps, BreadcrumbDetailsState> {\r\n private _tree!: BeInspireTree<TreeNodeItem>;\r\n private _mounted: boolean = false;\r\n\r\n public override readonly state: BreadcrumbDetailsState;\r\n\r\n /** @internal */\r\n constructor(props: BreadcrumbDetailsProps) {\r\n super(props);\r\n this.state = {\r\n modelReady: isTreeDataProviderInterface(props.path.getDataProvider()) ? false : true,\r\n };\r\n this._recreateTree();\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._mounted = true;\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n const dataProvider = this.props.path.getDataProvider();\r\n const node = this.props.path.getCurrentNode();\r\n this._updateTree(node ? this._tree.node(node.id) : undefined);\r\n if (isTreeDataProviderInterface(dataProvider) && dataProvider.onTreeNodeChanged)\r\n dataProvider.onTreeNodeChanged.addListener(this._treeChange);\r\n this.props.path.BreadcrumbUpdateEvent.addListener(this._pathChange);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._mounted = false;\r\n this._tree.removeAllListeners();\r\n const dataProvider = this.props.path.getDataProvider();\r\n if (isTreeDataProviderInterface(dataProvider) && dataProvider.onTreeNodeChanged)\r\n dataProvider.onTreeNodeChanged.removeListener(this._treeChange);\r\n this.props.path.BreadcrumbUpdateEvent.removeListener(this._pathChange);\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: BreadcrumbDetailsProps) {\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n if (!this.props.path.BreadcrumbUpdateEvent.has(this._pathChange)) {\r\n this.props.path.BreadcrumbUpdateEvent.addListener(this._pathChange);\r\n prevProps.path.BreadcrumbUpdateEvent.removeListener(this._pathChange);\r\n }\r\n }\r\n\r\n private _recreateTree() {\r\n this._tree = new BeInspireTree<TreeNodeItem>({\r\n dataProvider: this.props.path.getDataProvider(),\r\n mapPayloadToInspireNodeConfig: BreadcrumbDetails.inspireNodeFromTreeNodeItem,\r\n });\r\n this._tree.on(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n this._tree.on(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n this._tree.ready.then(this._onModelReady); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(nextProps: BreadcrumbDetailsProps, nextState: BreadcrumbDetailsState): boolean {\r\n if (this.state.modelReady !== nextState.modelReady) {\r\n // always render when state.modelReady changes\r\n return true;\r\n }\r\n\r\n // istanbul ignore if\r\n if (!nextState.modelReady) {\r\n // if we got here and model is not ready - don't render\r\n return false;\r\n }\r\n\r\n const cNode = nextProps.path.getCurrentNode();\r\n const current = cNode ? this._tree.node(cNode.id) : undefined;\r\n // otherwise, render when any of the following props / state change\r\n return this.props.renderTable !== nextProps.renderTable\r\n || this.props.path !== nextProps.path\r\n || this.state.table !== nextState.table\r\n || (current !== undefined && /* istanbul ignore next */ current.isDirty());\r\n }\r\n\r\n private _onModelLoaded = (rootNodes: BeInspireTreeNodes<TreeNodeItem>) => {\r\n const node = this.props.path.getCurrentNode();\r\n if (node === undefined)\r\n this._updateTree(undefined);\r\n if (this.props.onRootNodesLoaded)\r\n this.props.onRootNodesLoaded(rootNodes.map((n) => n.payload!));\r\n };\r\n\r\n private _onChildrenLoaded = (parentNode: BeInspireTreeNode<TreeNodeItem>) => {\r\n const node = this.props.path.getCurrentNode();\r\n if (node !== undefined) {\r\n const iNode = this._tree.node(node.id);\r\n this._updateTree(iNode);\r\n }\r\n const children = parentNode.getChildren();\r\n if (this.props.onChildrenLoaded)\r\n this.props.onChildrenLoaded(parentNode.payload!, toNodes<TreeNodeItem>(children).map((c) => c.payload!));\r\n };\r\n\r\n private _onModelReady = () => {\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ modelReady: true });\r\n };\r\n\r\n private _onTreeNodeChanged = (_items: Array<TreeNodeItem | undefined>) => {\r\n using((this._tree as any).pauseRendering(), async () => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n await this._tree.reload();\r\n });\r\n };\r\n\r\n private static inspireNodeFromTreeNodeItem(item: TreeNodeItem, remapper: MapPayloadToInspireNodeCallback<TreeNodeItem>): BeInspireTreeNodeConfig {\r\n const node: BeInspireTreeNodeConfig = {\r\n id: item.id,\r\n text: getPropertyRecordAsString(item.label),\r\n itree: {\r\n state: { collapsed: false },\r\n },\r\n };\r\n if (item.icon)\r\n node.itree!.icon = item.icon;\r\n if ((item as DelayLoadedTreeNodeItem).hasChildren)\r\n node.children = true;\r\n else if ((item as ImmediatelyLoadedTreeNodeItem).children)\r\n node.children = (item as ImmediatelyLoadedTreeNodeItem).children!.map((p) => remapper(p, remapper));\r\n return node;\r\n }\r\n\r\n private _treeChange = () => {\r\n const currentNode = this.props.path.getCurrentNode();\r\n this._updateTree(currentNode ? this._tree.node(currentNode.id) : undefined);\r\n };\r\n private _pathChange = (args: BreadcrumbUpdateEventArgs) => {\r\n this._updateTree(args.currentNode ? this._tree.node(args.currentNode.id) : undefined);\r\n if (isTreeDataProviderInterface(args.oldDataProvider) && args.oldDataProvider.onTreeNodeChanged) {\r\n // unsubscribe from previous data provider `onTreeNodeChanged` events\r\n args.oldDataProvider.onTreeNodeChanged.removeListener(this._onTreeNodeChanged);\r\n }\r\n if (isTreeDataProviderInterface(args.dataProvider) && args.dataProvider.onTreeNodeChanged) {\r\n // subscribe for new data provider `onTreeNodeChanged` events\r\n args.dataProvider.onTreeNodeChanged.addListener(this._onTreeNodeChanged);\r\n }\r\n if (args.dataProvider !== args.oldDataProvider) {\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ modelReady: false }, () => {\r\n this._recreateTree();\r\n });\r\n }\r\n };\r\n private _updateTree = (node: BeInspireTreeNode<TreeNodeItem> | undefined) => {\r\n const childNodes = (node ? toNodes<TreeNodeItem>(node.getChildren()) : this._tree.nodes()).map((child) => child.payload!);\r\n if (childNodes.length === 0) {\r\n const parents = node ? toNodes<TreeNodeItem>(node.getParents()).map((child) => child.payload!) : [];\r\n parents.reverse();\r\n if (parents.length > 1)\r\n this.props.path.setCurrentNode(parents[parents.length - 2]);\r\n else if (parents.length === 1)\r\n this.props.path.setCurrentNode(undefined);\r\n }\r\n const table = BreadcrumbTreeUtils.aliasNodeListToTableDataProvider(childNodes, this.props.columns || [\r\n { key: \"icon\", label: UiComponents.translate(\"breadcrumb.icon\"), icon: true },\r\n { key: \"label\", label: UiComponents.translate(\"breadcrumb.name\") },\r\n { key: \"description\", label: UiComponents.translate(\"breadcrumb.description\") },\r\n ], this.props.path.getDataProvider());\r\n // istanbul ignore else hard to control whether mounted or not\r\n if (this._mounted)\r\n this.setState({ table, childNodes });\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const node = this.props.path.getCurrentNode();\r\n if (node) {\r\n const iNode = this._tree.node(node.id);\r\n if (iNode) {\r\n iNode.setDirty(false);\r\n }\r\n }\r\n const { childNodes } = this.state;\r\n const renderTable = this.props.renderTable ? this.props.renderTable : this.renderTable;\r\n return (\r\n <div className={classnames(\"components-breadcrumb-details\", this.props.className)} style={this.props.style}>\r\n {\r\n this.state.table && childNodes &&\r\n renderTable({\r\n dataProvider: this.state.table,\r\n onRowsSelected: async (rowIterator: AsyncIterableIterator<RowItem>, replace: boolean) => {\r\n const iteratorResult = await rowIterator.next();\r\n // istanbul ignore else should always be false\r\n if (!iteratorResult.done) {\r\n const row = iteratorResult.value as DataRowItem;\r\n this.props.path.setCurrentNode(row._node);\r\n }\r\n return replace;\r\n },\r\n }, node, childNodes)\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private renderTable = (props: TableProps, _node: TreeNodeItem | undefined, _children: TreeNodeItem[]) => {\r\n return <Table {...props} onRender={this.props.onRender} />;\r\n };\r\n}\r\n"]}
@@ -5,7 +5,7 @@ import { UiEvent } from "@itwin/core-react";
5
5
  import { TreeDataProvider, TreeNodeItem } from "../tree/TreeDataProvider";
6
6
  /** BreadcrumbChangeEvent Event Args class.
7
7
  * @beta
8
- * @deprecated
8
+ * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.
9
9
  */
10
10
  export interface BreadcrumbUpdateEventArgs {
11
11
  dataProvider: TreeDataProvider;
@@ -14,13 +14,13 @@ export interface BreadcrumbUpdateEventArgs {
14
14
  }
15
15
  /** BreadcrumbChangeEvent Event class.
16
16
  * @beta
17
- * @deprecated
17
+ * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.
18
18
  */
19
19
  export declare class BreadcrumbUpdateEvent extends UiEvent<BreadcrumbUpdateEventArgs> {
20
20
  }
21
21
  /** Breadcrumb Path class.
22
22
  * @beta
23
- * @deprecated
23
+ * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.
24
24
  */
25
25
  export declare class BreadcrumbPath {
26
26
  private _dataProvider;
@@ -9,13 +9,13 @@
9
9
  import { UiEvent } from "@itwin/core-react";
10
10
  /** BreadcrumbChangeEvent Event class.
11
11
  * @beta
12
- * @deprecated
12
+ * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.
13
13
  */
14
14
  export class BreadcrumbUpdateEvent extends UiEvent {
15
15
  }
16
16
  /** Breadcrumb Path class.
17
17
  * @beta
18
- * @deprecated
18
+ * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.
19
19
  */
20
20
  export class BreadcrumbPath {
21
21
  constructor(dataProvider) {
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbPath.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BreadcrumbPath.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,4CAA4C;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAa5C;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,OAAkC;CAAI;AAEjF;;;GAGG;AACH,MAAM,OAAO,cAAc;IAOzB,YAAY,YAA8B;QALlC,iBAAY,GAA6B,SAAS,CAAC;QACnD,2BAAsB,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QAKlF,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAJD,IAAW,qBAAqB,KAA4B,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAM1F,eAAe;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACM,eAAe,CAAC,YAA8B;QACnD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvH,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,cAAc,CAAC,WAAqC;QACzD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;QACxH,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Breadcrumb\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport { UiEvent } from \"@itwin/core-react\";\r\nimport { TreeDataProvider, TreeNodeItem } from \"../tree/TreeDataProvider\";\r\n\r\n/** BreadcrumbChangeEvent Event Args class.\r\n * @beta\r\n * @deprecated\r\n */\r\nexport interface BreadcrumbUpdateEventArgs {\r\n dataProvider: TreeDataProvider;\r\n oldDataProvider: TreeDataProvider;\r\n currentNode: TreeNodeItem | undefined;\r\n}\r\n\r\n/** BreadcrumbChangeEvent Event class.\r\n * @beta\r\n * @deprecated\r\n */\r\nexport class BreadcrumbUpdateEvent extends UiEvent<BreadcrumbUpdateEventArgs> { }\r\n\r\n/** Breadcrumb Path class.\r\n * @beta\r\n * @deprecated\r\n */\r\nexport class BreadcrumbPath {\r\n private _dataProvider: TreeDataProvider;\r\n private _currentNode: TreeNodeItem | undefined = undefined;\r\n private _breadcrumbUpdateEvent: BreadcrumbUpdateEvent = new BreadcrumbUpdateEvent();\r\n\r\n public get BreadcrumbUpdateEvent(): BreadcrumbUpdateEvent { return this._breadcrumbUpdateEvent; }\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public getDataProvider() {\r\n return this._dataProvider;\r\n }\r\n public setDataProvider(dataProvider: TreeDataProvider) {\r\n this.BreadcrumbUpdateEvent.emit({ dataProvider, oldDataProvider: this._dataProvider, currentNode: this._currentNode });\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public getCurrentNode() {\r\n return this._currentNode;\r\n }\r\n\r\n public setCurrentNode(currentNode: TreeNodeItem | undefined) {\r\n this.BreadcrumbUpdateEvent.emit({ dataProvider: this._dataProvider, oldDataProvider: this._dataProvider, currentNode });\r\n this._currentNode = currentNode;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"BreadcrumbPath.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BreadcrumbPath.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,4CAA4C;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAa5C;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,OAAkC;CAAI;AAEjF;;;GAGG;AACH,MAAM,OAAO,cAAc;IAOzB,YAAY,YAA8B;QALlC,iBAAY,GAA6B,SAAS,CAAC;QACnD,2BAAsB,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QAKlF,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAJD,IAAW,qBAAqB,KAA4B,OAAO,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAM1F,eAAe;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACM,eAAe,CAAC,YAA8B;QACnD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACvH,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,cAAc,CAAC,WAAqC;QACzD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;QACxH,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Breadcrumb\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport { UiEvent } from \"@itwin/core-react\";\r\nimport { TreeDataProvider, TreeNodeItem } from \"../tree/TreeDataProvider\";\r\n\r\n/** BreadcrumbChangeEvent Event Args class.\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport interface BreadcrumbUpdateEventArgs {\r\n dataProvider: TreeDataProvider;\r\n oldDataProvider: TreeDataProvider;\r\n currentNode: TreeNodeItem | undefined;\r\n}\r\n\r\n/** BreadcrumbChangeEvent Event class.\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport class BreadcrumbUpdateEvent extends UiEvent<BreadcrumbUpdateEventArgs> { }\r\n\r\n/** Breadcrumb Path class.\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport class BreadcrumbPath {\r\n private _dataProvider: TreeDataProvider;\r\n private _currentNode: TreeNodeItem | undefined = undefined;\r\n private _breadcrumbUpdateEvent: BreadcrumbUpdateEvent = new BreadcrumbUpdateEvent();\r\n\r\n public get BreadcrumbUpdateEvent(): BreadcrumbUpdateEvent { return this._breadcrumbUpdateEvent; }\r\n\r\n constructor(dataProvider: TreeDataProvider) {\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public getDataProvider() {\r\n return this._dataProvider;\r\n }\r\n public setDataProvider(dataProvider: TreeDataProvider) {\r\n this.BreadcrumbUpdateEvent.emit({ dataProvider, oldDataProvider: this._dataProvider, currentNode: this._currentNode });\r\n this._dataProvider = dataProvider;\r\n }\r\n\r\n public getCurrentNode() {\r\n return this._currentNode;\r\n }\r\n\r\n public setCurrentNode(currentNode: TreeNodeItem | undefined) {\r\n this.BreadcrumbUpdateEvent.emit({ dataProvider: this._dataProvider, oldDataProvider: this._dataProvider, currentNode });\r\n this._currentNode = currentNode;\r\n }\r\n}\r\n"]}
@@ -7,7 +7,7 @@ import { TreeDataProvider, TreeNodeItem } from "../tree/TreeDataProvider";
7
7
  /**
8
8
  * Utility class for tree searching and manipulation in the Breadcrumb component.
9
9
  * @beta
10
- * @deprecated
10
+ * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.
11
11
  */
12
12
  export declare class BreadcrumbTreeUtils {
13
13
  private static createIcon;
@@ -13,7 +13,7 @@ import { UiComponents } from "../UiComponents";
13
13
  /**
14
14
  * Utility class for tree searching and manipulation in the Breadcrumb component.
15
15
  * @beta
16
- * @deprecated
16
+ * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.
17
17
  */
18
18
  export class BreadcrumbTreeUtils {
19
19
  static createIcon(node) {
@@ -1 +1 @@
1
- {"version":3,"file":"BreadcrumbTreeUtils.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BreadcrumbTreeUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Breadcrumb\r\n */\r\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { CellItem, ColumnDescription, RowItem, TableDataChangeEvent, TableDataProvider } from \"../table/TableDataProvider\";\r\nimport { DelayLoadedTreeNodeItem, hasChildren, ImmediatelyLoadedTreeNodeItem, TreeDataProvider, TreeNodeItem } from \"../tree/TreeDataProvider\";\r\nimport { UiComponents } from \"../UiComponents\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/**\r\n * Utility class for tree searching and manipulation in the Breadcrumb component.\r\n * @beta\r\n * @deprecated\r\n */\r\nexport class BreadcrumbTreeUtils {\r\n\r\n private static createIcon(node: TreeNodeItem): CellItem {\r\n return {\r\n key: \"icon\", record:\r\n new PropertyRecord(\r\n {\r\n value: hasChildren(node) ? \"icon-folder\" : node.icon,\r\n valueFormat: PropertyValueFormat.Primitive,\r\n displayValue: hasChildren(node) ? \"icon-folder\" : node.icon!,\r\n },\r\n {\r\n name: \"icon\",\r\n displayLabel: UiComponents.translate(\"breadcrumb.icon\"),\r\n typename: \"icon\",\r\n }),\r\n };\r\n }\r\n\r\n private static createLabel(node: TreeNodeItem): CellItem {\r\n return {\r\n key: \"label\",\r\n record: node.label,\r\n };\r\n }\r\n\r\n private static createDescription(node: TreeNodeItem): CellItem {\r\n return {\r\n key: \"description\",\r\n record: new PropertyRecord(\r\n {\r\n value: node.description || \"\",\r\n valueFormat: PropertyValueFormat.Primitive,\r\n displayValue: node.description || \"\",\r\n },\r\n {\r\n name: \"description\",\r\n displayLabel: UiComponents.translate(\"breadcrumb.description\"),\r\n typename: \"text\",\r\n }),\r\n };\r\n }\r\n\r\n /**\r\n * Transforms a list of children from a tree node into a [[TableDataProvider]], given a list of column descriptions.\r\n * @param nodes Node list to use as a basis for the [[TableDataProvider]].\r\n * @param columns An array of column descriptions to specify which columns to provide to the resulting [[TableDataProvider]].\r\n * @returns A [[TableDataProvider]] object that can be used to populate a Table component.\r\n */\r\n public static aliasNodeListToTableDataProvider(nodes: TreeNodeItem[], columns: ColumnDescription[], treeDataProvider?: TreeDataProvider): TableDataProvider {\r\n return {\r\n onColumnsChanged: new TableDataChangeEvent(),\r\n onRowsChanged: new TableDataChangeEvent(),\r\n getColumns: async () => columns,\r\n getRowsCount: async () => nodes.length,\r\n getRow: async (rowIndex: number, _unfiltered?: boolean): Promise<DataRowItem> => {\r\n if (rowIndex < 0 || rowIndex > nodes.length)\r\n return { _node: {} as TreeNodeItem, key: \"\", cells: [] };\r\n\r\n const node = nodes[rowIndex];\r\n\r\n const cells: CellItem[] = [\r\n BreadcrumbTreeUtils.createIcon(node),\r\n BreadcrumbTreeUtils.createLabel(node),\r\n BreadcrumbTreeUtils.createDescription(node),\r\n ];\r\n\r\n for (const key in node.extendedData) {\r\n // only add string values to table cell list\r\n if (node.extendedData.hasOwnProperty(key) && node.extendedData[key] instanceof PropertyRecord) {\r\n cells.push({\r\n key,\r\n record: node.extendedData[key],\r\n style: node.style,\r\n });\r\n } else if (node.extendedData.hasOwnProperty(key) && (typeof node.extendedData[key] === \"string\" || typeof node.extendedData[key] === \"boolean\" || typeof node.extendedData[key] === \"number\")) {\r\n cells.push({\r\n key,\r\n record: new PropertyRecord(\r\n {\r\n value: node.extendedData[key].toString(),\r\n valueFormat: PropertyValueFormat.Primitive,\r\n displayValue: node.extendedData[key].toString(),\r\n },\r\n {\r\n name: key,\r\n displayLabel: key,\r\n typename: \"text\",\r\n }),\r\n style: node.style,\r\n });\r\n }\r\n }\r\n node.extendedData = node.extendedData || {};\r\n node.extendedData.id = node.id;\r\n node.extendedData.label = getPropertyRecordAsString(node.label);\r\n node.extendedData.description = node.description;\r\n if ((node as DelayLoadedTreeNodeItem).hasChildren !== undefined)\r\n node.extendedData.hasChildren = (node as DelayLoadedTreeNodeItem).hasChildren;\r\n if ((node as ImmediatelyLoadedTreeNodeItem).children !== undefined)\r\n node.extendedData.children = (node as ImmediatelyLoadedTreeNodeItem).children;\r\n node.extendedData.dataProvider = treeDataProvider;\r\n node.extendedData.icon = node.icon;\r\n const row: DataRowItem = {\r\n _node: node,\r\n key: node.id,\r\n extendedData: node.extendedData,\r\n isDisabled: false,\r\n colorOverrides: node.style ? node.style.colorOverrides : undefined,\r\n cells,\r\n };\r\n return row;\r\n },\r\n // TODO: implement sorting function\r\n sort: /* istanbul ignore next */ async () => { },\r\n };\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface DataRowItem extends RowItem {\r\n _node?: TreeNodeItem;\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nexport function getPropertyRecordAsString(label: PropertyRecord) {\r\n if (label.value.valueFormat === PropertyValueFormat.Primitive)\r\n return label.value.displayValue ?? \"\";\r\n return \"\";\r\n}\r\n"]}
1
+ {"version":3,"file":"BreadcrumbTreeUtils.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BreadcrumbTreeUtils.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAwC,oBAAoB,EAAqB,MAAM,4BAA4B,CAAC;AAC3H,OAAO,EAA2B,WAAW,EAAiE,MAAM,0BAA0B,CAAC;AAC/I,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,4CAA4C;AAE5C;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAEtB,MAAM,CAAC,UAAU,CAAC,IAAkB;QAC1C,OAAO;YACL,GAAG,EAAE,MAAM,EAAE,MAAM,EACjB,IAAI,cAAc,CAChB;gBACE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;gBACpD,WAAW,EAAE,mBAAmB,CAAC,SAAS;gBAC1C,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAK;aAC7D,EACD;gBACE,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACvD,QAAQ,EAAE,MAAM;aACjB,CAAC;SACP,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,IAAkB;QAC3C,OAAO;YACL,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,IAAI,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,IAAkB;QACjD,OAAO;YACL,GAAG,EAAE,aAAa;YAClB,MAAM,EAAE,IAAI,cAAc,CACxB;gBACE,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;gBAC7B,WAAW,EAAE,mBAAmB,CAAC,SAAS;gBAC1C,YAAY,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;aACrC,EACD;gBACE,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,YAAY,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBAC9D,QAAQ,EAAE,MAAM;aACjB,CAAC;SACL,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,gCAAgC,CAAC,KAAqB,EAAE,OAA4B,EAAE,gBAAmC;QACrI,OAAO;YACL,gBAAgB,EAAE,IAAI,oBAAoB,EAAE;YAC5C,aAAa,EAAE,IAAI,oBAAoB,EAAE;YACzC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO;YAC/B,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM;YACtC,MAAM,EAAE,KAAK,EAAE,QAAgB,EAAE,WAAqB,EAAwB,EAAE;gBAC9E,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM;oBACzC,OAAO,EAAE,KAAK,EAAE,EAAkB,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBAE3D,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAE7B,MAAM,KAAK,GAAe;oBACxB,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;oBACpC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC;oBACrC,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC;iBAC5C,CAAC;gBAEF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;oBACnC,4CAA4C;oBAC5C,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,cAAc,EAAE;wBAC7F,KAAK,CAAC,IAAI,CAAC;4BACT,GAAG;4BACH,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;4BAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;yBAClB,CAAC,CAAC;qBACJ;yBAAM,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,EAAE;wBAC7L,KAAK,CAAC,IAAI,CAAC;4BACT,GAAG;4BACH,MAAM,EAAE,IAAI,cAAc,CACxB;gCACE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gCACxC,WAAW,EAAE,mBAAmB,CAAC,SAAS;gCAC1C,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;6BAChD,EACD;gCACE,IAAI,EAAE,GAAG;gCACT,YAAY,EAAE,GAAG;gCACjB,QAAQ,EAAE,MAAM;6BACjB,CAAC;4BACJ,KAAK,EAAE,IAAI,CAAC,KAAK;yBAClB,CAAC,CAAC;qBACJ;iBACF;gBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;gBAC5C,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChE,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;gBACjD,IAAK,IAAgC,CAAC,WAAW,KAAK,SAAS;oBAC7D,IAAI,CAAC,YAAY,CAAC,WAAW,GAAI,IAAgC,CAAC,WAAW,CAAC;gBAChF,IAAK,IAAsC,CAAC,QAAQ,KAAK,SAAS;oBAChE,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAI,IAAsC,CAAC,QAAQ,CAAC;gBAChF,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,gBAAgB,CAAC;gBAClD,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACnC,MAAM,GAAG,GAAgB;oBACvB,KAAK,EAAE,IAAI;oBACX,GAAG,EAAE,IAAI,CAAC,EAAE;oBACZ,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,UAAU,EAAE,KAAK;oBACjB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;oBAClE,KAAK;iBACN,CAAC;gBACF,OAAO,GAAG,CAAC;YACb,CAAC;YACD,mCAAmC;YACnC,IAAI,EAAE,0BAA0B,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC;SACjD,CAAC;IACJ,CAAC;CACF;AAOD,gBAAgB;AAChB,uBAAuB;AACvB,MAAM,UAAU,yBAAyB,CAAC,KAAqB;;IAC7D,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;QAC3D,OAAO,MAAA,KAAK,CAAC,KAAK,CAAC,YAAY,mCAAI,EAAE,CAAC;IACxC,OAAO,EAAE,CAAC;AACZ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Breadcrumb\r\n */\r\nimport { PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { CellItem, ColumnDescription, RowItem, TableDataChangeEvent, TableDataProvider } from \"../table/TableDataProvider\";\r\nimport { DelayLoadedTreeNodeItem, hasChildren, ImmediatelyLoadedTreeNodeItem, TreeDataProvider, TreeNodeItem } from \"../tree/TreeDataProvider\";\r\nimport { UiComponents } from \"../UiComponents\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/**\r\n * Utility class for tree searching and manipulation in the Breadcrumb component.\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport class BreadcrumbTreeUtils {\r\n\r\n private static createIcon(node: TreeNodeItem): CellItem {\r\n return {\r\n key: \"icon\", record:\r\n new PropertyRecord(\r\n {\r\n value: hasChildren(node) ? \"icon-folder\" : node.icon,\r\n valueFormat: PropertyValueFormat.Primitive,\r\n displayValue: hasChildren(node) ? \"icon-folder\" : node.icon!,\r\n },\r\n {\r\n name: \"icon\",\r\n displayLabel: UiComponents.translate(\"breadcrumb.icon\"),\r\n typename: \"icon\",\r\n }),\r\n };\r\n }\r\n\r\n private static createLabel(node: TreeNodeItem): CellItem {\r\n return {\r\n key: \"label\",\r\n record: node.label,\r\n };\r\n }\r\n\r\n private static createDescription(node: TreeNodeItem): CellItem {\r\n return {\r\n key: \"description\",\r\n record: new PropertyRecord(\r\n {\r\n value: node.description || \"\",\r\n valueFormat: PropertyValueFormat.Primitive,\r\n displayValue: node.description || \"\",\r\n },\r\n {\r\n name: \"description\",\r\n displayLabel: UiComponents.translate(\"breadcrumb.description\"),\r\n typename: \"text\",\r\n }),\r\n };\r\n }\r\n\r\n /**\r\n * Transforms a list of children from a tree node into a [[TableDataProvider]], given a list of column descriptions.\r\n * @param nodes Node list to use as a basis for the [[TableDataProvider]].\r\n * @param columns An array of column descriptions to specify which columns to provide to the resulting [[TableDataProvider]].\r\n * @returns A [[TableDataProvider]] object that can be used to populate a Table component.\r\n */\r\n public static aliasNodeListToTableDataProvider(nodes: TreeNodeItem[], columns: ColumnDescription[], treeDataProvider?: TreeDataProvider): TableDataProvider {\r\n return {\r\n onColumnsChanged: new TableDataChangeEvent(),\r\n onRowsChanged: new TableDataChangeEvent(),\r\n getColumns: async () => columns,\r\n getRowsCount: async () => nodes.length,\r\n getRow: async (rowIndex: number, _unfiltered?: boolean): Promise<DataRowItem> => {\r\n if (rowIndex < 0 || rowIndex > nodes.length)\r\n return { _node: {} as TreeNodeItem, key: \"\", cells: [] };\r\n\r\n const node = nodes[rowIndex];\r\n\r\n const cells: CellItem[] = [\r\n BreadcrumbTreeUtils.createIcon(node),\r\n BreadcrumbTreeUtils.createLabel(node),\r\n BreadcrumbTreeUtils.createDescription(node),\r\n ];\r\n\r\n for (const key in node.extendedData) {\r\n // only add string values to table cell list\r\n if (node.extendedData.hasOwnProperty(key) && node.extendedData[key] instanceof PropertyRecord) {\r\n cells.push({\r\n key,\r\n record: node.extendedData[key],\r\n style: node.style,\r\n });\r\n } else if (node.extendedData.hasOwnProperty(key) && (typeof node.extendedData[key] === \"string\" || typeof node.extendedData[key] === \"boolean\" || typeof node.extendedData[key] === \"number\")) {\r\n cells.push({\r\n key,\r\n record: new PropertyRecord(\r\n {\r\n value: node.extendedData[key].toString(),\r\n valueFormat: PropertyValueFormat.Primitive,\r\n displayValue: node.extendedData[key].toString(),\r\n },\r\n {\r\n name: key,\r\n displayLabel: key,\r\n typename: \"text\",\r\n }),\r\n style: node.style,\r\n });\r\n }\r\n }\r\n node.extendedData = node.extendedData || {};\r\n node.extendedData.id = node.id;\r\n node.extendedData.label = getPropertyRecordAsString(node.label);\r\n node.extendedData.description = node.description;\r\n if ((node as DelayLoadedTreeNodeItem).hasChildren !== undefined)\r\n node.extendedData.hasChildren = (node as DelayLoadedTreeNodeItem).hasChildren;\r\n if ((node as ImmediatelyLoadedTreeNodeItem).children !== undefined)\r\n node.extendedData.children = (node as ImmediatelyLoadedTreeNodeItem).children;\r\n node.extendedData.dataProvider = treeDataProvider;\r\n node.extendedData.icon = node.icon;\r\n const row: DataRowItem = {\r\n _node: node,\r\n key: node.id,\r\n extendedData: node.extendedData,\r\n isDisabled: false,\r\n colorOverrides: node.style ? node.style.colorOverrides : undefined,\r\n cells,\r\n };\r\n return row;\r\n },\r\n // TODO: implement sorting function\r\n sort: /* istanbul ignore next */ async () => { },\r\n };\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport interface DataRowItem extends RowItem {\r\n _node?: TreeNodeItem;\r\n}\r\n\r\n/** @internal */\r\n// istanbul ignore next\r\nexport function getPropertyRecordAsString(label: PropertyRecord) {\r\n if (label.value.valueFormat === PropertyValueFormat.Primitive)\r\n return label.value.displayValue ?? \"\";\r\n return \"\";\r\n}\r\n"]}
@@ -1,10 +1,13 @@
1
+ /** @packageDocumentation
2
+ * @module Common
3
+ */
1
4
  /**
2
5
  * Custom hook for working with promise values.
3
6
  * Promises are debounced using trailing and leading edge.
4
7
  * The first promise will always be executed.
5
8
  * Any promises following the first while it is executing will be scheduled (and unscheduled), leaving only the last promise to be resolved.
6
9
  * Once the first promise finishes resolving, the last passed promise starts resolving.
7
- * @alpha
10
+ * @beta
8
11
  */
9
12
  export declare function useDebouncedAsyncValue<TReturn>(valueToBeResolved: undefined | (() => Promise<TReturn>)): {
10
13
  value: TReturn | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"UseDebouncedAsyncValue.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/UseDebouncedAsyncValue.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;;;EAgCtG"}
1
+ {"version":3,"file":"UseDebouncedAsyncValue.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/UseDebouncedAsyncValue.ts"],"names":[],"mappings":"AAIA;;GAEG;AAQH;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;;;EAgCtG"}
@@ -2,6 +2,9 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Common
7
+ */
5
8
  import { useEffect, useMemo, useState } from "react";
6
9
  import { publish } from "rxjs/internal/operators/publish";
7
10
  import { refCount } from "rxjs/internal/operators/refCount";
@@ -13,7 +16,7 @@ import { scheduleSubscription, SubscriptionScheduler } from "./SubscriptionSched
13
16
  * The first promise will always be executed.
14
17
  * Any promises following the first while it is executing will be scheduled (and unscheduled), leaving only the last promise to be resolved.
15
18
  * Once the first promise finishes resolving, the last passed promise starts resolving.
16
- * @alpha
19
+ * @beta
17
20
  */
18
21
  export function useDebouncedAsyncValue(valueToBeResolved) {
19
22
  const scheduler = useMemo(() => new SubscriptionScheduler(), []); // eslint-disable-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"file":"UseDebouncedAsyncValue.js","sourceRoot":"","sources":["../../../../src/components-react/common/UseDebouncedAsyncValue.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAU,iBAAuD;IACrG,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAW,EAAE,EAAE,CAAC,CAAC,CAAC,kDAAkD;IAE7H,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAC;IAC9C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB,EAAE;YACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;SACR;QAED,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,yFAAyF;QACzF,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC;aAC1C,IAAI,CACH,OAAO,EAAE,EACT,QAAQ,EAAE,EACV,oBAAoB,CAAC,SAAS,CAAC,CAChC;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { useEffect, useMemo, useState } from \"react\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"./SubscriptionScheduler\";\r\n\r\n/**\r\n * Custom hook for working with promise values.\r\n * Promises are debounced using trailing and leading edge.\r\n * The first promise will always be executed.\r\n * Any promises following the first while it is executing will be scheduled (and unscheduled), leaving only the last promise to be resolved.\r\n * Once the first promise finishes resolving, the last passed promise starts resolving.\r\n * @alpha\r\n */\r\nexport function useDebouncedAsyncValue<TReturn>(valueToBeResolved: undefined | (() => Promise<TReturn>)) {\r\n const scheduler = useMemo(() => new SubscriptionScheduler<TReturn>(), []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const [value, setValue] = useState<TReturn>();\r\n const [inProgress, setInProgress] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!valueToBeResolved) {\r\n setValue(undefined);\r\n setInProgress(false);\r\n return;\r\n }\r\n\r\n setInProgress(true);\r\n // schedule and subscribe to the observable emitting value from valueToBeResolved promise\r\n const subscription = defer(valueToBeResolved)\r\n .pipe(\r\n publish(),\r\n refCount(),\r\n scheduleSubscription(scheduler),\r\n )\r\n .subscribe({\r\n next: (data) => {\r\n setValue(data);\r\n setInProgress(false);\r\n },\r\n });\r\n\r\n return () => { subscription.unsubscribe(); };\r\n }, [valueToBeResolved, scheduler]);\r\n\r\n return { value, inProgress };\r\n}\r\n"]}
1
+ {"version":3,"file":"UseDebouncedAsyncValue.js","sourceRoot":"","sources":["../../../../src/components-react/common/UseDebouncedAsyncValue.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAU,iBAAuD;IACrG,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,qBAAqB,EAAW,EAAE,EAAE,CAAC,CAAC,CAAC,kDAAkD;IAE7H,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAW,CAAC;IAC9C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB,EAAE;YACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO;SACR;QAED,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,yFAAyF;QACzF,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC;aAC1C,IAAI,CACH,OAAO,EAAE,EACT,QAAQ,EAAE,EACV,oBAAoB,CAAC,SAAS,CAAC,CAChC;aACA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\nimport { useEffect, useMemo, useState } from \"react\";\r\nimport { publish } from \"rxjs/internal/operators/publish\";\r\nimport { refCount } from \"rxjs/internal/operators/refCount\";\r\nimport { defer } from \"rxjs/internal/observable/defer\";\r\nimport { scheduleSubscription, SubscriptionScheduler } from \"./SubscriptionScheduler\";\r\n\r\n/**\r\n * Custom hook for working with promise values.\r\n * Promises are debounced using trailing and leading edge.\r\n * The first promise will always be executed.\r\n * Any promises following the first while it is executing will be scheduled (and unscheduled), leaving only the last promise to be resolved.\r\n * Once the first promise finishes resolving, the last passed promise starts resolving.\r\n * @beta\r\n */\r\nexport function useDebouncedAsyncValue<TReturn>(valueToBeResolved: undefined | (() => Promise<TReturn>)) {\r\n const scheduler = useMemo(() => new SubscriptionScheduler<TReturn>(), []); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n const [value, setValue] = useState<TReturn>();\r\n const [inProgress, setInProgress] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!valueToBeResolved) {\r\n setValue(undefined);\r\n setInProgress(false);\r\n return;\r\n }\r\n\r\n setInProgress(true);\r\n // schedule and subscribe to the observable emitting value from valueToBeResolved promise\r\n const subscription = defer(valueToBeResolved)\r\n .pipe(\r\n publish(),\r\n refCount(),\r\n scheduleSubscription(scheduler),\r\n )\r\n .subscribe({\r\n next: (data) => {\r\n setValue(data);\r\n setInProgress(false);\r\n },\r\n });\r\n\r\n return () => { subscription.unsubscribe(); };\r\n }, [valueToBeResolved, scheduler]);\r\n\r\n return { value, inProgress };\r\n}\r\n"]}
@@ -5,7 +5,7 @@ import * as React from "react";
5
5
  import { GlobalDialogProps } from "@itwin/core-react";
6
6
  import { ShowHideID, ShowHideItem } from "./ShowHideItem";
7
7
  /** Properties for the [[ShowHideDialog]] component used in the [[Table]] to show/hide columns.
8
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
8
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
9
9
  */
10
10
  export interface ShowHideDialogProps<T extends ShowHideID> extends GlobalDialogProps {
11
11
  /** key-label pair list for id's to be shown/hidden, and an accompanying label. */
@@ -21,7 +21,7 @@ interface ShowHideDialogState<T extends ShowHideID> {
21
21
  }
22
22
  /**
23
23
  * [Dialog]($core-react) Component used to toggle show/hide table columns, given through items prop, through a list of checkboxes.
24
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
24
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
25
25
  */
26
26
  export declare class ShowHideDialog<T extends ShowHideID> extends React.PureComponent<ShowHideDialogProps<T>, ShowHideDialogState<T>> {
27
27
  /** @internal */
@@ -13,7 +13,7 @@ import { DialogButtonType } from "@itwin/appui-abstract";
13
13
  import { Checkbox } from "@itwin/itwinui-react";
14
14
  /**
15
15
  * [Dialog]($core-react) Component used to toggle show/hide table columns, given through items prop, through a list of checkboxes.
16
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
16
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
17
17
  */
18
18
  export class ShowHideDialog extends React.PureComponent {
19
19
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideDialog.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport * as React from \"react\";\r\nimport { GlobalDialog, GlobalDialogProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideDialog]] component used in the [[Table]] to show/hide columns.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideDialogProps<T extends ShowHideID> extends GlobalDialogProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideDialogState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n}\r\n\r\n/**\r\n * [Dialog]($core-react) Component used to toggle show/hide table columns, given through items prop, through a list of checkboxes.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport class ShowHideDialog<T extends ShowHideID> extends React.PureComponent<ShowHideDialogProps<T>, ShowHideDialogState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideDialogState<T>;\r\n constructor(props: ShowHideDialogProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideDialogProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { opened, items, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalDialog\r\n opened={opened}\r\n resizable={true}\r\n movable={true}\r\n modal={false}\r\n minWidth={300}\r\n minHeight={250}\r\n width={300}\r\n onClose={onClose}\r\n onEscape={onClose}\r\n onOutsideClick={onClose}\r\n buttonCluster={onClose && [{ onClick: onClose, type: DialogButtonType.Close }]}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => {\r\n this._toggleItem(item);\r\n };\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-dialog-input-${index}`;\r\n return (\r\n <div key={index}>\r\n <Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} onClick={sel} />\r\n <label htmlFor={id}>{label}</label>\r\n </div>\r\n );\r\n })}\r\n </GlobalDialog>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ShowHideDialog.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport * as React from \"react\";\r\nimport { GlobalDialog, GlobalDialogProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { DialogButtonType } from \"@itwin/appui-abstract\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideDialog]] component used in the [[Table]] to show/hide columns.\r\n * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideDialogProps<T extends ShowHideID> extends GlobalDialogProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideDialogState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n}\r\n\r\n/**\r\n * [Dialog]($core-react) Component used to toggle show/hide table columns, given through items prop, through a list of checkboxes.\r\n * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport class ShowHideDialog<T extends ShowHideID> extends React.PureComponent<ShowHideDialogProps<T>, ShowHideDialogState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideDialogState<T>;\r\n constructor(props: ShowHideDialogProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideDialogProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { opened, items, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalDialog\r\n opened={opened}\r\n resizable={true}\r\n movable={true}\r\n modal={false}\r\n minWidth={300}\r\n minHeight={250}\r\n width={300}\r\n onClose={onClose}\r\n onEscape={onClose}\r\n onOutsideClick={onClose}\r\n buttonCluster={onClose && [{ onClick: onClose, type: DialogButtonType.Close }]}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => {\r\n this._toggleItem(item);\r\n };\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-dialog-input-${index}`;\r\n return (\r\n <div key={index}>\r\n <Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} onClick={sel} />\r\n <label htmlFor={id}>{label}</label>\r\n </div>\r\n );\r\n })}\r\n </GlobalDialog>\r\n );\r\n }\r\n}\r\n"]}
@@ -2,14 +2,14 @@
2
2
  * @module Common
3
3
  */
4
4
  /** Interface for ShowHide items used to show/hide [[Table]] columns.
5
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
5
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
6
6
  */
7
7
  export interface ShowHideItem<T extends ShowHideID> {
8
8
  id: T;
9
9
  label: string;
10
10
  }
11
11
  /** Union type for all possible ShowHide IDs
12
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
12
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
13
13
  */
14
14
  export declare type ShowHideID = string | number | symbol;
15
15
  //# sourceMappingURL=ShowHideItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideItem.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Interface for ShowHide items used to show/hide [[Table]] columns.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideItem<T extends ShowHideID> {\r\n id: T;\r\n label: string;\r\n}\r\n\r\n/** Union type for all possible ShowHide IDs\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport type ShowHideID = string | number | symbol;\r\n"]}
1
+ {"version":3,"file":"ShowHideItem.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideItem.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Interface for ShowHide items used to show/hide [[Table]] columns.\r\n * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideItem<T extends ShowHideID> {\r\n id: T;\r\n label: string;\r\n}\r\n\r\n/** Union type for all possible ShowHide IDs\r\n * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport type ShowHideID = string | number | symbol;\r\n"]}
@@ -5,7 +5,7 @@ import * as React from "react";
5
5
  import { GlobalContextMenuProps } from "@itwin/core-react";
6
6
  import { ShowHideID, ShowHideItem } from "./ShowHideItem";
7
7
  /** Properties for the [[ShowHideMenu]] component
8
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
8
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
9
9
  */
10
10
  export interface ShowHideMenuProps<T extends ShowHideID> extends GlobalContextMenuProps {
11
11
  /** key-label pair list for id's to be shown/hidden, and an accompanying label. */
@@ -31,7 +31,7 @@ interface ShowHideMenuState<T extends ShowHideID> {
31
31
  /**
32
32
  * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.
33
33
  * Component includes a "list" button that displays a dialog with the same checkboxes.
34
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
34
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
35
35
  */
36
36
  export declare class ShowHideMenu<T extends ShowHideID> extends React.PureComponent<ShowHideMenuProps<T>, ShowHideMenuState<T>> {
37
37
  /** @internal */
@@ -14,7 +14,7 @@ import { Checkbox } from "@itwin/itwinui-react";
14
14
  /**
15
15
  * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.
16
16
  * Component includes a "list" button that displays a dialog with the same checkboxes.
17
- * @public @deprecated will be removed when deprecated [[Table]] component is removed.
17
+ * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.
18
18
  */
19
19
  export class ShowHideMenu extends React.PureComponent {
20
20
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ShowHideMenu.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport * as React from \"react\";\r\nimport { ContextMenuDivider, ContextMenuItem, GlobalContextMenu, GlobalContextMenuProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideDialog } from \"./ShowHideDialog\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideMenu]] component\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideMenuProps<T extends ShowHideID> extends GlobalContextMenuProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** X position to place menu */\r\n x: number;\r\n /** Y position to place menu */\r\n y: number;\r\n /** Whether dialog is opened or closed */\r\n opened: boolean;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when close button is clicked */\r\n onClose?: () => void;\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideMenuState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n dialogOpened: boolean;\r\n}\r\n\r\n/**\r\n * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.\r\n * Component includes a \"list\" button that displays a dialog with the same checkboxes.\r\n * @public @deprecated will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport class ShowHideMenu<T extends ShowHideID> extends React.PureComponent<ShowHideMenuProps<T>, ShowHideMenuState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideMenuState<T>;\r\n\r\n /** @internal */\r\n constructor(props: ShowHideMenuProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n dialogOpened: false,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideMenuProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _showAll = () => {\r\n this.setState({ hiddenColumns: [] }, () => {\r\n // istanbul ignore next\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n private _showDialog = () => {\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n this.setState({\r\n dialogOpened: true,\r\n });\r\n };\r\n\r\n private _closeDialog = () => {\r\n this.setState({\r\n dialogOpened: false,\r\n });\r\n };\r\n\r\n private _defaultContextMenu = (event: React.MouseEvent) => {\r\n event.stopPropagation();\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { items, x, y, opened, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalContextMenu\r\n x={x}\r\n y={y}\r\n opened={opened}\r\n onEsc={onClose}\r\n onOutsideClick={onClose}\r\n edgeLimit={false}\r\n autoflip={true}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => this._toggleItem(item);\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-menu-input-${index}`;\r\n return (\r\n <ContextMenuItem key={index}\r\n onSelect={sel}\r\n icon={<Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} />} >\r\n {label}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n <ContextMenuDivider />\r\n <ContextMenuItem onSelect={this._showAll}><span data-testid=\"show-hide-showall\">{UiComponents.translate(\"showhide.showAll\")}</span></ContextMenuItem>\r\n <ContextMenuItem onSelect={this._showDialog}><span data-testid=\"show-hide-list\">{UiComponents.translate(\"showhide.list\")}</span></ContextMenuItem>\r\n <ShowHideDialog\r\n items={items}\r\n title={UiComponents.translate(\"showhide.title\")}\r\n opened={this.state.dialogOpened}\r\n onClose={this._closeDialog}\r\n initialHidden={this.state.hiddenColumns}\r\n onContextMenu={this._defaultContextMenu}\r\n onShowHideChange={onShowHideChange} />\r\n </GlobalContextMenu>\r\n );\r\n }\r\n}\r\n\r\n// cspell:ignore showall\r\n"]}
1
+ {"version":3,"file":"ShowHideMenu.js","sourceRoot":"","sources":["../../../../../src/components-react/common/showhide/ShowHideMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Common\r\n */\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\nimport * as React from \"react\";\r\nimport { ContextMenuDivider, ContextMenuItem, GlobalContextMenu, GlobalContextMenuProps } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../../UiComponents\";\r\nimport { ShowHideDialog } from \"./ShowHideDialog\";\r\nimport { ShowHideID, ShowHideItem } from \"./ShowHideItem\";\r\nimport { Checkbox } from \"@itwin/itwinui-react\";\r\n\r\n/** Properties for the [[ShowHideMenu]] component\r\n * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport interface ShowHideMenuProps<T extends ShowHideID> extends GlobalContextMenuProps {\r\n /** key-label pair list for id's to be shown/hidden, and an accompanying label. */\r\n items: Array<ShowHideItem<T>>;\r\n /** X position to place menu */\r\n x: number;\r\n /** Y position to place menu */\r\n y: number;\r\n /** Whether dialog is opened or closed */\r\n opened: boolean;\r\n /** Hidden list to start with */\r\n initialHidden?: T[];\r\n /** Called when close button is clicked */\r\n onClose?: () => void;\r\n /** Called when item is shown/hidden */\r\n onShowHideChange?: (cols: T[]) => boolean | undefined;\r\n}\r\n\r\n/** @internal */\r\ninterface ShowHideMenuState<T extends ShowHideID> {\r\n hiddenColumns: T[];\r\n dialogOpened: boolean;\r\n}\r\n\r\n/**\r\n * [ContextMenu]($core-react) Component used to toggle show/hide items, given through items prop, through a list of checkboxes.\r\n * Component includes a \"list\" button that displays a dialog with the same checkboxes.\r\n * @public @deprecated in 3.2. Will be removed when deprecated [[Table]] component is removed.\r\n */\r\nexport class ShowHideMenu<T extends ShowHideID> extends React.PureComponent<ShowHideMenuProps<T>, ShowHideMenuState<T>> {\r\n /** @internal */\r\n public override readonly state: ShowHideMenuState<T>;\r\n\r\n /** @internal */\r\n constructor(props: ShowHideMenuProps<T>) {\r\n super(props);\r\n this.state = {\r\n hiddenColumns: props.initialHidden || [],\r\n dialogOpened: false,\r\n };\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(oldProps: ShowHideMenuProps<T>) {\r\n if (this.props.initialHidden && oldProps.initialHidden !== this.props.initialHidden) {\r\n this.setState((_, props) => ({ hiddenColumns: props.initialHidden || /* istanbul ignore next */[] }));\r\n }\r\n }\r\n\r\n private _toggleItem = (item: ShowHideItem<T>) => {\r\n if (this.state.hiddenColumns.indexOf(item.id) !== -1)\r\n this._show(item);\r\n else\r\n this._hide(item);\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n\r\n private _hide = (item: ShowHideItem<T>) => {\r\n this.setState(\r\n (prevState) => ({ hiddenColumns: [...prevState.hiddenColumns, item.id] }),\r\n () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _show = (item: ShowHideItem<T>) => {\r\n const hiddenColumns = this.state.hiddenColumns.filter((value) => {\r\n return value !== item.id;\r\n });\r\n\r\n this.setState({ hiddenColumns }, () => {\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n };\r\n\r\n private _showAll = () => {\r\n this.setState({ hiddenColumns: [] }, () => {\r\n // istanbul ignore next\r\n if (this.props.onShowHideChange)\r\n this.props.onShowHideChange(this.state.hiddenColumns);\r\n });\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n };\r\n private _showDialog = () => {\r\n if (this.props.onClose)\r\n this.props.onClose();\r\n this.setState({\r\n dialogOpened: true,\r\n });\r\n };\r\n\r\n private _closeDialog = () => {\r\n this.setState({\r\n dialogOpened: false,\r\n });\r\n };\r\n\r\n private _defaultContextMenu = (event: React.MouseEvent) => {\r\n event.stopPropagation();\r\n };\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const { items, x, y, opened, initialHidden, onClose, onShowHideChange, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n return (\r\n <GlobalContextMenu\r\n x={x}\r\n y={y}\r\n opened={opened}\r\n onEsc={onClose}\r\n onOutsideClick={onClose}\r\n edgeLimit={false}\r\n autoflip={true}\r\n {...props}>\r\n {this.props.items.map((item, index) => {\r\n const visible = this.state.hiddenColumns.indexOf(item.id) === -1;\r\n const sel = () => this._toggleItem(item);\r\n const label = item.label || UiComponents.translate(\"showhide.noLabel\");\r\n const id = `show-hide-menu-input-${index}`;\r\n return (\r\n <ContextMenuItem key={index}\r\n onSelect={sel}\r\n icon={<Checkbox data-testid={id} id={id} checked={visible} onChange={() => undefined} />} >\r\n {label}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n <ContextMenuDivider />\r\n <ContextMenuItem onSelect={this._showAll}><span data-testid=\"show-hide-showall\">{UiComponents.translate(\"showhide.showAll\")}</span></ContextMenuItem>\r\n <ContextMenuItem onSelect={this._showDialog}><span data-testid=\"show-hide-list\">{UiComponents.translate(\"showhide.list\")}</span></ContextMenuItem>\r\n <ShowHideDialog\r\n items={items}\r\n title={UiComponents.translate(\"showhide.title\")}\r\n opened={this.state.dialogOpened}\r\n onClose={this._closeDialog}\r\n initialHidden={this.state.hiddenColumns}\r\n onContextMenu={this._defaultContextMenu}\r\n onShowHideChange={onShowHideChange} />\r\n </GlobalContextMenu>\r\n );\r\n }\r\n}\r\n\r\n// cspell:ignore showall\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TypeConverterManager.d.ts","sourceRoot":"","sources":["../../../../src/components-react/converters/TypeConverterManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,WAAW,CAA4C;IACtE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAgB;IAEpD,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAOrB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,aAAa,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;WAYrG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;WASnE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa;CAYpF"}
1
+ {"version":3,"file":"TypeConverterManager.d.ts","sourceRoot":"","sources":["../../../../src/components-react/converters/TypeConverterManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,WAAW,CAA4C;IACtE,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAgB;IAEpD,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAOrB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,aAAa,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;WAerG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;WASnE,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,aAAa;CAQpF"}
@@ -24,6 +24,9 @@ export class TypeConverterManager {
24
24
  }
25
25
  const instance = new converter();
26
26
  TypeConverterManager._converters[fullConverterName] = instance;
27
+ if (instance.constructor.name === "StringTypeConverter" && !TypeConverterManager._defaultTypeConverter) {
28
+ TypeConverterManager._defaultTypeConverter = instance;
29
+ }
27
30
  }
28
31
  static unregisterConverter(typename, converterName) {
29
32
  const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);
@@ -36,10 +39,6 @@ export class TypeConverterManager {
36
39
  const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);
37
40
  if (TypeConverterManager._converters.hasOwnProperty(fullConverterName))
38
41
  return TypeConverterManager._converters[fullConverterName];
39
- if (!TypeConverterManager._defaultTypeConverter) {
40
- const { StringTypeConverter } = require("../converters/StringTypeConverter"); // eslint-disable-line @typescript-eslint/no-var-requires
41
- TypeConverterManager._defaultTypeConverter = new StringTypeConverter();
42
- }
43
42
  return TypeConverterManager._defaultTypeConverter;
44
43
  }
45
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TypeConverterManager.js","sourceRoot":"","sources":["../../../../src/components-react/converters/TypeConverterManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAIvB,MAAM,CAAC,oBAAoB,CAAC,QAAgB,EAAE,aAAsB;QAC1E,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QACjC,IAAI,aAAa;YACf,iBAAiB,IAAI,IAAI,aAAa,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,QAAgB,EAAE,SAAkC,EAAE,aAAsB;QAC1G,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE7F,IAAI,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;YACtE,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7F,MAAM,KAAK,CAAC,uDAAuD,QAAQ,4BAA4B,eAAe,GAAG,CAAC,CAAC;SAC5H;QAED,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,QAAgB,EAAE,aAAsB;QACxE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE7F,uBAAuB;QACvB,IAAI,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;YACtE,OAAO,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SAC5D;IACH,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,QAAgB,EAAE,aAAsB;QACjE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE7F,IAAI,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACpE,OAAO,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAE7D,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE;YAC/C,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC,CAAC,yDAAyD;YACvI,oBAAoB,CAAC,qBAAqB,GAAG,IAAI,mBAAmB,EAAE,CAAC;SACxE;QACD,OAAO,oBAAoB,CAAC,qBAAqB,CAAC;IACpD,CAAC;;AA1Cc,gCAAW,GAAyC,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module TypeConverters\r\n */\r\n\r\nimport { TypeConverter } from \"./TypeConverter\";\r\n\r\n/**\r\n * Manages Type Converters. Type Converters are registered with and obtained from the manager.\r\n * @public\r\n */\r\nexport class TypeConverterManager {\r\n private static _converters: { [index: string]: (TypeConverter) } = {};\r\n private static _defaultTypeConverter: TypeConverter;\r\n\r\n private static getFullConverterName(typename: string, converterName?: string): string {\r\n let fullConverterName = typename;\r\n if (converterName)\r\n fullConverterName += `:${converterName}`;\r\n return fullConverterName;\r\n }\r\n\r\n public static registerConverter(typename: string, converter: new () => TypeConverter, converterName?: string): void {\r\n const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);\r\n\r\n if (TypeConverterManager._converters.hasOwnProperty(fullConverterName)) {\r\n const nameOfConverter = TypeConverterManager._converters[fullConverterName].constructor.name;\r\n throw Error(`TypeConverterManager.registerConverter error: type '${typename}' already registered to '${nameOfConverter}'`);\r\n }\r\n\r\n const instance = new converter();\r\n TypeConverterManager._converters[fullConverterName] = instance;\r\n }\r\n\r\n public static unregisterConverter(typename: string, converterName?: string): void {\r\n const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);\r\n\r\n // istanbul ignore else\r\n if (TypeConverterManager._converters.hasOwnProperty(fullConverterName)) {\r\n delete TypeConverterManager._converters[fullConverterName];\r\n }\r\n }\r\n\r\n public static getConverter(typename: string, converterName?: string): TypeConverter {\r\n const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);\r\n\r\n if (TypeConverterManager._converters.hasOwnProperty(fullConverterName))\r\n return TypeConverterManager._converters[fullConverterName];\r\n\r\n if (!TypeConverterManager._defaultTypeConverter) {\r\n const { StringTypeConverter } = require(\"../converters/StringTypeConverter\"); // eslint-disable-line @typescript-eslint/no-var-requires\r\n TypeConverterManager._defaultTypeConverter = new StringTypeConverter();\r\n }\r\n return TypeConverterManager._defaultTypeConverter;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"TypeConverterManager.js","sourceRoot":"","sources":["../../../../src/components-react/converters/TypeConverterManager.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAIvB,MAAM,CAAC,oBAAoB,CAAC,QAAgB,EAAE,aAAsB;QAC1E,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QACjC,IAAI,aAAa;YACf,iBAAiB,IAAI,IAAI,aAAa,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,QAAgB,EAAE,SAAkC,EAAE,aAAsB;QAC1G,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE7F,IAAI,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;YACtE,MAAM,eAAe,GAAG,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7F,MAAM,KAAK,CAAC,uDAAuD,QAAQ,4BAA4B,eAAe,GAAG,CAAC,CAAC;SAC5H;QAED,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC;QAC/D,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,qBAAqB,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,EAAE;YACtG,oBAAoB,CAAC,qBAAqB,GAAG,QAAQ,CAAC;SACvD;IACH,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,QAAgB,EAAE,aAAsB;QACxE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE7F,uBAAuB;QACvB,IAAI,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE;YACtE,OAAO,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SAC5D;IACH,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,QAAgB,EAAE,aAAsB;QACjE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE7F,IAAI,oBAAoB,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACpE,OAAO,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAE7D,OAAO,oBAAoB,CAAC,qBAAqB,CAAC;IACpD,CAAC;;AAzCc,gCAAW,GAAyC,EAAE,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module TypeConverters\r\n */\r\n\r\nimport { TypeConverter } from \"./TypeConverter\";\r\n\r\n/**\r\n * Manages Type Converters. Type Converters are registered with and obtained from the manager.\r\n * @public\r\n */\r\nexport class TypeConverterManager {\r\n private static _converters: { [index: string]: (TypeConverter) } = {};\r\n private static _defaultTypeConverter: TypeConverter;\r\n\r\n private static getFullConverterName(typename: string, converterName?: string): string {\r\n let fullConverterName = typename;\r\n if (converterName)\r\n fullConverterName += `:${converterName}`;\r\n return fullConverterName;\r\n }\r\n\r\n public static registerConverter(typename: string, converter: new () => TypeConverter, converterName?: string): void {\r\n const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);\r\n\r\n if (TypeConverterManager._converters.hasOwnProperty(fullConverterName)) {\r\n const nameOfConverter = TypeConverterManager._converters[fullConverterName].constructor.name;\r\n throw Error(`TypeConverterManager.registerConverter error: type '${typename}' already registered to '${nameOfConverter}'`);\r\n }\r\n\r\n const instance = new converter();\r\n TypeConverterManager._converters[fullConverterName] = instance;\r\n if (instance.constructor.name === \"StringTypeConverter\" && !TypeConverterManager._defaultTypeConverter) {\r\n TypeConverterManager._defaultTypeConverter = instance;\r\n }\r\n }\r\n\r\n public static unregisterConverter(typename: string, converterName?: string): void {\r\n const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);\r\n\r\n // istanbul ignore else\r\n if (TypeConverterManager._converters.hasOwnProperty(fullConverterName)) {\r\n delete TypeConverterManager._converters[fullConverterName];\r\n }\r\n }\r\n\r\n public static getConverter(typename: string, converterName?: string): TypeConverter {\r\n const fullConverterName = TypeConverterManager.getFullConverterName(typename, converterName);\r\n\r\n if (TypeConverterManager._converters.hasOwnProperty(fullConverterName))\r\n return TypeConverterManager._converters[fullConverterName];\r\n\r\n return TypeConverterManager._defaultTypeConverter;\r\n }\r\n}\r\n"]}
@@ -7,8 +7,8 @@ import { PropertyValue } from "@itwin/appui-abstract";
7
7
  import { OptionType } from "@itwin/core-react";
8
8
  import { PropertyEditorProps, TypeEditor } from "./EditorContainer";
9
9
  import { PropertyEditorBase } from "./PropertyEditorManager";
10
- /** Properties for [[EnumEditor]] component
11
- * @beta @deprecated
10
+ /** Properties for [[ThemedEnumEditor]] component
11
+ * @beta @deprecated in 3.0. Use [EnumEditor]($components-react).
12
12
  */
13
13
  export interface ThemedEnumEditorProps extends PropertyEditorProps {
14
14
  /** Allow searching in enum list */
@@ -27,7 +27,7 @@ interface EnumEditorState {
27
27
  options: OptionType[] | undefined;
28
28
  }
29
29
  /** EnumEditor React component that is a property editor with select input
30
- * @beta @deprecated
30
+ * @beta @deprecated in 3.0. Use [EnumEditor]($components-react).
31
31
  */
32
32
  export declare class ThemedEnumEditor extends React.PureComponent<ThemedEnumEditorProps, EnumEditorState> implements TypeEditor {
33
33
  private _isMounted;
@@ -50,7 +50,7 @@ export declare class ThemedEnumEditor extends React.PureComponent<ThemedEnumEdit
50
50
  }
51
51
  /** Enum Property Button Group Editor registered for the "enum" type name.
52
52
  * It uses the [[EnumEditor]] React component.
53
- * @beta @deprecated
53
+ * @beta @deprecated in 3.0. Use [EnumEditor]($components-react).
54
54
  */
55
55
  export declare class ThemedEnumPropertyEditor extends PropertyEditorBase {
56
56
  get containerHandlesBlur(): boolean;
@@ -13,7 +13,7 @@ import { PropertyValueFormat, StandardEditorNames, StandardTypeNames } from "@it
13
13
  import { ThemedSelect } from "@itwin/core-react";
14
14
  import { PropertyEditorBase, PropertyEditorManager } from "./PropertyEditorManager";
15
15
  /** EnumEditor React component that is a property editor with select input
16
- * @beta @deprecated
16
+ * @beta @deprecated in 3.0. Use [EnumEditor]($components-react).
17
17
  */
18
18
  export class ThemedEnumEditor extends React.PureComponent {
19
19
  constructor() {
@@ -152,7 +152,7 @@ export class ThemedEnumEditor extends React.PureComponent {
152
152
  }
153
153
  /** Enum Property Button Group Editor registered for the "enum" type name.
154
154
  * It uses the [[EnumEditor]] React component.
155
- * @beta @deprecated
155
+ * @beta @deprecated in 3.0. Use [EnumEditor]($components-react).
156
156
  */
157
157
  export class ThemedEnumPropertyEditor extends PropertyEditorBase {
158
158
  // istanbul ignore next