@itwin/components-react 4.1.0-dev.1 → 4.1.0

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 (441) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  3. package/lib/cjs/components-react/_target.scss +9 -9
  4. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  5. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  6. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  7. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  8. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  9. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  10. package/lib/cjs/components-react/common/Links.js.map +1 -1
  11. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  12. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  13. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  14. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  15. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  16. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  17. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  18. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  19. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  20. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  21. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  22. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  23. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  24. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  25. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  26. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  27. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  28. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  29. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  30. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  31. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  32. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  33. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  34. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  35. package/lib/cjs/components-react/datepicker/DatePicker.scss +176 -176
  36. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  37. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  38. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  39. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  40. package/lib/cjs/components-react/datepicker/TimeField.scss +76 -76
  41. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  42. package/lib/cjs/components-react/editors/BooleanEditor.scss +22 -22
  43. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  44. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +20 -20
  45. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  46. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  47. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  48. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  49. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  50. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  51. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  52. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  53. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  54. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  55. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  56. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  57. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  58. package/lib/cjs/components-react/editors/NumericInputEditor.scss +16 -16
  59. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  60. package/lib/cjs/components-react/editors/PopupButton.scss +116 -116
  61. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  62. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  63. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  64. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  65. package/lib/cjs/components-react/editors/TextEditor.scss +20 -20
  66. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  67. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  68. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  69. package/lib/cjs/components-react/editors/ToggleEditor.scss +23 -23
  70. package/lib/cjs/components-react/editors/variables.scss +7 -7
  71. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  72. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  73. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  74. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  75. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  76. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  77. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  78. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  79. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  80. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  81. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  82. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  83. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  84. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  85. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  86. package/lib/cjs/components-react/filtering/FilteringInput.scss +58 -58
  87. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  88. package/lib/cjs/components-react/filtering/ResultSelector.scss +68 -68
  89. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  90. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +75 -75
  91. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  92. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  93. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  94. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  95. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  96. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  97. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  98. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  99. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  100. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  101. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  102. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  103. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  104. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  105. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  106. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +111 -111
  107. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  108. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  109. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  110. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  111. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  112. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  113. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  114. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  115. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  116. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  117. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  118. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  120. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  121. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  122. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  123. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  124. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  125. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  126. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  127. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  128. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  129. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +73 -73
  130. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  131. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  132. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  133. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  134. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  135. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  136. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  137. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  138. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  139. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  140. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  141. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  142. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  143. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  144. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  145. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  146. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  147. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  148. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  149. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  150. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  151. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  152. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  153. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  154. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  155. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  156. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  157. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  158. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +20 -20
  159. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  160. package/lib/cjs/components-react/toolbar/Item.scss +91 -91
  161. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  162. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  163. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  164. package/lib/cjs/components-react/toolbar/Items.scss +96 -96
  165. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  166. package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
  167. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  168. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  169. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  170. package/lib/cjs/components-react/toolbar/PopupItem.scss +88 -88
  171. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  172. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  173. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  174. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  175. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  176. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  177. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  178. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  179. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  180. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  181. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  182. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  183. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  184. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +15 -15
  185. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  186. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +33 -33
  187. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  188. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  189. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  190. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  191. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  192. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  193. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  194. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  195. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  196. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  197. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  198. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  199. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  200. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  201. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  202. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  203. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  204. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  205. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  206. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  207. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  208. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  209. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  210. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  211. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  212. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  213. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +27 -27
  214. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  215. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  216. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  217. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  218. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  219. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  220. package/lib/cjs/components-react.js.map +1 -1
  221. package/lib/esm/components-react/UiComponents.js.map +1 -1
  222. package/lib/esm/components-react/_target.scss +9 -9
  223. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  224. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  225. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  226. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  227. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  228. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  229. package/lib/esm/components-react/common/Links.js.map +1 -1
  230. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  231. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  232. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  233. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  234. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  235. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  236. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  237. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  238. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  239. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  240. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  241. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  242. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  243. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  244. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  245. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  246. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  247. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  248. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  249. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  250. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  251. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  252. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  253. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  254. package/lib/esm/components-react/datepicker/DatePicker.scss +176 -176
  255. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  256. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  257. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  258. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  259. package/lib/esm/components-react/datepicker/TimeField.scss +76 -76
  260. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  261. package/lib/esm/components-react/editors/BooleanEditor.scss +22 -22
  262. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  263. package/lib/esm/components-react/editors/CustomNumberEditor.scss +20 -20
  264. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  265. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  266. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  267. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  268. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  269. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +141 -141
  270. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  271. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  272. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  273. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  274. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  275. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  276. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  277. package/lib/esm/components-react/editors/NumericInputEditor.scss +16 -16
  278. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  279. package/lib/esm/components-react/editors/PopupButton.scss +116 -116
  280. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  281. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  282. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  283. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  284. package/lib/esm/components-react/editors/TextEditor.scss +20 -20
  285. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  286. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  287. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  288. package/lib/esm/components-react/editors/ToggleEditor.scss +23 -23
  289. package/lib/esm/components-react/editors/variables.scss +7 -7
  290. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  291. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  292. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  293. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  294. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  295. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +38 -38
  296. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  297. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -68
  298. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  299. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  300. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  301. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  302. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  303. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  304. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  305. package/lib/esm/components-react/filtering/FilteringInput.scss +58 -58
  306. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  307. package/lib/esm/components-react/filtering/ResultSelector.scss +68 -68
  308. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  309. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +75 -75
  310. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  311. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  312. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  313. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  314. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  315. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  316. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  317. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  318. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  319. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  320. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  321. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  322. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  323. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  324. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  325. package/lib/esm/components-react/properties/renderers/PropertyView.scss +111 -111
  326. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  327. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  328. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  329. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  330. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  331. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  332. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  333. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  334. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  335. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  336. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  337. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  338. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  339. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  340. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  341. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  342. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  343. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  344. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  345. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  346. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  347. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  348. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +73 -73
  349. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  350. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  351. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  352. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  353. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -101
  354. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  355. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  356. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  357. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  358. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  359. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  360. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  361. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  362. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  363. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  364. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  365. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  366. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  367. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  368. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  369. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  370. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  371. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  372. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  373. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  374. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  375. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  376. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  377. package/lib/esm/components-react/selectable-content/SelectableContent.scss +20 -20
  378. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  379. package/lib/esm/components-react/toolbar/Item.scss +91 -91
  380. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  381. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  382. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  383. package/lib/esm/components-react/toolbar/Items.scss +96 -96
  384. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  385. package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
  386. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  387. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  388. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  389. package/lib/esm/components-react/toolbar/PopupItem.scss +88 -88
  390. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  391. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  392. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  393. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  394. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  395. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  396. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  397. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  398. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  399. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  400. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  401. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  402. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  403. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +15 -15
  404. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  405. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +33 -33
  406. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  407. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  408. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  409. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  410. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +117 -117
  411. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  412. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  413. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  414. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  415. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  416. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  417. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  418. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  419. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  420. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  421. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  422. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  423. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  424. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  425. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  426. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  427. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  428. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  429. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  430. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  431. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  432. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +27 -27
  433. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  434. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  435. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  436. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  437. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  438. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  439. package/lib/esm/components-react.js.map +1 -1
  440. package/lib/public/locales/en/UiComponents.json +139 -139
  441. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"MutableGridCategory.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableGridCategory.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAQ/F,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAWtF;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,2BAA2B;IAKlE,YACE,QAA0B,EAC1B,WAAgC,EAChC,eAAwC,EACxC,kBAA2B,EAC3B,QAAgB,CAAC;;QAEjB,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEzF,IAAI,kBAAkB,KAAK,SAAS;YAClC,IAAI,CAAC,aAAa,GAAG,GAAG,kBAAkB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;;YAE9D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAErC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEnC,yIAAyI;QACzI,MAAM,eAAe,GAAG,MAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3I,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,eAAe,mCAAI,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAExJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAE9B,yFAAyF;QACzF,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IACxD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,IAAoB,wBAAwB;QAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC;YAClD,OAAO,CAAC,CAAC;QAEX,OAAO,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,IAAoB,wBAAwB,CAAC,KAAa;QACxD,KAAK,CAAC,wBAAwB,GAAG,KAAK,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport type { PropertyRecord } from \"@itwin/appui-abstract\";\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\nimport type { IMutableFlatGridItem, IMutableGridCategoryItem} from \"./MutableFlatGridItem\";\nimport { FlatGridItemType, MutableFlatPropertyGridItem } from \"./MutableFlatGridItem\";\nimport type { IMutableGridItemFactory } from \"./MutableGridItemFactory\";\n\n/**\n * Category name to PropertyRecord[] key pair interface used to describe which records belong to which category.\n * @public\n */\nexport interface CategoryRecordsDict {\n [categoryName: string]: PropertyRecord[];\n}\n\n/**\n * Mutable wrapper object for PropertyCategory which provides methods for working with and managing category and record children hierarchies\n * @public\n */\nexport class MutableGridCategory extends MutableFlatPropertyGridItem implements IMutableGridCategoryItem {\n private _children: IMutableFlatGridItem[];\n private _selectionKey: string;\n private _category: PropertyCategory;\n\n constructor(\n category: PropertyCategory,\n recordsDict: CategoryRecordsDict,\n gridItemFactory: IMutableGridItemFactory,\n parentSelectionKey?: string,\n depth: number = 0,\n ) {\n super(depth, parentSelectionKey, parentSelectionKey);\n this._category = { name: category.name, label: category.label, expand: category.expand };\n\n if (parentSelectionKey !== undefined)\n this._selectionKey = `${parentSelectionKey}_${category.name}`;\n else\n this._selectionKey = category.name;\n\n this._isExpanded = category.expand;\n\n // Even though categories are nested and have their own depth, categorized properties depth is counted starting with the parent category.\n const categoryRecords = recordsDict[category.name] ?? [];\n this._children = categoryRecords.map((value) => gridItemFactory.createCategorizedProperty(value, this.selectionKey, this.selectionKey, 0));\n\n const childCategories = category.childCategories ?? [];\n const child = childCategories.map((childCategory) => gridItemFactory.createGridCategory(childCategory, recordsDict, this.selectionKey, this.depth + 1));\n\n this._children.push(...child);\n\n // Assign lastInNumberOfCategories and isLastInRootCategory for entire children hierarchy\n this.lastInNumberOfCategories = 0;\n this.isLastInRootCategory = this.isRootCategory;\n }\n\n /**\n * Category is considered to be root category if its depth is 0\n */\n public get isRootCategory() {\n return this.depth === 0;\n }\n\n public get selectionKey() {\n return this._selectionKey;\n }\n\n public get type(): FlatGridItemType.Category {\n return FlatGridItemType.Category;\n }\n\n public get name() {\n return this._category.name;\n }\n\n public get label() {\n return this._category.label;\n }\n\n public get derivedCategory(): PropertyCategory {\n return { ...this._category, expand: this.isExpanded };\n }\n\n public getSelf() {\n return this;\n }\n\n public getChildren(): IMutableFlatGridItem[] {\n return this._children;\n }\n\n /**\n * Gets and Sets lastInNumberOfCategories.\n * Setter increments set value by one to account self as category.\n * New value is sent down to this items last child\n * @internal\n */\n public override get lastInNumberOfCategories(): number {\n if (this.isExpanded && this.getChildren().length > 0)\n return 0;\n\n return this._lastInNumberOfCategories - 1;\n }\n\n public override set lastInNumberOfCategories(value: number) {\n super.lastInNumberOfCategories = value + 1;\n }\n}\n"]}
1
+ {"version":3,"file":"MutableGridCategory.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableGridCategory.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAQ/F,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAWtF;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,2BAA2B;IAKlE,YACE,QAA0B,EAC1B,WAAgC,EAChC,eAAwC,EACxC,kBAA2B,EAC3B,QAAgB,CAAC;;QAEjB,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEzF,IAAI,kBAAkB,KAAK,SAAS;YAClC,IAAI,CAAC,aAAa,GAAG,GAAG,kBAAkB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;;YAE9D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAErC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEnC,yIAAyI;QACzI,MAAM,eAAe,GAAG,MAAA,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3I,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,eAAe,mCAAI,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAExJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAE9B,yFAAyF;QACzF,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;IAC9B,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IACxD,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,IAAoB,wBAAwB;QAC1C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC;YAClD,OAAO,CAAC,CAAC;QAEX,OAAO,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,IAAoB,wBAAwB,CAAC,KAAa;QACxD,KAAK,CAAC,wBAAwB,GAAG,KAAK,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport type { PropertyRecord } from \"@itwin/appui-abstract\";\r\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\r\nimport type { IMutableFlatGridItem, IMutableGridCategoryItem} from \"./MutableFlatGridItem\";\r\nimport { FlatGridItemType, MutableFlatPropertyGridItem } from \"./MutableFlatGridItem\";\r\nimport type { IMutableGridItemFactory } from \"./MutableGridItemFactory\";\r\n\r\n/**\r\n * Category name to PropertyRecord[] key pair interface used to describe which records belong to which category.\r\n * @public\r\n */\r\nexport interface CategoryRecordsDict {\r\n [categoryName: string]: PropertyRecord[];\r\n}\r\n\r\n/**\r\n * Mutable wrapper object for PropertyCategory which provides methods for working with and managing category and record children hierarchies\r\n * @public\r\n */\r\nexport class MutableGridCategory extends MutableFlatPropertyGridItem implements IMutableGridCategoryItem {\r\n private _children: IMutableFlatGridItem[];\r\n private _selectionKey: string;\r\n private _category: PropertyCategory;\r\n\r\n constructor(\r\n category: PropertyCategory,\r\n recordsDict: CategoryRecordsDict,\r\n gridItemFactory: IMutableGridItemFactory,\r\n parentSelectionKey?: string,\r\n depth: number = 0,\r\n ) {\r\n super(depth, parentSelectionKey, parentSelectionKey);\r\n this._category = { name: category.name, label: category.label, expand: category.expand };\r\n\r\n if (parentSelectionKey !== undefined)\r\n this._selectionKey = `${parentSelectionKey}_${category.name}`;\r\n else\r\n this._selectionKey = category.name;\r\n\r\n this._isExpanded = category.expand;\r\n\r\n // Even though categories are nested and have their own depth, categorized properties depth is counted starting with the parent category.\r\n const categoryRecords = recordsDict[category.name] ?? [];\r\n this._children = categoryRecords.map((value) => gridItemFactory.createCategorizedProperty(value, this.selectionKey, this.selectionKey, 0));\r\n\r\n const childCategories = category.childCategories ?? [];\r\n const child = childCategories.map((childCategory) => gridItemFactory.createGridCategory(childCategory, recordsDict, this.selectionKey, this.depth + 1));\r\n\r\n this._children.push(...child);\r\n\r\n // Assign lastInNumberOfCategories and isLastInRootCategory for entire children hierarchy\r\n this.lastInNumberOfCategories = 0;\r\n this.isLastInRootCategory = this.isRootCategory;\r\n }\r\n\r\n /**\r\n * Category is considered to be root category if its depth is 0\r\n */\r\n public get isRootCategory() {\r\n return this.depth === 0;\r\n }\r\n\r\n public get selectionKey() {\r\n return this._selectionKey;\r\n }\r\n\r\n public get type(): FlatGridItemType.Category {\r\n return FlatGridItemType.Category;\r\n }\r\n\r\n public get name() {\r\n return this._category.name;\r\n }\r\n\r\n public get label() {\r\n return this._category.label;\r\n }\r\n\r\n public get derivedCategory(): PropertyCategory {\r\n return { ...this._category, expand: this.isExpanded };\r\n }\r\n\r\n public getSelf() {\r\n return this;\r\n }\r\n\r\n public getChildren(): IMutableFlatGridItem[] {\r\n return this._children;\r\n }\r\n\r\n /**\r\n * Gets and Sets lastInNumberOfCategories.\r\n * Setter increments set value by one to account self as category.\r\n * New value is sent down to this items last child\r\n * @internal\r\n */\r\n public override get lastInNumberOfCategories(): number {\r\n if (this.isExpanded && this.getChildren().length > 0)\r\n return 0;\r\n\r\n return this._lastInNumberOfCategories - 1;\r\n }\r\n\r\n public override set lastInNumberOfCategories(value: number) {\r\n super.lastInNumberOfCategories = value + 1;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MutableGridItemFactory.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport type { PropertyRecord} from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\nimport { MutableCategorizedArrayProperty } from \"./MutableCategorizedArrayProperty\";\nimport { MutableCategorizedPrimitiveProperty } from \"./MutableCategorizedPrimitiveProperty\";\nimport { MutableCategorizedStructProperty } from \"./MutableCategorizedStructProperty\";\nimport { MutableCustomGridCategory } from \"./MutableCustomGridCategory\";\nimport type { IMutableCategorizedPropertyItem, IMutableGridCategoryItem } from \"./MutableFlatGridItem\";\nimport type { CategoryRecordsDict} from \"./MutableGridCategory\";\nimport { MutableGridCategory } from \"./MutableGridCategory\";\n\n/**\n * IMutableGridItemFactory interface for creating MutableGridItem objects\n * @public\n */\nexport interface IMutableGridItemFactory {\n createCategorizedProperty: (\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n overrideName?: string,\n overrideDisplayLabel?: string,\n ) => IMutableCategorizedPropertyItem;\n\n createGridCategory: (\n category: PropertyCategory,\n recordsDict: CategoryRecordsDict,\n parentSelectionKey?: string,\n depth?: number,\n ) => IMutableGridCategoryItem;\n}\n\n/**\n * Implementation of IMutableGridItemFactory for creating MutableGridItem objects.\n * @public\n */\nexport class MutableGridItemFactory implements IMutableGridItemFactory {\n protected createPrimitiveProperty(\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n overrideName?: string,\n overrideDisplayLabel?: string,\n ) {\n return new MutableCategorizedPrimitiveProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\n }\n\n protected createArrayProperty(\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n overrideName?: string,\n overrideDisplayLabel?: string,\n ) {\n return new MutableCategorizedArrayProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, this, overrideName, overrideDisplayLabel);\n }\n\n protected createStructProperty(\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n overrideName?: string,\n overrideDisplayLabel?: string,\n ) {\n return new MutableCategorizedStructProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, this, overrideName, overrideDisplayLabel);\n }\n\n /**\n * Converts record into FlatGridItem.\n * @param record record to convert to a FlatGridItem.\n * @param parentSelectionKey parent selection key of provided `record`.\n * @param parentCategorySelectionKey parent category selection key of provided `record`.\n * @param depth current depth counting from parent category.\n * @param overrideName property name that overrides original record property name.\n * @param overrideDisplayLabel property display label that overrides original record property display label.\n * @returns converted CategorizedProperty.\n */\n public createCategorizedProperty(\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n overrideName?: string,\n overrideDisplayLabel?: string,\n ): IMutableCategorizedPropertyItem {\n const valueFormat = record.value.valueFormat;\n switch (valueFormat) {\n case PropertyValueFormat.Primitive:\n return this.createPrimitiveProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\n case PropertyValueFormat.Array:\n return this.createArrayProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\n case PropertyValueFormat.Struct:\n return this.createStructProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\n /* istanbul ignore next */\n default:\n const unhandledRecordType: never = valueFormat;\n throw new Error(`Unhandled property record type. Was a new type added? ${unhandledRecordType}`);\n }\n }\n\n /**\n * Converts category into GridCategoryItem.\n * @param category PropertyCategory to convert.\n * @param recordsDict dictionary of category records.\n * @param parentSelectionKey parent selection key of this category.\n * @param depth current depth counting from root category.\n * @returns converted GridCategory.\n */\n public createGridCategory(\n category: PropertyCategory,\n recordsDict: CategoryRecordsDict,\n parentSelectionKey?: string,\n depth?: number,\n ): IMutableGridCategoryItem {\n if (category.renderer !== undefined)\n return new MutableCustomGridCategory(category, recordsDict, this, parentSelectionKey, depth ?? 0);\n\n if (parentSelectionKey !== undefined && depth !== undefined)\n return new MutableGridCategory(category, recordsDict, this, parentSelectionKey, depth);\n\n return new MutableGridCategory(category, recordsDict, this);\n }\n}\n"]}
1
+ {"version":3,"file":"MutableGridItemFactory.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport type { PropertyRecord} from \"@itwin/appui-abstract\";\r\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\r\nimport { MutableCategorizedArrayProperty } from \"./MutableCategorizedArrayProperty\";\r\nimport { MutableCategorizedPrimitiveProperty } from \"./MutableCategorizedPrimitiveProperty\";\r\nimport { MutableCategorizedStructProperty } from \"./MutableCategorizedStructProperty\";\r\nimport { MutableCustomGridCategory } from \"./MutableCustomGridCategory\";\r\nimport type { IMutableCategorizedPropertyItem, IMutableGridCategoryItem } from \"./MutableFlatGridItem\";\r\nimport type { CategoryRecordsDict} from \"./MutableGridCategory\";\r\nimport { MutableGridCategory } from \"./MutableGridCategory\";\r\n\r\n/**\r\n * IMutableGridItemFactory interface for creating MutableGridItem objects\r\n * @public\r\n */\r\nexport interface IMutableGridItemFactory {\r\n createCategorizedProperty: (\r\n record: PropertyRecord,\r\n parentSelectionKey: string,\r\n parentCategorySelectionKey: string,\r\n depth: number,\r\n overrideName?: string,\r\n overrideDisplayLabel?: string,\r\n ) => IMutableCategorizedPropertyItem;\r\n\r\n createGridCategory: (\r\n category: PropertyCategory,\r\n recordsDict: CategoryRecordsDict,\r\n parentSelectionKey?: string,\r\n depth?: number,\r\n ) => IMutableGridCategoryItem;\r\n}\r\n\r\n/**\r\n * Implementation of IMutableGridItemFactory for creating MutableGridItem objects.\r\n * @public\r\n */\r\nexport class MutableGridItemFactory implements IMutableGridItemFactory {\r\n protected createPrimitiveProperty(\r\n record: PropertyRecord,\r\n parentSelectionKey: string,\r\n parentCategorySelectionKey: string,\r\n depth: number,\r\n overrideName?: string,\r\n overrideDisplayLabel?: string,\r\n ) {\r\n return new MutableCategorizedPrimitiveProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\r\n }\r\n\r\n protected createArrayProperty(\r\n record: PropertyRecord,\r\n parentSelectionKey: string,\r\n parentCategorySelectionKey: string,\r\n depth: number,\r\n overrideName?: string,\r\n overrideDisplayLabel?: string,\r\n ) {\r\n return new MutableCategorizedArrayProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, this, overrideName, overrideDisplayLabel);\r\n }\r\n\r\n protected createStructProperty(\r\n record: PropertyRecord,\r\n parentSelectionKey: string,\r\n parentCategorySelectionKey: string,\r\n depth: number,\r\n overrideName?: string,\r\n overrideDisplayLabel?: string,\r\n ) {\r\n return new MutableCategorizedStructProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, this, overrideName, overrideDisplayLabel);\r\n }\r\n\r\n /**\r\n * Converts record into FlatGridItem.\r\n * @param record record to convert to a FlatGridItem.\r\n * @param parentSelectionKey parent selection key of provided `record`.\r\n * @param parentCategorySelectionKey parent category selection key of provided `record`.\r\n * @param depth current depth counting from parent category.\r\n * @param overrideName property name that overrides original record property name.\r\n * @param overrideDisplayLabel property display label that overrides original record property display label.\r\n * @returns converted CategorizedProperty.\r\n */\r\n public createCategorizedProperty(\r\n record: PropertyRecord,\r\n parentSelectionKey: string,\r\n parentCategorySelectionKey: string,\r\n depth: number,\r\n overrideName?: string,\r\n overrideDisplayLabel?: string,\r\n ): IMutableCategorizedPropertyItem {\r\n const valueFormat = record.value.valueFormat;\r\n switch (valueFormat) {\r\n case PropertyValueFormat.Primitive:\r\n return this.createPrimitiveProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\r\n case PropertyValueFormat.Array:\r\n return this.createArrayProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\r\n case PropertyValueFormat.Struct:\r\n return this.createStructProperty(record, parentSelectionKey, parentCategorySelectionKey, depth, overrideName, overrideDisplayLabel);\r\n /* istanbul ignore next */\r\n default:\r\n const unhandledRecordType: never = valueFormat;\r\n throw new Error(`Unhandled property record type. Was a new type added? ${unhandledRecordType}`);\r\n }\r\n }\r\n\r\n /**\r\n * Converts category into GridCategoryItem.\r\n * @param category PropertyCategory to convert.\r\n * @param recordsDict dictionary of category records.\r\n * @param parentSelectionKey parent selection key of this category.\r\n * @param depth current depth counting from root category.\r\n * @returns converted GridCategory.\r\n */\r\n public createGridCategory(\r\n category: PropertyCategory,\r\n recordsDict: CategoryRecordsDict,\r\n parentSelectionKey?: string,\r\n depth?: number,\r\n ): IMutableGridCategoryItem {\r\n if (category.renderer !== undefined)\r\n return new MutableCustomGridCategory(category, recordsDict, this, parentSelectionKey, depth ?? 0);\r\n\r\n if (parentSelectionKey !== undefined && depth !== undefined)\r\n return new MutableGridCategory(category, recordsDict, this, parentSelectionKey, depth);\r\n\r\n return new MutableGridCategory(category, recordsDict, this);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatNonPrimitivePropertyRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,iEAAiE,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAE9F,OAAO,EAAE,iCAAiC,EAAE,MAAM,uEAAuE,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAU1E;;GAEG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK,CAAC,SAAgD;IAC1G,YAAY,KAA4C;QACtD,KAAK,CAAC,KAAK,CAAC,CAAC;QAGP,gBAAW,GAAG,GAAG,EAAE;YACzB,0BAA0B;YAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;gBACxB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,0BAA0B;YAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;gBACvB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC,CAAC;IAZF,CAAC;IAcO,QAAQ,CAAC,KAA4C;QAC3D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC3E,MAAM,MAAM,GAAG,sBAAsB,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,CAAC;QAE9H,IAAI,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9D,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,KAAK;YACtE,YAAY,GAAG,GAAG,YAAY,KAAK,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAEhF,OAAO,CACL,oBAAC,iCAAiC,IAChC,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAC1B,UAAU,EAAE,IAAI,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,KAAK,IAEjB,YAAY,CACqB,CACrC,CAAC;IACJ,CAAC;IAED,gBAAgB;IACA,MAAM;QACpB,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,OAAO,CACL,oBAAC,YAAY,IACX,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KACnC,KAAK,GACT,CACH,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\nimport \"../../../properties/renderers/NonPrimitivePropertyRenderer.scss\";\nimport * as React from \"react\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport { CommonPropertyRenderer } from \"../../../properties/renderers/CommonPropertyRenderer\";\nimport type { PrimitiveRendererProps } from \"../../../properties/renderers/PrimitivePropertyRenderer\";\nimport { NonPrimitivePropertyLabelRenderer } from \"../../../properties/renderers/label/NonPrimitivePropertyLabelRenderer\";\nimport { PropertyView } from \"../../../properties/renderers/PropertyView\";\n\n/** Properties of [[FlatNonPrimitivePropertyRenderer]] React component\n * @internal\n */\nexport interface FlatNonPrimitivePropertyRendererProps extends PrimitiveRendererProps {\n isExpanded: boolean;\n onExpandToggled: () => void;\n}\n\n/** React Component that renders flat struct and array properties\n * @internal\n */\nexport class FlatNonPrimitivePropertyRenderer extends React.Component<FlatNonPrimitivePropertyRendererProps> {\n constructor(props: FlatNonPrimitivePropertyRendererProps) {\n super(props);\n }\n\n private _onExpanded = () => {\n /* istanbul ignore else */\n if (!this.props.isExpanded)\n this.props.onExpandToggled();\n };\n\n private _onCollapsed = () => {\n /* istanbul ignore else */\n if (this.props.isExpanded)\n this.props.onExpandToggled();\n };\n\n private getLabel(props: FlatNonPrimitivePropertyRendererProps): React.ReactNode {\n const { orientation, indentation, width, columnRatio, columnInfo } = props;\n const offset = CommonPropertyRenderer.getLabelOffset(indentation, orientation, width, columnRatio, columnInfo?.minLabelWidth);\n\n let displayLabel = props.propertyRecord.property.displayLabel;\n if (props.propertyRecord.value.valueFormat === PropertyValueFormat.Array)\n displayLabel = `${displayLabel} (${props.propertyRecord.value.items.length})`;\n\n return (\n <NonPrimitivePropertyLabelRenderer\n isExpanded={props.isExpanded}\n onExpand={this._onExpanded}\n onCollapse={this._onCollapsed}\n offset={offset}\n renderColon={false}\n >\n {displayLabel}\n </NonPrimitivePropertyLabelRenderer>\n );\n }\n\n /** @internal */\n public override render() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { indentation, ...props } = this.props;\n return (\n <PropertyView\n labelElement={this.getLabel(this.props)}\n {...props}\n />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"FlatNonPrimitivePropertyRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AACH,OAAO,iEAAiE,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAE9F,OAAO,EAAE,iCAAiC,EAAE,MAAM,uEAAuE,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAU1E;;GAEG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK,CAAC,SAAgD;IAC1G,YAAY,KAA4C;QACtD,KAAK,CAAC,KAAK,CAAC,CAAC;QAGP,gBAAW,GAAG,GAAG,EAAE;YACzB,0BAA0B;YAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;gBACxB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,0BAA0B;YAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;gBACvB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC,CAAC;IAZF,CAAC;IAcO,QAAQ,CAAC,KAA4C;QAC3D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC3E,MAAM,MAAM,GAAG,sBAAsB,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,CAAC;QAE9H,IAAI,YAAY,GAAG,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9D,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,KAAK;YACtE,YAAY,GAAG,GAAG,YAAY,KAAK,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAEhF,OAAO,CACL,oBAAC,iCAAiC,IAChC,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,IAAI,CAAC,WAAW,EAC1B,UAAU,EAAE,IAAI,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,KAAK,IAEjB,YAAY,CACqB,CACrC,CAAC;IACJ,CAAC;IAED,gBAAgB;IACA,MAAM;QACpB,6DAA6D;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,OAAO,CACL,oBAAC,YAAY,IACX,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KACnC,KAAK,GACT,CACH,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\nimport \"../../../properties/renderers/NonPrimitivePropertyRenderer.scss\";\r\nimport * as React from \"react\";\r\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { CommonPropertyRenderer } from \"../../../properties/renderers/CommonPropertyRenderer\";\r\nimport type { PrimitiveRendererProps } from \"../../../properties/renderers/PrimitivePropertyRenderer\";\r\nimport { NonPrimitivePropertyLabelRenderer } from \"../../../properties/renderers/label/NonPrimitivePropertyLabelRenderer\";\r\nimport { PropertyView } from \"../../../properties/renderers/PropertyView\";\r\n\r\n/** Properties of [[FlatNonPrimitivePropertyRenderer]] React component\r\n * @internal\r\n */\r\nexport interface FlatNonPrimitivePropertyRendererProps extends PrimitiveRendererProps {\r\n isExpanded: boolean;\r\n onExpandToggled: () => void;\r\n}\r\n\r\n/** React Component that renders flat struct and array properties\r\n * @internal\r\n */\r\nexport class FlatNonPrimitivePropertyRenderer extends React.Component<FlatNonPrimitivePropertyRendererProps> {\r\n constructor(props: FlatNonPrimitivePropertyRendererProps) {\r\n super(props);\r\n }\r\n\r\n private _onExpanded = () => {\r\n /* istanbul ignore else */\r\n if (!this.props.isExpanded)\r\n this.props.onExpandToggled();\r\n };\r\n\r\n private _onCollapsed = () => {\r\n /* istanbul ignore else */\r\n if (this.props.isExpanded)\r\n this.props.onExpandToggled();\r\n };\r\n\r\n private getLabel(props: FlatNonPrimitivePropertyRendererProps): React.ReactNode {\r\n const { orientation, indentation, width, columnRatio, columnInfo } = props;\r\n const offset = CommonPropertyRenderer.getLabelOffset(indentation, orientation, width, columnRatio, columnInfo?.minLabelWidth);\r\n\r\n let displayLabel = props.propertyRecord.property.displayLabel;\r\n if (props.propertyRecord.value.valueFormat === PropertyValueFormat.Array)\r\n displayLabel = `${displayLabel} (${props.propertyRecord.value.items.length})`;\r\n\r\n return (\r\n <NonPrimitivePropertyLabelRenderer\r\n isExpanded={props.isExpanded}\r\n onExpand={this._onExpanded}\r\n onCollapse={this._onCollapsed}\r\n offset={offset}\r\n renderColon={false}\r\n >\r\n {displayLabel}\r\n </NonPrimitivePropertyLabelRenderer>\r\n );\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const { indentation, ...props } = this.props;\r\n return (\r\n <PropertyView\r\n labelElement={this.getLabel(this.props)}\r\n {...props}\r\n />\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatPropertyRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyGrid\n */\n\nimport * as React from \"react\";\nimport type { PropertyRecord} from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport type { Orientation } from \"@itwin/core-react\";\nimport type { HighlightingComponentProps } from \"../../../common/HighlightingComponentProps\";\nimport type { PropertyUpdatedArgs } from \"../../../editors/EditorContainer\";\nimport { EditorContainer } from \"../../../editors/EditorContainer\";\nimport { CommonPropertyRenderer } from \"../../../properties/renderers/CommonPropertyRenderer\";\nimport type { PrimitiveRendererProps } from \"../../../properties/renderers/PrimitivePropertyRenderer\";\nimport { PrimitivePropertyRenderer } from \"../../../properties/renderers/PrimitivePropertyRenderer\";\nimport type { SharedRendererProps } from \"../../../properties/renderers/PropertyRenderer\";\nimport type { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\nimport { FlatNonPrimitivePropertyRenderer } from \"./FlatNonPrimitivePropertyRenderer\";\n\n/** Properties of [[FlatPropertyRenderer]] React component\n * @internal\n */\nexport interface FlatPropertyRendererProps extends SharedRendererProps {\n category?: PropertyCategory;\n /** Custom value renderer */\n propertyValueRendererManager?: PropertyValueRendererManager;\n /** Multiplier of how much the property is indented to the right */\n indentation?: number;\n /** Indicates property is being edited */\n isEditing?: boolean;\n /** Called when property edit is committed. */\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\n /** Called when property edit is cancelled. */\n onEditCancel?: () => void;\n /** Whether property value is displayed in expanded state. */\n isExpanded: boolean;\n /** Called when toggling between expanded and collapsed property value display state. */\n onExpansionToggled: () => void;\n /** Reports property height changes. */\n onHeightChanged?: (newHeight: number) => void;\n\n highlight?: HighlightingComponentProps & { applyOnLabel: boolean, applyOnValue: boolean };\n\n children?: never;\n}\n\n/** A React component that renders flat properties\n * @internal\n */\nexport const FlatPropertyRenderer: React.FC<FlatPropertyRendererProps> = (props) => {\n const {\n category,\n propertyValueRendererManager,\n isEditing,\n onEditCommit,\n onEditCancel,\n onHeightChanged,\n highlight,\n ...passthroughProps\n } = props;\n\n const valueElementRenderer = () => (\n <DisplayValue\n propertyRecord={passthroughProps.propertyRecord}\n orientation={passthroughProps.orientation}\n columnRatio={passthroughProps.columnRatio}\n width={passthroughProps.width}\n category={category}\n propertyValueRendererManager={propertyValueRendererManager}\n isEditing={isEditing}\n onEditCommit={onEditCommit}\n onEditCancel={onEditCancel}\n isExpanded={passthroughProps.isExpanded}\n onExpansionToggled={passthroughProps.onExpansionToggled}\n onHeightChanged={onHeightChanged}\n highlight={highlight}\n />\n );\n\n const primitiveRendererProps: PrimitiveRendererProps = {\n ...passthroughProps,\n valueElementRenderer,\n indentation: props.indentation,\n };\n switch (props.propertyRecord.value.valueFormat) {\n case PropertyValueFormat.Primitive:\n return (<PrimitivePropertyRenderer highlight={highlight?.applyOnLabel ? highlight : undefined} {...primitiveRendererProps} />);\n\n case PropertyValueFormat.Array:\n // If array is empty, render it as a primitive property\n if (props.propertyRecord.value.items.length === 0)\n return (<PrimitivePropertyRenderer highlight={highlight?.applyOnLabel ? highlight : undefined} {...primitiveRendererProps} />);\n\n // eslint-disable-next-line no-fallthrough\n case PropertyValueFormat.Struct:\n return (\n <FlatNonPrimitivePropertyRenderer\n isExpanded={props.isExpanded}\n onExpandToggled={props.onExpansionToggled}\n {...primitiveRendererProps}\n />\n );\n }\n};\n\ninterface DisplayValueProps {\n isEditing?: boolean;\n propertyRecord: PropertyRecord;\n\n orientation: Orientation;\n columnRatio?: number;\n /** Pass width to rerender component as property grid width changes */\n width?: number;\n indentation?: number;\n propertyValueRendererManager?: PropertyValueRendererManager;\n isExpanded?: boolean;\n onExpansionToggled?: () => void;\n onHeightChanged?: (newHeight: number) => void;\n\n category?: PropertyCategory;\n onEditCancel?: () => void;\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\n\n highlight?: HighlightingComponentProps & { applyOnLabel: boolean, applyOnValue: boolean };\n}\n\nconst DisplayValue: React.FC<DisplayValueProps> = (props) => {\n useResetHeightOnEdit(props.isEditing, props.onHeightChanged);\n\n if (props.isEditing) {\n const _onEditCommit = (args: PropertyUpdatedArgs) => {\n /* istanbul ignore else */\n if (props.category)\n props.onEditCommit?.(args, props.category);\n };\n\n return (\n <EditorContainer\n propertyRecord={props.propertyRecord}\n onCommit={_onEditCommit}\n onCancel={props.onEditCancel ?? (/* istanbul ignore next */() => { })}\n setFocus={true}\n />\n );\n }\n\n return (\n <>\n {\n CommonPropertyRenderer.createNewDisplayValue(\n props.orientation,\n props.propertyRecord,\n props.indentation,\n props.propertyValueRendererManager,\n props.isExpanded,\n props.onExpansionToggled,\n props.onHeightChanged,\n props.highlight\n )\n }\n </>\n );\n};\n\nfunction useResetHeightOnEdit(isEditing?: boolean, onHeightChanged?: (newHeight: number) => void) {\n const previousEditingStatusRef = React.useRef(isEditing);\n React.useEffect(() => {\n if (!previousEditingStatusRef.current && isEditing) {\n onHeightChanged?.(27);\n }\n\n previousEditingStatusRef.current = isEditing;\n });\n}\n"]}
1
+ {"version":3,"file":"FlatPropertyRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyGrid\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport type { PropertyRecord} from \"@itwin/appui-abstract\";\r\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport type { Orientation } from \"@itwin/core-react\";\r\nimport type { HighlightingComponentProps } from \"../../../common/HighlightingComponentProps\";\r\nimport type { PropertyUpdatedArgs } from \"../../../editors/EditorContainer\";\r\nimport { EditorContainer } from \"../../../editors/EditorContainer\";\r\nimport { CommonPropertyRenderer } from \"../../../properties/renderers/CommonPropertyRenderer\";\r\nimport type { PrimitiveRendererProps } from \"../../../properties/renderers/PrimitivePropertyRenderer\";\r\nimport { PrimitivePropertyRenderer } from \"../../../properties/renderers/PrimitivePropertyRenderer\";\r\nimport type { SharedRendererProps } from \"../../../properties/renderers/PropertyRenderer\";\r\nimport type { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\r\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\r\nimport { FlatNonPrimitivePropertyRenderer } from \"./FlatNonPrimitivePropertyRenderer\";\r\n\r\n/** Properties of [[FlatPropertyRenderer]] React component\r\n * @internal\r\n */\r\nexport interface FlatPropertyRendererProps extends SharedRendererProps {\r\n category?: PropertyCategory;\r\n /** Custom value renderer */\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n /** Multiplier of how much the property is indented to the right */\r\n indentation?: number;\r\n /** Indicates property is being edited */\r\n isEditing?: boolean;\r\n /** Called when property edit is committed. */\r\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\r\n /** Called when property edit is cancelled. */\r\n onEditCancel?: () => void;\r\n /** Whether property value is displayed in expanded state. */\r\n isExpanded: boolean;\r\n /** Called when toggling between expanded and collapsed property value display state. */\r\n onExpansionToggled: () => void;\r\n /** Reports property height changes. */\r\n onHeightChanged?: (newHeight: number) => void;\r\n\r\n highlight?: HighlightingComponentProps & { applyOnLabel: boolean, applyOnValue: boolean };\r\n\r\n children?: never;\r\n}\r\n\r\n/** A React component that renders flat properties\r\n * @internal\r\n */\r\nexport const FlatPropertyRenderer: React.FC<FlatPropertyRendererProps> = (props) => {\r\n const {\r\n category,\r\n propertyValueRendererManager,\r\n isEditing,\r\n onEditCommit,\r\n onEditCancel,\r\n onHeightChanged,\r\n highlight,\r\n ...passthroughProps\r\n } = props;\r\n\r\n const valueElementRenderer = () => (\r\n <DisplayValue\r\n propertyRecord={passthroughProps.propertyRecord}\r\n orientation={passthroughProps.orientation}\r\n columnRatio={passthroughProps.columnRatio}\r\n width={passthroughProps.width}\r\n category={category}\r\n propertyValueRendererManager={propertyValueRendererManager}\r\n isEditing={isEditing}\r\n onEditCommit={onEditCommit}\r\n onEditCancel={onEditCancel}\r\n isExpanded={passthroughProps.isExpanded}\r\n onExpansionToggled={passthroughProps.onExpansionToggled}\r\n onHeightChanged={onHeightChanged}\r\n highlight={highlight}\r\n />\r\n );\r\n\r\n const primitiveRendererProps: PrimitiveRendererProps = {\r\n ...passthroughProps,\r\n valueElementRenderer,\r\n indentation: props.indentation,\r\n };\r\n switch (props.propertyRecord.value.valueFormat) {\r\n case PropertyValueFormat.Primitive:\r\n return (<PrimitivePropertyRenderer highlight={highlight?.applyOnLabel ? highlight : undefined} {...primitiveRendererProps} />);\r\n\r\n case PropertyValueFormat.Array:\r\n // If array is empty, render it as a primitive property\r\n if (props.propertyRecord.value.items.length === 0)\r\n return (<PrimitivePropertyRenderer highlight={highlight?.applyOnLabel ? highlight : undefined} {...primitiveRendererProps} />);\r\n\r\n // eslint-disable-next-line no-fallthrough\r\n case PropertyValueFormat.Struct:\r\n return (\r\n <FlatNonPrimitivePropertyRenderer\r\n isExpanded={props.isExpanded}\r\n onExpandToggled={props.onExpansionToggled}\r\n {...primitiveRendererProps}\r\n />\r\n );\r\n }\r\n};\r\n\r\ninterface DisplayValueProps {\r\n isEditing?: boolean;\r\n propertyRecord: PropertyRecord;\r\n\r\n orientation: Orientation;\r\n columnRatio?: number;\r\n /** Pass width to rerender component as property grid width changes */\r\n width?: number;\r\n indentation?: number;\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n isExpanded?: boolean;\r\n onExpansionToggled?: () => void;\r\n onHeightChanged?: (newHeight: number) => void;\r\n\r\n category?: PropertyCategory;\r\n onEditCancel?: () => void;\r\n onEditCommit?: (args: PropertyUpdatedArgs, category: PropertyCategory) => void;\r\n\r\n highlight?: HighlightingComponentProps & { applyOnLabel: boolean, applyOnValue: boolean };\r\n}\r\n\r\nconst DisplayValue: React.FC<DisplayValueProps> = (props) => {\r\n useResetHeightOnEdit(props.isEditing, props.onHeightChanged);\r\n\r\n if (props.isEditing) {\r\n const _onEditCommit = (args: PropertyUpdatedArgs) => {\r\n /* istanbul ignore else */\r\n if (props.category)\r\n props.onEditCommit?.(args, props.category);\r\n };\r\n\r\n return (\r\n <EditorContainer\r\n propertyRecord={props.propertyRecord}\r\n onCommit={_onEditCommit}\r\n onCancel={props.onEditCancel ?? (/* istanbul ignore next */() => { })}\r\n setFocus={true}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n CommonPropertyRenderer.createNewDisplayValue(\r\n props.orientation,\r\n props.propertyRecord,\r\n props.indentation,\r\n props.propertyValueRendererManager,\r\n props.isExpanded,\r\n props.onExpansionToggled,\r\n props.onHeightChanged,\r\n props.highlight\r\n )\r\n }\r\n </>\r\n );\r\n};\r\n\r\nfunction useResetHeightOnEdit(isEditing?: boolean, onHeightChanged?: (newHeight: number) => void) {\r\n const previousEditingStatusRef = React.useRef(isEditing);\r\n React.useEffect(() => {\r\n if (!previousEditingStatusRef.current && isEditing) {\r\n onHeightChanged?.(27);\r\n }\r\n\r\n previousEditingStatusRef.current = isEditing;\r\n });\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectableContent.js","sourceRoot":"","sources":["../../../../src/components-react/selectable-content/SelectableContent.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAyB9C;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAuC;;IACjF,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEvD,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAgB,EAAQ,EAAE;QACvE,0BAA0B,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEjC,MAAM,eAAe,GAAG,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,mCAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5H,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC3C,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,KAAK,EAAE,YAAY,CAAC,EAAE;SACvB,CAAC,CAA2B,CAAC;IAChC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,6BAAK,SAAS,EAAC,+BAA+B;QAC5C,6BAAK,SAAS,EAAC,sCAAsC,IAClD,OAAO,CAAC,MAAM,GAAG,CAAC;YACjB,oBAAC,MAAM,IAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAC,OAAO,EACjD,SAAS,EAAC,wCAAwC,gBACtC,KAAK,CAAC,eAAe,EACjC,KAAK,EAAE,eAAe,CAAC,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAClB,CAEA;QACN,6BAAK,SAAS,EAAC,uCAAuC,IACnD,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,EAAE,CACtB,CACF,CACP,CAAC;AACJ,CAAC;AAaD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACjG,MAAM,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QAClE,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CACL,oBAAC,2BAA2B,IAAC,iBAAiB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IACxL,KAAK,CAAC,QAAQ,CACa,CAC/B,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/* eslint-disable deprecation/deprecation */\n/** @packageDocumentation\n * @module SelectableContent\n */\n\nimport \"./SelectableContent.scss\";\nimport * as React from \"react\";\nimport type { SelectOption } from \"@itwin/itwinui-react\";\nimport { Select } from \"@itwin/itwinui-react\";\n\n/**\n * A definition for content displayed in [[ControlledSelectableContent]] and\n * [[SelectableContent]] components.\n * @public\n */\nexport interface SelectableContentDefinition {\n id: string;\n label: string;\n render: () => React.ReactNode;\n}\n\n/**\n * [[ControlledSelectableContent]] component properties\n * @public\n */\nexport interface ControlledSelectableContentProps {\n selectedContentId: string;\n onSelectedContentIdChanged?: (contentId: string) => void;\n children: SelectableContentDefinition[];\n selectAriaLabel?: string;\n disabled?: boolean;\n}\n\n/**\n * A fully-controlled component that accepts a list of child components with ids and labels and\n * renders a select box at the top, allowing to choose which of the provided child components\n * should be rendered at the bottom.\n * @public\n */\nexport function ControlledSelectableContent(props: ControlledSelectableContentProps) {\n const { onSelectedContentIdChanged, disabled } = props;\n\n const onContentIdSelected = React.useCallback((newValue: string): void => {\n onSelectedContentIdChanged && onSelectedContentIdChanged(newValue);\n }, [onSelectedContentIdChanged]);\n\n const selectedContent = props.children.find((contentDef) => contentDef.id === props.selectedContentId) ?? props.children[0];\n const options = React.useMemo(() => {\n return props.children.map((componentDef) => ({\n label: componentDef.label,\n value: componentDef.id,\n })) as SelectOption<string>[];\n }, [props.children]);\n\n return (\n <div className=\"components-selectable-content\">\n <div className=\"components-selectable-content-header\">\n {options.length > 0 &&\n <Select onChange={onContentIdSelected} size=\"small\"\n className=\"components-selectable-content-selector\"\n aria-label={props.selectAriaLabel}\n value={selectedContent.id}\n options={options}\n disabled={disabled}\n />\n }\n </div>\n <div className=\"components-selectable-content-wrapper\">\n {selectedContent?.render()}\n </div>\n </div>\n );\n}\n\n/**\n * [[SelectableContent]] component properties\n * @public\n */\nexport interface SelectableContentProps {\n defaultSelectedContentId: string;\n children: SelectableContentDefinition[];\n selectAriaLabel?: string;\n disabled?: boolean;\n}\n\n/**\n * An uncontrolled component that accepts a list of child components with ids and labels and\n * renders a select box at the top, allowing to choose which of the provided child components\n * should be rendered at the bottom.\n * @public\n */\nexport function SelectableContent(props: SelectableContentProps) {\n const [selectedContentId, setSelectedContentId] = React.useState(props.defaultSelectedContentId);\n const onSelectedContentIdChanged = React.useCallback((id: string) => {\n setSelectedContentId(id);\n }, []);\n return (\n <ControlledSelectableContent selectedContentId={selectedContentId} onSelectedContentIdChanged={onSelectedContentIdChanged} selectAriaLabel={props.selectAriaLabel} disabled={props.disabled}>\n {props.children}\n </ControlledSelectableContent>\n );\n}\n"]}
1
+ {"version":3,"file":"SelectableContent.js","sourceRoot":"","sources":["../../../../src/components-react/selectable-content/SelectableContent.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAEH,OAAO,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAyB9C;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAuC;;IACjF,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEvD,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,QAAgB,EAAQ,EAAE;QACvE,0BAA0B,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAEjC,MAAM,eAAe,GAAG,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,mCAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5H,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC3C,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,KAAK,EAAE,YAAY,CAAC,EAAE;SACvB,CAAC,CAA2B,CAAC;IAChC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAErB,OAAO,CACL,6BAAK,SAAS,EAAC,+BAA+B;QAC5C,6BAAK,SAAS,EAAC,sCAAsC,IAClD,OAAO,CAAC,MAAM,GAAG,CAAC;YACjB,oBAAC,MAAM,IAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAC,OAAO,EACjD,SAAS,EAAC,wCAAwC,gBACtC,KAAK,CAAC,eAAe,EACjC,KAAK,EAAE,eAAe,CAAC,EAAE,EACzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAClB,CAEA;QACN,6BAAK,SAAS,EAAC,uCAAuC,IACnD,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,EAAE,CACtB,CACF,CACP,CAAC;AACJ,CAAC;AAaD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACjG,MAAM,0BAA0B,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QAClE,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CACL,oBAAC,2BAA2B,IAAC,iBAAiB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IACxL,KAAK,CAAC,QAAQ,CACa,CAC/B,CAAC;AACJ,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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module SelectableContent\r\n */\r\n\r\nimport \"./SelectableContent.scss\";\r\nimport * as React from \"react\";\r\nimport type { SelectOption } from \"@itwin/itwinui-react\";\r\nimport { Select } from \"@itwin/itwinui-react\";\r\n\r\n/**\r\n * A definition for content displayed in [[ControlledSelectableContent]] and\r\n * [[SelectableContent]] components.\r\n * @public\r\n */\r\nexport interface SelectableContentDefinition {\r\n id: string;\r\n label: string;\r\n render: () => React.ReactNode;\r\n}\r\n\r\n/**\r\n * [[ControlledSelectableContent]] component properties\r\n * @public\r\n */\r\nexport interface ControlledSelectableContentProps {\r\n selectedContentId: string;\r\n onSelectedContentIdChanged?: (contentId: string) => void;\r\n children: SelectableContentDefinition[];\r\n selectAriaLabel?: string;\r\n disabled?: boolean;\r\n}\r\n\r\n/**\r\n * A fully-controlled component that accepts a list of child components with ids and labels and\r\n * renders a select box at the top, allowing to choose which of the provided child components\r\n * should be rendered at the bottom.\r\n * @public\r\n */\r\nexport function ControlledSelectableContent(props: ControlledSelectableContentProps) {\r\n const { onSelectedContentIdChanged, disabled } = props;\r\n\r\n const onContentIdSelected = React.useCallback((newValue: string): void => {\r\n onSelectedContentIdChanged && onSelectedContentIdChanged(newValue);\r\n }, [onSelectedContentIdChanged]);\r\n\r\n const selectedContent = props.children.find((contentDef) => contentDef.id === props.selectedContentId) ?? props.children[0];\r\n const options = React.useMemo(() => {\r\n return props.children.map((componentDef) => ({\r\n label: componentDef.label,\r\n value: componentDef.id,\r\n })) as SelectOption<string>[];\r\n }, [props.children]);\r\n\r\n return (\r\n <div className=\"components-selectable-content\">\r\n <div className=\"components-selectable-content-header\">\r\n {options.length > 0 &&\r\n <Select onChange={onContentIdSelected} size=\"small\"\r\n className=\"components-selectable-content-selector\"\r\n aria-label={props.selectAriaLabel}\r\n value={selectedContent.id}\r\n options={options}\r\n disabled={disabled}\r\n />\r\n }\r\n </div>\r\n <div className=\"components-selectable-content-wrapper\">\r\n {selectedContent?.render()}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * [[SelectableContent]] component properties\r\n * @public\r\n */\r\nexport interface SelectableContentProps {\r\n defaultSelectedContentId: string;\r\n children: SelectableContentDefinition[];\r\n selectAriaLabel?: string;\r\n disabled?: boolean;\r\n}\r\n\r\n/**\r\n * An uncontrolled component that accepts a list of child components with ids and labels and\r\n * renders a select box at the top, allowing to choose which of the provided child components\r\n * should be rendered at the bottom.\r\n * @public\r\n */\r\nexport function SelectableContent(props: SelectableContentProps) {\r\n const [selectedContentId, setSelectedContentId] = React.useState(props.defaultSelectedContentId);\r\n const onSelectedContentIdChanged = React.useCallback((id: string) => {\r\n setSelectedContentId(id);\r\n }, []);\r\n return (\r\n <ControlledSelectableContent selectedContentId={selectedContentId} onSelectedContentIdChanged={onSelectedContentIdChanged} selectAriaLabel={props.selectAriaLabel} disabled={props.disabled}>\r\n {props.children}\r\n </ControlledSelectableContent>\r\n );\r\n}\r\n"]}
@@ -1,20 +1,20 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- .components-selectable-content {
7
- display: flex;
8
- flex-direction: column;
9
-
10
- .components-selectable-content-header {
11
- .components-selectable-content-selector {
12
- width: 100%;
13
- }
14
- }
15
-
16
- .components-selectable-content-wrapper {
17
- flex-grow: 1;
18
- overflow: hidden;
19
- }
20
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+
6
+ .components-selectable-content {
7
+ display: flex;
8
+ flex-direction: column;
9
+
10
+ .components-selectable-content-header {
11
+ .components-selectable-content-selector {
12
+ width: 100%;
13
+ }
14
+ }
15
+
16
+ .components-selectable-content-wrapper {
17
+ flex-grow: 1;
18
+ overflow: hidden;
19
+ }
20
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/Item.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA+B/B;;GAEG;AACH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CACzC,CAAC,KAA6B,EAAE,EAAE;IAChC,MAAM,SAAS,GAAG,UAAU,CAC1B,gCAAgC,EAChC,KAAK,CAAC,QAAQ,IAAI,mBAAmB,EACrC,KAAK,CAAC,UAAU,IAAI,qBAAqB,EACzC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnB,OAAO,CACL,gDACgB,KAAK,CAAC,MAAM,oBACX,oBAAoB,8BACT,KAAK,CAAC,aAAa,wBACzB,KAAK,CAAC,YAAY,2BACf,KAAK,CAAC,UAAU,EACvC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,6BAAK,SAAS,EAAC,iBAAiB,IAC7B,KAAK,CAAC,IAAI,CACP;QACL,KAAK,CAAC,KAAK;YACV,6BAAK,SAAS,EAAC,kBAAkB,IAC9B,KAAK,CAAC,KAAK,CACR,CAED,CACV,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport \"./Item.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[ToolbarButtonItem]] component.\n * @public\n */\nexport interface ToolbarButtonItemProps extends CommonProps {\n /** button icon. */\n icon?: React.ReactNode;\n /** Describes if item is active. */\n isActive?: boolean;\n /** Describes if the item is disabled. */\n isDisabled?: boolean;\n /** Function called when the item is clicked. */\n onClick?: () => void;\n /** Function called when a key is pressed. */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /** Title for the item. */\n title: string;\n /** A badge to draw. */\n badge?: React.ReactNode;\n /** If true add a gap before button. Default to false. */\n addGroupSeparator?: boolean;\n /** value added to DOM element as a data attribute to hold name of items provider. If specified in `FrontstageProvider` then this will be undefined */\n providerId?: string;\n /** value added to DOM element as a data attribute, shows 0 is undefined */\n itemPriority?: number;\n /** value added to DOM element as a data attribute */\n groupPriority?: number;\n}\n\n/** Toolbar item component. Used in [[Toolbar]] component.\n * @public\n */\n// eslint-disable-next-line react/display-name\nexport const ToolbarButtonItem = React.memo<React.FC<ToolbarButtonItemProps>>(\n (props: ToolbarButtonItemProps) => {\n const className = classnames(\n \"components-toolbar-button-item\",\n props.isActive && \"components-active\",\n props.isDisabled && \"components-disabled\",\n props.className);\n\n return (\n <button\n data-item-id={props.itemId}\n data-item-type=\"action-tool-button\"\n data-item-group-priority={props.groupPriority}\n data-item-priority={props.itemPriority}\n data-item-provider-id={props.providerId}\n disabled={props.isDisabled} // this is needed to prevent focusing/keyboard access to disabled buttons\n onClick={props.onClick}\n onKeyDown={props.onKeyDown}\n className={className}\n style={props.style}\n title={props.title}\n >\n <div className=\"components-icon\">\n {props.icon}\n </div>\n {props.badge &&\n <div className=\"components-badge\">\n {props.badge}\n </div>\n }\n </button>\n );\n });\n"]}
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/Item.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,aAAa,CAAC;AACrB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA+B/B;;GAEG;AACH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CACzC,CAAC,KAA6B,EAAE,EAAE;IAChC,MAAM,SAAS,GAAG,UAAU,CAC1B,gCAAgC,EAChC,KAAK,CAAC,QAAQ,IAAI,mBAAmB,EACrC,KAAK,CAAC,UAAU,IAAI,qBAAqB,EACzC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnB,OAAO,CACL,gDACgB,KAAK,CAAC,MAAM,oBACX,oBAAoB,8BACT,KAAK,CAAC,aAAa,wBACzB,KAAK,CAAC,YAAY,2BACf,KAAK,CAAC,UAAU,EACvC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,6BAAK,SAAS,EAAC,iBAAiB,IAC7B,KAAK,CAAC,IAAI,CACP;QACL,KAAK,CAAC,KAAK;YACV,6BAAK,SAAS,EAAC,kBAAkB,IAC9B,KAAK,CAAC,KAAK,CACR,CAED,CACV,CAAC;AACJ,CAAC,CAAC,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 Toolbar\r\n */\r\n\r\nimport \"./Item.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\n\r\n/** Properties of [[ToolbarButtonItem]] component.\r\n * @public\r\n */\r\nexport interface ToolbarButtonItemProps extends CommonProps {\r\n /** button icon. */\r\n icon?: React.ReactNode;\r\n /** Describes if item is active. */\r\n isActive?: boolean;\r\n /** Describes if the item is disabled. */\r\n isDisabled?: boolean;\r\n /** Function called when the item is clicked. */\r\n onClick?: () => void;\r\n /** Function called when a key is pressed. */\r\n onKeyDown?: (e: React.KeyboardEvent) => void;\r\n /** Title for the item. */\r\n title: string;\r\n /** A badge to draw. */\r\n badge?: React.ReactNode;\r\n /** If true add a gap before button. Default to false. */\r\n addGroupSeparator?: boolean;\r\n /** value added to DOM element as a data attribute to hold name of items provider. If specified in `FrontstageProvider` then this will be undefined */\r\n providerId?: string;\r\n /** value added to DOM element as a data attribute, shows 0 is undefined */\r\n itemPriority?: number;\r\n /** value added to DOM element as a data attribute */\r\n groupPriority?: number;\r\n}\r\n\r\n/** Toolbar item component. Used in [[Toolbar]] component.\r\n * @public\r\n */\r\n// eslint-disable-next-line react/display-name\r\nexport const ToolbarButtonItem = React.memo<React.FC<ToolbarButtonItemProps>>(\r\n (props: ToolbarButtonItemProps) => {\r\n const className = classnames(\r\n \"components-toolbar-button-item\",\r\n props.isActive && \"components-active\",\r\n props.isDisabled && \"components-disabled\",\r\n props.className);\r\n\r\n return (\r\n <button\r\n data-item-id={props.itemId}\r\n data-item-type=\"action-tool-button\"\r\n data-item-group-priority={props.groupPriority}\r\n data-item-priority={props.itemPriority}\r\n data-item-provider-id={props.providerId}\r\n disabled={props.isDisabled} // this is needed to prevent focusing/keyboard access to disabled buttons\r\n onClick={props.onClick}\r\n onKeyDown={props.onKeyDown}\r\n className={className}\r\n style={props.style}\r\n title={props.title}\r\n >\r\n <div className=\"components-icon\">\r\n {props.icon}\r\n </div>\r\n {props.badge &&\r\n <div className=\"components-badge\">\r\n {props.badge}\r\n </div>\r\n }\r\n </button>\r\n );\r\n });\r\n"]}
@@ -1,92 +1,92 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- @import "variables";
6
-
7
- .components-toolbar-button-item {
8
- box-sizing: border-box;
9
- background-origin: border-box;
10
- border-color: transparent;
11
- border-style: solid;
12
- border-radius: var(--iui-border-radius-1);
13
- cursor: pointer;
14
- transition: background-color var(--iui-duration-1) ease;
15
- position: relative;
16
- background: transparent;
17
- height: 100%;
18
- width: 100%;
19
- outline-style: solid;
20
- outline-width: 0;
21
-
22
- > .components-icon {
23
- font-size: $icon-size;
24
- width: 100%;
25
- height: 100%;
26
- display: grid;
27
- align-content: center;
28
- justify-content: center;
29
- color: var(--iui-color-icon);
30
- transition: color var(--iui-duration-1) ease;
31
-
32
- img {
33
- width: $icon-size;
34
- height: $icon-size;
35
- }
36
- }
37
-
38
- &:not(.components-disabled) > .components-icon {
39
- filter: $icon-shadow;
40
- }
41
-
42
- &:focus-visible:not(.components-disabled):not(.components-active),
43
- &:hover:not(.components-disabled):not(.components-active),
44
- &:active:not(.components-disabled):not(.components-active) {
45
- color: var(--iui-color-icon-hover);
46
- background-color: var(--iui-color-background-transparent-hover);
47
- }
48
-
49
- &.components-active {
50
- color: var(--iui-color-icon-accent);
51
- background-color: var(--iui-color-background-accent-muted);
52
- // background-color: hsl(var(--iui-color-accent-hsl) / var(--iui-opacity-5));
53
- border: solid 2px var(--iui-color-border-accent);
54
-
55
- &:not(:active):not(.components-disabled) {
56
- transition-duration: 0s;
57
-
58
- > .components-icon {
59
- color: var(--iui-color-icon-accent);
60
- transition-duration: var(--iui-duration-1);
61
- transition-timing-function: cubic-bezier(1, 0.1, 1, 0.5);
62
- }
63
- }
64
- }
65
-
66
- &.components-disabled {
67
- cursor: not-allowed;
68
-
69
- > .components-icon {
70
- color: var(--iui-color-icon-disabled);
71
- }
72
-
73
- &:hover {
74
- cursor: auto;
75
- }
76
-
77
- &:active {
78
- pointer-events: none;
79
- }
80
- }
81
-
82
- > .components-badge {
83
- display: none;
84
- }
85
- }
86
-
87
- div.components-toolbar-items-container.components-toolbar-show-decorators .components-toolbar-button-item>.components-badge {
88
- display: block;
89
- position: absolute;
90
- top: 0;
91
- left: 0;
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ @import "variables";
6
+
7
+ .components-toolbar-button-item {
8
+ box-sizing: border-box;
9
+ background-origin: border-box;
10
+ border-color: transparent;
11
+ border-style: solid;
12
+ border-radius: var(--iui-border-radius-1);
13
+ cursor: pointer;
14
+ transition: background-color var(--iui-duration-1) ease;
15
+ position: relative;
16
+ background: transparent;
17
+ height: 100%;
18
+ width: 100%;
19
+ outline-style: solid;
20
+ outline-width: 0;
21
+
22
+ > .components-icon {
23
+ font-size: $icon-size;
24
+ width: 100%;
25
+ height: 100%;
26
+ display: grid;
27
+ align-content: center;
28
+ justify-content: center;
29
+ color: var(--iui-color-icon);
30
+ transition: color var(--iui-duration-1) ease;
31
+
32
+ img {
33
+ width: $icon-size;
34
+ height: $icon-size;
35
+ }
36
+ }
37
+
38
+ &:not(.components-disabled) > .components-icon {
39
+ filter: $icon-shadow;
40
+ }
41
+
42
+ &:focus-visible:not(.components-disabled):not(.components-active),
43
+ &:hover:not(.components-disabled):not(.components-active),
44
+ &:active:not(.components-disabled):not(.components-active) {
45
+ color: var(--iui-color-icon-hover);
46
+ background-color: var(--iui-color-background-transparent-hover);
47
+ }
48
+
49
+ &.components-active {
50
+ color: var(--iui-color-icon-accent);
51
+ background-color: var(--iui-color-background-accent-muted);
52
+ // background-color: hsl(var(--iui-color-accent-hsl) / var(--iui-opacity-5));
53
+ border: solid 2px var(--iui-color-border-accent);
54
+
55
+ &:not(:active):not(.components-disabled) {
56
+ transition-duration: 0s;
57
+
58
+ > .components-icon {
59
+ color: var(--iui-color-icon-accent);
60
+ transition-duration: var(--iui-duration-1);
61
+ transition-timing-function: cubic-bezier(1, 0.1, 1, 0.5);
62
+ }
63
+ }
64
+ }
65
+
66
+ &.components-disabled {
67
+ cursor: not-allowed;
68
+
69
+ > .components-icon {
70
+ color: var(--iui-color-icon-disabled);
71
+ }
72
+
73
+ &:hover {
74
+ cursor: auto;
75
+ }
76
+
77
+ &:active {
78
+ pointer-events: none;
79
+ }
80
+ }
81
+
82
+ > .components-badge {
83
+ display: none;
84
+ }
85
+ }
86
+
87
+ div.components-toolbar-items-container.components-toolbar-show-decorators .components-toolbar-button-item>.components-badge {
88
+ display: block;
89
+ position: absolute;
90
+ top: 0;
91
+ left: 0;
92
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ItemWrapper.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/ItemWrapper.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sCAAsC,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAUrF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,sCAAsC,EAAE,CAAC;IAChH,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,gCAAgC,CAAiB,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,UAAU,CAC1B,mCAAmC,EACnC,WAAW,IAAI,sBAAsB,EACrC,0BAA0B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,EACvF,gBAAgB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,EAC7E,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,KAAK,IAEjB,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,gCAAgC,CAAoB,QAAgC,EAAE,SAAkB;IACtH,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QAC9D,IAAI,SAAS;YACX,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1B,OAAO,iBAAiB,CAAI,YAAY,CAAC,CAAC;AAC5C,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./ItemWrapper.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps} from \"@itwin/core-react\";\nimport { useResizeObserver } from \"@itwin/core-react\";\nimport { useToolbarWithOverflowDirectionContext, useToolItemEntryContext } from \"./ToolbarWithOverflow\";\nimport { DirectionHelpers, OrthogonalDirectionHelpers } from \"./utilities/Direction\";\n\n/** Properties of [[ItemWrapper]] component.\n * @internal future\n */\nexport interface ItemWrapperProps extends CommonProps {\n /** Tool setting content. */\n children?: React.ReactNode;\n}\n\n/** Used in a [[ItemWrapper]] component to display a setting.\n * @internal future\n */\nexport function ItemWrapper(props: ItemWrapperProps) {\n const { expandsTo, direction, overflowExpandsTo, overflowDirection } = useToolbarWithOverflowDirectionContext();\n const { hasOverflow, onResize, useHeight } = useToolItemEntryContext();\n const ref = useResizeObserverSingleDimension<HTMLDivElement>(onResize, useHeight);\n const className = classnames(\n \"components-toolbar-item-container\",\n hasOverflow && \"components-overflown\",\n OrthogonalDirectionHelpers.getCssClassName(hasOverflow ? overflowDirection : direction),\n DirectionHelpers.getCssClassName(hasOverflow ? overflowExpandsTo : expandsTo),\n props.className,\n );\n return (\n <div\n className={className}\n ref={ref}\n style={props.style}\n >\n {props.children}\n </div>\n );\n}\n\n/** @internal */\nexport function useResizeObserverSingleDimension<T extends Element>(onResize: (size: number) => void, useHeight: boolean) {\n const handleResize = React.useCallback((w: number, h: number) => {\n if (useHeight)\n return onResize(h);\n return onResize(w);\n }, [useHeight, onResize]);\n return useResizeObserver<T>(handleResize);\n}\n"]}
1
+ {"version":3,"file":"ItemWrapper.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/ItemWrapper.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAC5B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,sCAAsC,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAUrF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,sCAAsC,EAAE,CAAC;IAChH,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,gCAAgC,CAAiB,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,UAAU,CAC1B,mCAAmC,EACnC,WAAW,IAAI,sBAAsB,EACrC,0BAA0B,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,EACvF,gBAAgB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,EAC7E,KAAK,CAAC,SAAS,CAChB,CAAC;IACF,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,KAAK,IAEjB,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,gCAAgC,CAAoB,QAAgC,EAAE,SAAkB;IACtH,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QAC9D,IAAI,SAAS;YACX,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1B,OAAO,iBAAiB,CAAI,YAAY,CAAC,CAAC;AAC5C,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 ToolSettings\r\n */\r\n\r\nimport \"./ItemWrapper.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { CommonProps} from \"@itwin/core-react\";\r\nimport { useResizeObserver } from \"@itwin/core-react\";\r\nimport { useToolbarWithOverflowDirectionContext, useToolItemEntryContext } from \"./ToolbarWithOverflow\";\r\nimport { DirectionHelpers, OrthogonalDirectionHelpers } from \"./utilities/Direction\";\r\n\r\n/** Properties of [[ItemWrapper]] component.\r\n * @internal future\r\n */\r\nexport interface ItemWrapperProps extends CommonProps {\r\n /** Tool setting content. */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** Used in a [[ItemWrapper]] component to display a setting.\r\n * @internal future\r\n */\r\nexport function ItemWrapper(props: ItemWrapperProps) {\r\n const { expandsTo, direction, overflowExpandsTo, overflowDirection } = useToolbarWithOverflowDirectionContext();\r\n const { hasOverflow, onResize, useHeight } = useToolItemEntryContext();\r\n const ref = useResizeObserverSingleDimension<HTMLDivElement>(onResize, useHeight);\r\n const className = classnames(\r\n \"components-toolbar-item-container\",\r\n hasOverflow && \"components-overflown\",\r\n OrthogonalDirectionHelpers.getCssClassName(hasOverflow ? overflowDirection : direction),\r\n DirectionHelpers.getCssClassName(hasOverflow ? overflowExpandsTo : expandsTo),\r\n props.className,\r\n );\r\n return (\r\n <div\r\n className={className}\r\n ref={ref}\r\n style={props.style}\r\n >\r\n {props.children}\r\n </div>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport function useResizeObserverSingleDimension<T extends Element>(onResize: (size: number) => void, useHeight: boolean) {\r\n const handleResize = React.useCallback((w: number, h: number) => {\r\n if (useHeight)\r\n return onResize(h);\r\n return onResize(w);\r\n }, [useHeight, onResize]);\r\n return useResizeObserver<T>(handleResize);\r\n}\r\n"]}
@@ -1,10 +1,10 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- .components-toolbar-item-container {
6
- position: relative;
7
- height: 100%;
8
- display: flex;
9
- align-items: center;
10
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ .components-toolbar-item-container {
6
+ position: relative;
7
+ height: 100%;
8
+ display: flex;
9
+ align-items: center;
10
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Items.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/Items.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,2BAA2B,EAAE,yBAAyB,EAAE,uBAAuB,EAC/E,wBAAwB,EAAE,yBAAyB,EAAE,mBAAmB,EACxE,oCAAoC,EAAE,kCAAkC,EACxE,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,sCAAsC,EAAE,MAAM,uBAAuB,CAAC;AAEtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAYnE;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IAEnD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,sCAAsC,EAAE,CAAC;IAClH,MAAM,wBAAwB,GAAG,qBAAqB,KAAK,qBAAqB,CAAC,WAAW,CAAC;IAE7F,IAAI,cAAc,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACtI,IAAI,gBAAgB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC;IACzF,IAAI,UAAU,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC;IACrF,IAAI,cAAc,GAAG,qBAAqB,KAAK,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhG,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAEnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;YAC/B,YAAY,CAAC,GAAG,CAAC,CAAC;SACnB;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAI,qBAAqB,KAAK,qBAAqB,CAAC,SAAS,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;QAC7G,cAAc,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;QACzD,gBAAgB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAC7D,UAAU,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;QACzD,uBAAuB;QACvB,IAAI,cAAc,GAAG,GAAG;YACtB,cAAc,GAAG,KAAK,CAAC;KAC1B;IAED,MAAM,QAAQ,GAAwB;QACpC,eAAe,EAAE,yBAAyB,CAAC,cAAc,CAAC;QAC1D,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,cAAc,EAAE,wBAAwB,CAAC,UAAU,CAAC;QACpD,GAAG,KAAK,CAAC,KAAK;KACf,CAAC;IAEF,MAAM,SAAS,GAAG,UAAU,CAC1B,oCAAoC,EACpC,0BAA0B,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAC3D,cAAc,IAAI,oCAAoC,EACtD,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnB,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,GAAG,IAEP,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Toolbar\n */\n\nimport \"./Items.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps} from \"@itwin/core-react\";\nimport {\n calculateBackdropFilterBlur, calculateBoxShadowOpacity, calculateToolbarOpacity,\n getToolbarBackdropFilter, getToolbarBackgroundColor, getToolbarBoxShadow,\n TOOLBAR_BACKDROP_FILTER_BLUR_DEFAULT, TOOLBAR_BOX_SHADOW_OPACITY_DEFAULT,\n useWidgetOpacityContext,\n} from \"@itwin/core-react\";\nimport { ToolbarOpacitySetting, useToolbarWithOverflowDirectionContext } from \"./ToolbarWithOverflow\";\nimport type { OrthogonalDirection} from \"./utilities/Direction\";\nimport { OrthogonalDirectionHelpers } from \"./utilities/Direction\";\n\n/** Properties of [[ToolbarItems]] component.\n * @internal\n */\nexport interface ToolbarItemsProps extends CommonProps {\n /** Toolbar items. */\n children?: React.ReactNode;\n /** Toolbar items direction. */\n direction: OrthogonalDirection;\n}\n\n/** Toolbar items container. Used in [[ToolbarWithOverflow]] component.\n * @internal\n */\nexport function ToolbarItems(props: ToolbarItemsProps) {\n\n const ref = React.useRef<HTMLDivElement>(null);\n const { toolbarOpacitySetting, openPopupCount, overflowDisplayActive } = useToolbarWithOverflowDirectionContext();\n const useTransparentBackground = toolbarOpacitySetting === ToolbarOpacitySetting.Transparent;\n\n let toolbarOpacity = useTransparentBackground ? 0 : Number(document.documentElement.style.getPropertyValue(\"--buic-toolbar-opacity\"));\n let boxShadowOpacity = useTransparentBackground ? 0 : TOOLBAR_BOX_SHADOW_OPACITY_DEFAULT;\n let filterBlur = useTransparentBackground ? 0 : TOOLBAR_BACKDROP_FILTER_BLUR_DEFAULT;\n let showSeparators = toolbarOpacitySetting === ToolbarOpacitySetting.Transparent ? false : true;\n\n const isInitialMount = React.useRef(true);\n const { onElementRef, proximityScale } = useWidgetOpacityContext();\n\n React.useEffect(() => {\n // istanbul ignore else\n if (isInitialMount.current) {\n isInitialMount.current = false;\n onElementRef(ref);\n }\n }, [onElementRef]);\n\n if (toolbarOpacitySetting === ToolbarOpacitySetting.Proximity && openPopupCount < 1 && !overflowDisplayActive) {\n toolbarOpacity = calculateToolbarOpacity(proximityScale);\n boxShadowOpacity = calculateBoxShadowOpacity(proximityScale);\n filterBlur = calculateBackdropFilterBlur(proximityScale);\n // istanbul ignore next\n if (proximityScale < .25)\n showSeparators = false;\n }\n\n const divStyle: React.CSSProperties = {\n backgroundColor: getToolbarBackgroundColor(toolbarOpacity),\n boxShadow: getToolbarBoxShadow(boxShadowOpacity),\n backdropFilter: getToolbarBackdropFilter(filterBlur),\n ...props.style,\n };\n\n const className = classnames(\n \"components-toolbar-items-container\",\n OrthogonalDirectionHelpers.getCssClassName(props.direction),\n showSeparators && \"components-toolbar-show-decorators\",\n props.className);\n\n return (\n <div\n className={className}\n style={divStyle}\n ref={ref}\n >\n {props.children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"Items.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/Items.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,2BAA2B,EAAE,yBAAyB,EAAE,uBAAuB,EAC/E,wBAAwB,EAAE,yBAAyB,EAAE,mBAAmB,EACxE,oCAAoC,EAAE,kCAAkC,EACxE,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,sCAAsC,EAAE,MAAM,uBAAuB,CAAC;AAEtG,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAYnE;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IAEnD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,sCAAsC,EAAE,CAAC;IAClH,MAAM,wBAAwB,GAAG,qBAAqB,KAAK,qBAAqB,CAAC,WAAW,CAAC;IAE7F,IAAI,cAAc,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACtI,IAAI,gBAAgB,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC;IACzF,IAAI,UAAU,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oCAAoC,CAAC;IACrF,IAAI,cAAc,GAAG,qBAAqB,KAAK,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhG,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,uBAAuB,EAAE,CAAC;IAEnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,uBAAuB;QACvB,IAAI,cAAc,CAAC,OAAO,EAAE;YAC1B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;YAC/B,YAAY,CAAC,GAAG,CAAC,CAAC;SACnB;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAI,qBAAqB,KAAK,qBAAqB,CAAC,SAAS,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE;QAC7G,cAAc,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;QACzD,gBAAgB,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAC7D,UAAU,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAC;QACzD,uBAAuB;QACvB,IAAI,cAAc,GAAG,GAAG;YACtB,cAAc,GAAG,KAAK,CAAC;KAC1B;IAED,MAAM,QAAQ,GAAwB;QACpC,eAAe,EAAE,yBAAyB,CAAC,cAAc,CAAC;QAC1D,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC;QAChD,cAAc,EAAE,wBAAwB,CAAC,UAAU,CAAC;QACpD,GAAG,KAAK,CAAC,KAAK;KACf,CAAC;IAEF,MAAM,SAAS,GAAG,UAAU,CAC1B,oCAAoC,EACpC,0BAA0B,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAC3D,cAAc,IAAI,oCAAoC,EACtD,KAAK,CAAC,SAAS,CAAC,CAAC;IAEnB,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,GAAG,IAEP,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,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 Toolbar\r\n */\r\n\r\nimport \"./Items.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { CommonProps} from \"@itwin/core-react\";\r\nimport {\r\n calculateBackdropFilterBlur, calculateBoxShadowOpacity, calculateToolbarOpacity,\r\n getToolbarBackdropFilter, getToolbarBackgroundColor, getToolbarBoxShadow,\r\n TOOLBAR_BACKDROP_FILTER_BLUR_DEFAULT, TOOLBAR_BOX_SHADOW_OPACITY_DEFAULT,\r\n useWidgetOpacityContext,\r\n} from \"@itwin/core-react\";\r\nimport { ToolbarOpacitySetting, useToolbarWithOverflowDirectionContext } from \"./ToolbarWithOverflow\";\r\nimport type { OrthogonalDirection} from \"./utilities/Direction\";\r\nimport { OrthogonalDirectionHelpers } from \"./utilities/Direction\";\r\n\r\n/** Properties of [[ToolbarItems]] component.\r\n * @internal\r\n */\r\nexport interface ToolbarItemsProps extends CommonProps {\r\n /** Toolbar items. */\r\n children?: React.ReactNode;\r\n /** Toolbar items direction. */\r\n direction: OrthogonalDirection;\r\n}\r\n\r\n/** Toolbar items container. Used in [[ToolbarWithOverflow]] component.\r\n * @internal\r\n */\r\nexport function ToolbarItems(props: ToolbarItemsProps) {\r\n\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n const { toolbarOpacitySetting, openPopupCount, overflowDisplayActive } = useToolbarWithOverflowDirectionContext();\r\n const useTransparentBackground = toolbarOpacitySetting === ToolbarOpacitySetting.Transparent;\r\n\r\n let toolbarOpacity = useTransparentBackground ? 0 : Number(document.documentElement.style.getPropertyValue(\"--buic-toolbar-opacity\"));\r\n let boxShadowOpacity = useTransparentBackground ? 0 : TOOLBAR_BOX_SHADOW_OPACITY_DEFAULT;\r\n let filterBlur = useTransparentBackground ? 0 : TOOLBAR_BACKDROP_FILTER_BLUR_DEFAULT;\r\n let showSeparators = toolbarOpacitySetting === ToolbarOpacitySetting.Transparent ? false : true;\r\n\r\n const isInitialMount = React.useRef(true);\r\n const { onElementRef, proximityScale } = useWidgetOpacityContext();\r\n\r\n React.useEffect(() => {\r\n // istanbul ignore else\r\n if (isInitialMount.current) {\r\n isInitialMount.current = false;\r\n onElementRef(ref);\r\n }\r\n }, [onElementRef]);\r\n\r\n if (toolbarOpacitySetting === ToolbarOpacitySetting.Proximity && openPopupCount < 1 && !overflowDisplayActive) {\r\n toolbarOpacity = calculateToolbarOpacity(proximityScale);\r\n boxShadowOpacity = calculateBoxShadowOpacity(proximityScale);\r\n filterBlur = calculateBackdropFilterBlur(proximityScale);\r\n // istanbul ignore next\r\n if (proximityScale < .25)\r\n showSeparators = false;\r\n }\r\n\r\n const divStyle: React.CSSProperties = {\r\n backgroundColor: getToolbarBackgroundColor(toolbarOpacity),\r\n boxShadow: getToolbarBoxShadow(boxShadowOpacity),\r\n backdropFilter: getToolbarBackdropFilter(filterBlur),\r\n ...props.style,\r\n };\r\n\r\n const className = classnames(\r\n \"components-toolbar-items-container\",\r\n OrthogonalDirectionHelpers.getCssClassName(props.direction),\r\n showSeparators && \"components-toolbar-show-decorators\",\r\n props.className);\r\n\r\n return (\r\n <div\r\n className={className}\r\n style={divStyle}\r\n ref={ref}\r\n >\r\n {props.children}\r\n </div>\r\n );\r\n}\r\n"]}