@itwin/components-react 4.15.4 → 4.16.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 (528) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/lib/cjs/components-react/UiComponents.d.ts.map +1 -1
  3. package/lib/cjs/components-react/UiComponents.js +2 -0
  4. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  5. package/lib/cjs/components-react/common/CheckBoxState.d.ts +13 -0
  6. package/lib/cjs/components-react/common/CheckBoxState.d.ts.map +1 -0
  7. package/lib/cjs/components-react/common/CheckBoxState.js +17 -0
  8. package/lib/cjs/components-react/common/CheckBoxState.js.map +1 -0
  9. package/lib/cjs/components-react/common/HighlightedText.d.ts.map +1 -1
  10. package/lib/cjs/components-react/common/HighlightedText.js +78 -16
  11. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  12. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  13. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  14. package/lib/cjs/components-react/common/Orientation.d.ts +13 -0
  15. package/lib/cjs/components-react/common/Orientation.d.ts.map +1 -0
  16. package/lib/cjs/components-react/common/Orientation.js +17 -0
  17. package/lib/cjs/components-react/common/Orientation.js.map +1 -0
  18. package/lib/cjs/components-react/common/TimeFormat.d.ts +13 -0
  19. package/lib/cjs/components-react/common/TimeFormat.d.ts.map +1 -0
  20. package/lib/cjs/components-react/common/TimeFormat.js +17 -0
  21. package/lib/cjs/components-react/common/TimeFormat.js.map +1 -0
  22. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +1 -1
  23. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  24. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +8 -8
  25. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  26. package/lib/cjs/components-react/datepicker/DatePicker.d.ts.map +1 -1
  27. package/lib/cjs/components-react/datepicker/DatePicker.js +1 -1
  28. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  29. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +1 -1
  30. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  31. package/lib/cjs/components-react/datepicker/TimeField.js +1 -1
  32. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  33. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +0 -5
  34. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  35. package/lib/cjs/components-react/editors/BooleanEditor.js +0 -5
  36. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  37. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +0 -5
  38. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  39. package/lib/cjs/components-react/editors/CustomNumberEditor.js +1 -5
  40. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  41. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +0 -5
  42. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  43. package/lib/cjs/components-react/editors/DateTimeEditor.js +0 -5
  44. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  45. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  46. package/lib/cjs/components-react/editors/EditorContainer.js +73 -2
  47. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  48. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +0 -4
  49. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  50. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +0 -4
  51. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  52. package/lib/cjs/components-react/editors/EnumEditor.d.ts +0 -5
  53. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  54. package/lib/cjs/components-react/editors/EnumEditor.js +0 -5
  55. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  56. package/lib/cjs/components-react/editors/IconEditor.d.ts +0 -4
  57. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  58. package/lib/cjs/components-react/editors/IconEditor.js +0 -4
  59. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  60. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +0 -4
  61. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  62. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +0 -4
  63. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  64. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +0 -5
  65. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  66. package/lib/cjs/components-react/editors/NumericInputEditor.js +0 -5
  67. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  68. package/lib/cjs/components-react/editors/PopupButton.d.ts +0 -3
  69. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  70. package/lib/cjs/components-react/editors/PopupButton.js +1 -4
  71. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  72. package/lib/cjs/components-react/editors/PopupButton.scss +3 -4
  73. package/lib/cjs/components-react/editors/SliderEditor.d.ts +0 -5
  74. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  75. package/lib/cjs/components-react/editors/SliderEditor.js +6 -7
  76. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  77. package/lib/cjs/components-react/editors/TextEditor.d.ts +0 -5
  78. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  79. package/lib/cjs/components-react/editors/TextEditor.js +1 -5
  80. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  81. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +0 -5
  82. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  83. package/lib/cjs/components-react/editors/TextareaEditor.js +0 -5
  84. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  85. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +0 -5
  86. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  87. package/lib/cjs/components-react/editors/ToggleEditor.js +0 -5
  88. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  89. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +1 -1
  90. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  91. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  92. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  93. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  94. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +2 -1
  95. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  96. package/lib/cjs/components-react/filter-builder/FilterBuilderLogicalOperator.js +1 -1
  97. package/lib/cjs/components-react/filter-builder/FilterBuilderLogicalOperator.js.map +1 -1
  98. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +1 -1
  99. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  100. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  101. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  102. package/lib/cjs/components-react/filter-builder/FilterBuilderToolbar.js +1 -1
  103. package/lib/cjs/components-react/filter-builder/FilterBuilderToolbar.js.map +1 -1
  104. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +0 -1
  105. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  106. package/lib/cjs/components-react/filtering/FilteringInput.js +3 -7
  107. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  108. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +0 -4
  109. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  110. package/lib/cjs/components-react/filtering/ResultSelector.js +0 -4
  111. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  112. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +0 -3
  113. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  114. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +1 -7
  115. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  116. package/lib/cjs/components-react/l10n/LocalizationProvider.d.ts +10 -0
  117. package/lib/cjs/components-react/l10n/LocalizationProvider.d.ts.map +1 -0
  118. package/lib/cjs/components-react/l10n/LocalizationProvider.js +46 -0
  119. package/lib/cjs/components-react/l10n/LocalizationProvider.js.map +1 -0
  120. package/lib/cjs/components-react/l10n/useTranslation.d.ts.map +1 -0
  121. package/lib/cjs/components-react/{useTranslation.js → l10n/useTranslation.js} +2 -2
  122. package/lib/cjs/components-react/l10n/useTranslation.js.map +1 -0
  123. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +1 -1
  124. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  125. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  126. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +1 -2
  127. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  128. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +2 -3
  129. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  130. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +1 -1
  131. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  132. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +3 -3
  133. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  134. package/lib/cjs/components-react/properties/renderers/CustomizablePropertyRenderer.d.ts.map +1 -1
  135. package/lib/cjs/components-react/properties/renderers/CustomizablePropertyRenderer.js +2 -2
  136. package/lib/cjs/components-react/properties/renderers/CustomizablePropertyRenderer.js.map +1 -1
  137. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -5
  138. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  139. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +0 -2
  140. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  141. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +0 -1
  142. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  143. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +0 -1
  144. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  145. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts +1 -1
  146. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  147. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +3 -3
  148. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  149. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +1 -5
  150. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  151. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +0 -4
  152. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  153. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +0 -1
  154. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  155. package/lib/cjs/components-react/properties/renderers/PropertyView.js +3 -3
  156. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  157. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +2 -1
  158. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  159. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +2 -2
  160. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  161. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +1 -1
  162. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  163. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  164. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +2 -2
  165. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  166. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +0 -1
  167. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  168. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +0 -1
  169. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  170. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +1 -2
  171. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  172. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +0 -1
  173. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  174. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +0 -1
  175. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  176. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +0 -1
  177. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  178. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  179. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  180. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +2 -1
  181. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  182. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +0 -1
  183. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  184. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +0 -1
  185. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  186. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +3 -4
  187. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +1 -1
  188. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  189. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  190. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  191. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +0 -2
  192. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  193. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +0 -2
  194. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  195. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +1 -2
  196. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  197. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +2 -3
  198. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  199. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -4
  200. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  201. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +14 -8
  202. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  203. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  204. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  205. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +9 -1
  206. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  207. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +0 -1
  208. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  209. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +0 -1
  210. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  211. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  212. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +2 -2
  213. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  214. package/lib/cjs/components-react/toolbar/InternalToolbarComponent.d.ts +15 -8
  215. package/lib/cjs/components-react/toolbar/InternalToolbarComponent.d.ts.map +1 -1
  216. package/lib/cjs/components-react/toolbar/InternalToolbarComponent.js +25 -17
  217. package/lib/cjs/components-react/toolbar/InternalToolbarComponent.js.map +1 -1
  218. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +12 -8
  219. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  220. package/lib/cjs/components-react/toolbar/PopupItem.js +8 -9
  221. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  222. package/lib/cjs/components-react/toolbar/PopupItem.scss +0 -7
  223. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +4 -2
  224. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  225. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +4 -3
  226. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  227. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +14 -2
  228. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  229. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +3 -2
  230. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  231. package/lib/cjs/components-react/toolbar/useConditionalSynchedItems.d.ts.map +1 -1
  232. package/lib/cjs/components-react/toolbar/useConditionalSynchedItems.js +3 -0
  233. package/lib/cjs/components-react/toolbar/useConditionalSynchedItems.js.map +1 -1
  234. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +1 -1
  235. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  236. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  237. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +1 -1
  238. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  239. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  240. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +1 -1
  241. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  242. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  243. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +1 -1
  244. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  245. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  246. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +1 -1
  247. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  248. package/lib/cjs/components-react/tree/controlled/TreeModel.js +2 -2
  249. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  250. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +1 -1
  251. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  252. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +9 -2
  253. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  254. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  255. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  256. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +2 -1
  257. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  258. package/lib/cjs/components-react.d.ts +10 -6
  259. package/lib/cjs/components-react.d.ts.map +1 -1
  260. package/lib/cjs/components-react.js +10 -6
  261. package/lib/cjs/components-react.js.map +1 -1
  262. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  263. package/lib/esm/components-react/UiComponents.js +2 -0
  264. package/lib/esm/components-react/UiComponents.js.map +1 -1
  265. package/lib/esm/components-react/common/CheckBoxState.d.ts +13 -0
  266. package/lib/esm/components-react/common/CheckBoxState.d.ts.map +1 -0
  267. package/lib/esm/components-react/common/CheckBoxState.js +14 -0
  268. package/lib/esm/components-react/common/CheckBoxState.js.map +1 -0
  269. package/lib/esm/components-react/common/HighlightedText.d.ts.map +1 -1
  270. package/lib/esm/components-react/common/HighlightedText.js +56 -14
  271. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  272. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  273. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  274. package/lib/esm/components-react/common/Orientation.d.ts +13 -0
  275. package/lib/esm/components-react/common/Orientation.d.ts.map +1 -0
  276. package/lib/esm/components-react/common/Orientation.js +14 -0
  277. package/lib/esm/components-react/common/Orientation.js.map +1 -0
  278. package/lib/esm/components-react/common/TimeFormat.d.ts +13 -0
  279. package/lib/esm/components-react/common/TimeFormat.d.ts.map +1 -0
  280. package/lib/esm/components-react/common/TimeFormat.js +14 -0
  281. package/lib/esm/components-react/common/TimeFormat.js.map +1 -0
  282. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +1 -1
  283. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  284. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +1 -1
  285. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  286. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  287. package/lib/esm/components-react/datepicker/DatePicker.js +1 -1
  288. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  289. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +1 -1
  290. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  291. package/lib/esm/components-react/datepicker/TimeField.js +1 -1
  292. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  293. package/lib/esm/components-react/editors/BooleanEditor.d.ts +0 -5
  294. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  295. package/lib/esm/components-react/editors/BooleanEditor.js +0 -5
  296. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  297. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +0 -5
  298. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  299. package/lib/esm/components-react/editors/CustomNumberEditor.js +1 -5
  300. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  301. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +0 -5
  302. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  303. package/lib/esm/components-react/editors/DateTimeEditor.js +0 -5
  304. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  305. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  306. package/lib/esm/components-react/editors/EditorContainer.js +74 -3
  307. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  308. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +0 -4
  309. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  310. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +0 -4
  311. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  312. package/lib/esm/components-react/editors/EnumEditor.d.ts +0 -5
  313. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  314. package/lib/esm/components-react/editors/EnumEditor.js +0 -5
  315. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  316. package/lib/esm/components-react/editors/IconEditor.d.ts +0 -4
  317. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  318. package/lib/esm/components-react/editors/IconEditor.js +0 -4
  319. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  320. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +0 -4
  321. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  322. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +0 -4
  323. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  324. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +0 -5
  325. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  326. package/lib/esm/components-react/editors/NumericInputEditor.js +0 -5
  327. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  328. package/lib/esm/components-react/editors/PopupButton.d.ts +0 -3
  329. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  330. package/lib/esm/components-react/editors/PopupButton.js +1 -4
  331. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  332. package/lib/esm/components-react/editors/PopupButton.scss +3 -4
  333. package/lib/esm/components-react/editors/SliderEditor.d.ts +0 -5
  334. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  335. package/lib/esm/components-react/editors/SliderEditor.js +6 -7
  336. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  337. package/lib/esm/components-react/editors/TextEditor.d.ts +0 -5
  338. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  339. package/lib/esm/components-react/editors/TextEditor.js +1 -5
  340. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  341. package/lib/esm/components-react/editors/TextareaEditor.d.ts +0 -5
  342. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  343. package/lib/esm/components-react/editors/TextareaEditor.js +0 -5
  344. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  345. package/lib/esm/components-react/editors/ToggleEditor.d.ts +0 -5
  346. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  347. package/lib/esm/components-react/editors/ToggleEditor.js +0 -5
  348. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  349. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +1 -1
  350. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  351. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  352. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  353. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  354. package/lib/esm/components-react/favorite/FavoritePropertyList.js +2 -1
  355. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  356. package/lib/esm/components-react/filter-builder/FilterBuilderLogicalOperator.js +1 -1
  357. package/lib/esm/components-react/filter-builder/FilterBuilderLogicalOperator.js.map +1 -1
  358. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +1 -1
  359. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  360. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  361. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  362. package/lib/esm/components-react/filter-builder/FilterBuilderToolbar.js +1 -1
  363. package/lib/esm/components-react/filter-builder/FilterBuilderToolbar.js.map +1 -1
  364. package/lib/esm/components-react/filtering/FilteringInput.d.ts +0 -1
  365. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  366. package/lib/esm/components-react/filtering/FilteringInput.js +3 -7
  367. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  368. package/lib/esm/components-react/filtering/ResultSelector.d.ts +0 -4
  369. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  370. package/lib/esm/components-react/filtering/ResultSelector.js +0 -4
  371. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  372. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +0 -3
  373. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  374. package/lib/esm/components-react/iconpicker/IconPickerButton.js +1 -7
  375. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  376. package/lib/esm/components-react/l10n/LocalizationProvider.d.ts +10 -0
  377. package/lib/esm/components-react/l10n/LocalizationProvider.d.ts.map +1 -0
  378. package/lib/esm/components-react/l10n/LocalizationProvider.js +19 -0
  379. package/lib/esm/components-react/l10n/LocalizationProvider.js.map +1 -0
  380. package/lib/esm/components-react/l10n/useTranslation.d.ts.map +1 -0
  381. package/lib/esm/components-react/{useTranslation.js → l10n/useTranslation.js} +2 -2
  382. package/lib/esm/components-react/l10n/useTranslation.js.map +1 -0
  383. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +1 -1
  384. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  385. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  386. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +1 -2
  387. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  388. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +1 -2
  389. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  390. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +1 -1
  391. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  392. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +1 -1
  393. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  394. package/lib/esm/components-react/properties/renderers/CustomizablePropertyRenderer.d.ts.map +1 -1
  395. package/lib/esm/components-react/properties/renderers/CustomizablePropertyRenderer.js +1 -1
  396. package/lib/esm/components-react/properties/renderers/CustomizablePropertyRenderer.js.map +1 -1
  397. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -5
  398. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  399. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +0 -2
  400. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  401. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +0 -1
  402. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  403. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +0 -1
  404. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  405. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts +1 -1
  406. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  407. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +1 -1
  408. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  409. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +1 -5
  410. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  411. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +0 -4
  412. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  413. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +0 -1
  414. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  415. package/lib/esm/components-react/properties/renderers/PropertyView.js +2 -2
  416. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  417. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +2 -1
  418. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  419. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +1 -1
  420. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  421. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +1 -1
  422. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  423. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  424. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +1 -1
  425. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  426. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +0 -1
  427. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  428. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +0 -1
  429. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  430. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +1 -2
  431. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  432. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +0 -1
  433. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  434. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +0 -1
  435. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  436. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +0 -1
  437. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  438. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  439. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  440. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +2 -1
  441. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  442. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +0 -1
  443. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  444. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +0 -1
  445. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  446. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +3 -4
  447. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +1 -1
  448. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  449. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +1 -1
  450. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  451. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +0 -2
  452. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  453. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +0 -2
  454. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  455. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +1 -2
  456. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  457. package/lib/esm/components-react/propertygrid/component/PropertyList.js +1 -2
  458. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  459. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -4
  460. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  461. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +12 -6
  462. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  463. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  464. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  465. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +9 -1
  466. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  467. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +0 -1
  468. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  469. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +0 -1
  470. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  471. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  472. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +1 -1
  473. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  474. package/lib/esm/components-react/toolbar/InternalToolbarComponent.d.ts +15 -8
  475. package/lib/esm/components-react/toolbar/InternalToolbarComponent.d.ts.map +1 -1
  476. package/lib/esm/components-react/toolbar/InternalToolbarComponent.js +25 -17
  477. package/lib/esm/components-react/toolbar/InternalToolbarComponent.js.map +1 -1
  478. package/lib/esm/components-react/toolbar/PopupItem.d.ts +12 -8
  479. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  480. package/lib/esm/components-react/toolbar/PopupItem.js +9 -10
  481. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  482. package/lib/esm/components-react/toolbar/PopupItem.scss +0 -7
  483. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +4 -2
  484. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  485. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +4 -3
  486. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  487. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +14 -2
  488. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  489. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +3 -2
  490. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  491. package/lib/esm/components-react/toolbar/useConditionalSynchedItems.d.ts.map +1 -1
  492. package/lib/esm/components-react/toolbar/useConditionalSynchedItems.js +3 -0
  493. package/lib/esm/components-react/toolbar/useConditionalSynchedItems.js.map +1 -1
  494. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +1 -1
  495. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  496. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  497. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +1 -1
  498. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  499. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  500. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +1 -1
  501. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  502. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  503. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +1 -1
  504. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  505. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  506. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +1 -1
  507. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  508. package/lib/esm/components-react/tree/controlled/TreeModel.js +1 -1
  509. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  510. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +1 -1
  511. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  512. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +9 -2
  513. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  514. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  515. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  516. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +2 -1
  517. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  518. package/lib/esm/components-react.d.ts +10 -6
  519. package/lib/esm/components-react.d.ts.map +1 -1
  520. package/lib/esm/components-react.js +10 -6
  521. package/lib/esm/components-react.js.map +1 -1
  522. package/package.json +3 -5
  523. package/lib/cjs/components-react/useTranslation.d.ts.map +0 -1
  524. package/lib/cjs/components-react/useTranslation.js.map +0 -1
  525. package/lib/esm/components-react/useTranslation.d.ts.map +0 -1
  526. package/lib/esm/components-react/useTranslation.js.map +0 -1
  527. /package/lib/cjs/components-react/{useTranslation.d.ts → l10n/useTranslation.d.ts} +0 -0
  528. /package/lib/esm/components-react/{useTranslation.d.ts → l10n/useTranslation.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MutableCategorizedArrayProperty.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAUhG,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B;;;GAGG;AACH,MAAM,OAAO,+BACX,SAAQ,0BAA0B;IAMlC,YACE,MAAsB,EACtB,kBAA0B,EAC1B,0BAAkC,EAClC,KAAa,EACb,eAAwC,EACxC,YAAqB,EACrB,oBAA6B;QAE7B,KAAK,CACH,gBAAgB,CAAC,KAAK,EACtB,MAAM,EACN,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,EACL,YAAY,EACZ,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAClD,MAAM,eAAe,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC;YACzC,OAAO,eAAe,CAAC,yBAAyB,CAC9C,KAAK,EACL,IAAI,CAAC,YAAY,EACjB,0BAA0B,EAC1B,aAAa,EACb,OAAO,EACP,eAAe,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,IAAI;QACb,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAChC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEe,qBAAqB;QACnC,OAAO,IAAI,CAAC,YAAY;YACtB,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE;YAC/B,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,CAAC;IAEe,qBAAqB;QACnC,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,wFAAwF;YACxF,qCAAqC;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEe,4BAA4B;QAC1C,OAAO,IAAI,CAAC,YAAY;YACtB,CAAC,CAAC,KAAK,CAAC,4BAA4B,EAAE;YACtC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACnC,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 {\n IMutableCategorizedPropertyItem,\n IMutableFlatGridItem,\n} from \"./MutableFlatGridItem\";\nimport {\n FlatGridItemType,\n MutableCategorizedProperty,\n} from \"./MutableFlatGridItem\";\nimport type { IMutableGridItemFactory } from \"./MutableGridItemFactory\";\n\n/**\n * Mutable wrapper object for PropertyRecord with array valueFormat which provides methods for working with and managing record children hierarchies.\n * @public\n */\nexport class MutableCategorizedArrayProperty\n extends MutableCategorizedProperty\n implements IMutableCategorizedPropertyItem\n{\n private _renderLabel: boolean;\n private _children: IMutableCategorizedPropertyItem[];\n\n public constructor(\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n gridItemFactory: IMutableGridItemFactory,\n overrideName?: string,\n overrideDisplayLabel?: string\n ) {\n super(\n FlatGridItemType.Array,\n record,\n parentSelectionKey,\n parentCategorySelectionKey,\n depth,\n overrideName,\n overrideDisplayLabel\n );\n this._renderLabel = !record.property.hideCompositePropertyLabel;\n const childrenDepth = depth + (this._renderLabel ? 1 : 0);\n this._children = record.getChildrenRecords().map((child, index) => {\n const newName = `${child.property.name}_${index}`;\n const newDisplayLabel = `[${index + 1}]`;\n return gridItemFactory.createCategorizedProperty(\n child,\n this.selectionKey,\n parentCategorySelectionKey,\n childrenDepth,\n newName,\n newDisplayLabel\n );\n });\n }\n\n public get type(): FlatGridItemType.Array {\n return FlatGridItemType.Array;\n }\n\n public getChildren(): IMutableCategorizedPropertyItem[] {\n return this._children;\n }\n\n public override getDescendantsAndSelf() {\n return this._renderLabel\n ? super.getDescendantsAndSelf()\n : this.getDescendants();\n }\n\n public override getVisibleDescendants(): IMutableFlatGridItem[] {\n const descendants: IMutableFlatGridItem[] = [];\n if (this.isExpanded || !this._renderLabel) {\n // always render children if not rendering the label, otherwise there's no way to expand\n // this item to make children visible\n this.getChildren().forEach((child) =>\n descendants.push(...child.getVisibleDescendantsAndSelf())\n );\n }\n return descendants;\n }\n\n public override getVisibleDescendantsAndSelf() {\n return this._renderLabel\n ? super.getVisibleDescendantsAndSelf()\n : this.getVisibleDescendants();\n }\n}\n"]}
1
+ {"version":3,"file":"MutableCategorizedArrayProperty.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG;;GAEG;AACH,OAAO,EAEL,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACL,gBAAgB,EAChB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAG/B;;;GAGG;AACH,MAAM,OAAO,+BACX,SAAQ,0BAA0B;IAMlC,YACE,MAAsB,EACtB,kBAA0B,EAC1B,0BAAkC,EAClC,KAAa,EACb,eAAwC,EACxC,YAAqB,EACrB,oBAA6B;QAE7B,KAAK,CACH,gBAAgB,CAAC,KAAK,EACtB,MAAM,EACN,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,EACL,YAAY,EACZ,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,MAAM,aAAa,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YAClD,IAAI,eAAe,GAAG,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC;YACvC,IACE,KAAK,CAAC,WAAW;gBACjB,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS,EACzD,CAAC;gBACD,eAAe,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7C,CAAC;YAED,OAAO,eAAe,CAAC,yBAAyB,CAC9C,KAAK,EACL,IAAI,CAAC,YAAY,EACjB,0BAA0B,EAC1B,aAAa,EACb,OAAO,EACP,eAAe,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,IAAI;QACb,OAAO,gBAAgB,CAAC,KAAK,CAAC;IAChC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEe,qBAAqB;QACnC,OAAO,IAAI,CAAC,YAAY;YACtB,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE;YAC/B,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC5B,CAAC;IAEe,qBAAqB;QACnC,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,wFAAwF;YACxF,qCAAqC;YACrC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACnC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEe,4BAA4B;QAC1C,OAAO,IAAI,CAAC,YAAY;YACtB,CAAC,CAAC,KAAK,CAAC,4BAA4B,EAAE;YACtC,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACnC,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 {\n type PropertyRecord,\n PropertyValueFormat,\n} from \"@itwin/appui-abstract\";\nimport type {\n IMutableCategorizedPropertyItem,\n IMutableFlatGridItem,\n} from \"./MutableFlatGridItem\";\nimport {\n FlatGridItemType,\n MutableCategorizedProperty,\n} from \"./MutableFlatGridItem\";\nimport type { IMutableGridItemFactory } from \"./MutableGridItemFactory\";\n\n/**\n * Mutable wrapper object for PropertyRecord with array valueFormat which provides methods for working with and managing record children hierarchies.\n * @public\n */\nexport class MutableCategorizedArrayProperty\n extends MutableCategorizedProperty\n implements IMutableCategorizedPropertyItem\n{\n private _renderLabel: boolean;\n private _children: IMutableCategorizedPropertyItem[];\n\n public constructor(\n record: PropertyRecord,\n parentSelectionKey: string,\n parentCategorySelectionKey: string,\n depth: number,\n gridItemFactory: IMutableGridItemFactory,\n overrideName?: string,\n overrideDisplayLabel?: string\n ) {\n super(\n FlatGridItemType.Array,\n record,\n parentSelectionKey,\n parentCategorySelectionKey,\n depth,\n overrideName,\n overrideDisplayLabel\n );\n this._renderLabel = !record.property.hideCompositePropertyLabel;\n const childrenDepth = depth + (this._renderLabel ? 1 : 0);\n this._children = record.getChildrenRecords().map((child, index) => {\n const newName = `${child.property.name}_${index}`;\n let newDisplayLabel = `[${index + 1}]`;\n if (\n child.description &&\n child.value.valueFormat !== PropertyValueFormat.Primitive\n ) {\n newDisplayLabel += ` ${child.description}`;\n }\n\n return gridItemFactory.createCategorizedProperty(\n child,\n this.selectionKey,\n parentCategorySelectionKey,\n childrenDepth,\n newName,\n newDisplayLabel\n );\n });\n }\n\n public get type(): FlatGridItemType.Array {\n return FlatGridItemType.Array;\n }\n\n public getChildren(): IMutableCategorizedPropertyItem[] {\n return this._children;\n }\n\n public override getDescendantsAndSelf() {\n return this._renderLabel\n ? super.getDescendantsAndSelf()\n : this.getDescendants();\n }\n\n public override getVisibleDescendants(): IMutableFlatGridItem[] {\n const descendants: IMutableFlatGridItem[] = [];\n if (this.isExpanded || !this._renderLabel) {\n // always render children if not rendering the label, otherwise there's no way to expand\n // this item to make children visible\n this.getChildren().forEach((child) =>\n descendants.push(...child.getVisibleDescendantsAndSelf())\n );\n }\n return descendants;\n }\n\n public override getVisibleDescendantsAndSelf() {\n return this._renderLabel\n ? super.getVisibleDescendantsAndSelf()\n : this.getVisibleDescendants();\n }\n}\n"]}
@@ -19,7 +19,6 @@ export declare class FlatNonPrimitivePropertyRenderer extends React.Component<Fl
19
19
  private _onExpanded;
20
20
  private _onCollapsed;
21
21
  private getLabel;
22
- /** @internal */
23
22
  render(): React.JSX.Element;
24
23
  }
25
24
  //# sourceMappingURL=FlatNonPrimitivePropertyRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlatNonPrimitivePropertyRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,iEAAiE,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AAItG;;GAEG;AACH,MAAM,WAAW,qCACf,SAAQ,sBAAsB;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,KAAK,CAAC,SAAS,CAAC,qCAAqC,CAAC;gBAC9F,KAAK,EAAE,qCAAqC;IAIxD,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,QAAQ;IA6BhB,gBAAgB;IACA,MAAM;CAIvB"}
1
+ {"version":3,"file":"FlatNonPrimitivePropertyRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,iEAAiE,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AAItG;;GAEG;AACH,MAAM,WAAW,qCACf,SAAQ,sBAAsB;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,KAAK,CAAC,SAAS,CAAC,qCAAqC,CAAC;gBAC9F,KAAK,EAAE,qCAAqC;IAIxD,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,QAAQ;IA6BA,MAAM;CAIvB"}
@@ -34,7 +34,6 @@ export class FlatNonPrimitivePropertyRenderer extends React.Component {
34
34
  displayLabel = `${displayLabel} (${props.propertyRecord.value.items.length})`;
35
35
  return (React.createElement(NonPrimitivePropertyLabelRenderer, { isExpanded: props.isExpanded, onExpand: this._onExpanded, onCollapse: this._onCollapsed, offset: offset, renderColon: false }, displayLabel));
36
36
  }
37
- /** @internal */
38
37
  render() {
39
38
  const { indentation, ...props } = this.props;
40
39
  return React.createElement(PropertyView, { labelElement: this.getLabel(this.props), ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"FlatNonPrimitivePropertyRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;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;AAW1E;;GAEG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK,CAAC,SAAgD;IAC1G,YAAY,KAA4C;QACtD,KAAK,CAAC,KAAK,CAAC,CAAC;QAGP,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;gBAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3D,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;gBAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1D,CAAC,CAAC;IARF,CAAC;IAUO,QAAQ,CACd,KAA4C;QAE5C,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC3E,MAAM,MAAM,GAAG,sBAAsB,CAAC,cAAc,CAClD,WAAW,EACX,WAAW,EACX,KAAK,EACL,WAAW,EACX,UAAU,EAAE,aAAa,CAC1B,CAAC;QAEF,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,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,OAAO,oBAAC,YAAY,IAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAM,KAAK,GAAI,CAAC;IAC9E,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\n 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 if (!this.props.isExpanded) this.props.onExpandToggled();\n };\n\n private _onCollapsed = () => {\n if (this.props.isExpanded) this.props.onExpandToggled();\n };\n\n private getLabel(\n props: FlatNonPrimitivePropertyRendererProps\n ): React.ReactNode {\n const { orientation, indentation, width, columnRatio, columnInfo } = props;\n const offset = CommonPropertyRenderer.getLabelOffset(\n indentation,\n orientation,\n width,\n columnRatio,\n columnInfo?.minLabelWidth\n );\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 const { indentation, ...props } = this.props;\n return <PropertyView labelElement={this.getLabel(this.props)} {...props} />;\n }\n}\n"]}
1
+ {"version":3,"file":"FlatNonPrimitivePropertyRenderer.js","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;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;AAW1E;;GAEG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK,CAAC,SAAgD;IAC1G,YAAY,KAA4C;QACtD,KAAK,CAAC,KAAK,CAAC,CAAC;QAGP,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;gBAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC3D,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;gBAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1D,CAAC,CAAC;IARF,CAAC;IAUO,QAAQ,CACd,KAA4C;QAE5C,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC3E,MAAM,MAAM,GAAG,sBAAsB,CAAC,cAAc,CAClD,WAAW,EACX,WAAW,EACX,KAAK,EACL,WAAW,EACX,UAAU,EAAE,aAAa,CAC1B,CAAC;QAEF,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;IAEe,MAAM;QACpB,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,OAAO,oBAAC,YAAY,IAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAM,KAAK,GAAI,CAAC;IAC9E,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\n 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 if (!this.props.isExpanded) this.props.onExpandToggled();\n };\n\n private _onCollapsed = () => {\n if (this.props.isExpanded) this.props.onExpandToggled();\n };\n\n private getLabel(\n props: FlatNonPrimitivePropertyRendererProps\n ): React.ReactNode {\n const { orientation, indentation, width, columnRatio, columnInfo } = props;\n const offset = CommonPropertyRenderer.getLabelOffset(\n indentation,\n orientation,\n width,\n columnRatio,\n columnInfo?.minLabelWidth\n );\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 public override render() {\n const { indentation, ...props } = this.props;\n return <PropertyView labelElement={this.getLabel(this.props)} {...props} />;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatPropertyRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAInE;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,4BAA4B;IAC5B,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,gBAAgB,KACvB,IAAI,CAAC;IACV,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB,wFAAwF;IACxF,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,uCAAuC;IACvC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9C,SAAS,CAAC,EAAE,0BAA0B,GAAG;QACvC,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IAEF,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsFpE,CAAC"}
1
+ {"version":3,"file":"FlatPropertyRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAC1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKnE;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,4BAA4B;IAC5B,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,gBAAgB,KACvB,IAAI,CAAC;IACV,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,UAAU,EAAE,OAAO,CAAC;IACpB,wFAAwF;IACxF,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,uCAAuC;IACvC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9C,SAAS,CAAC,EAAE,0BAA0B,GAAG;QACvC,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IAEF,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsFpE,CAAC"}
@@ -7,12 +7,12 @@
7
7
  */
8
8
  import * as React from "react";
9
9
  import { PropertyValueFormat } from "@itwin/appui-abstract";
10
- import { Orientation } from "@itwin/core-react";
11
10
  import { EditorContainer } from "../../../editors/EditorContainer";
12
11
  import { CommonPropertyRenderer } from "../../../properties/renderers/CommonPropertyRenderer";
13
12
  import { PropertyValueRendererManager } from "../../../properties/ValueRendererManager";
14
13
  import { FlatNonPrimitivePropertyRenderer } from "./FlatNonPrimitivePropertyRenderer";
15
14
  import { CustomizablePropertyRenderer } from "../../../properties/renderers/CustomizablePropertyRenderer";
15
+ import { Orientation } from "../../../common/Orientation";
16
16
  /** A React component that renders flat properties
17
17
  * @internal
18
18
  */
@@ -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 { 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 type { SharedRendererProps } from \"../../../properties/renderers/PropertyRenderer\";\nimport { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\nimport { FlatNonPrimitivePropertyRenderer } from \"./FlatNonPrimitivePropertyRenderer\";\nimport { CustomizablePropertyRenderer } from \"../../../properties/renderers/CustomizablePropertyRenderer\";\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?: (\n args: PropertyUpdatedArgs,\n category: PropertyCategory\n ) => 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 & {\n applyOnLabel: boolean;\n applyOnValue: boolean;\n };\n\n children?: never;\n}\n\n/** A React component that renders flat properties\n * @internal\n */\nexport const FlatPropertyRenderer: React.FC<FlatPropertyRendererProps> = (\n props\n) => {\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 indentation={props.indentation}\n />\n );\n\n const primitiveRendererProps: PrimitiveRendererProps = {\n ...passthroughProps,\n valueElementRenderer,\n indentation: props.indentation,\n };\n\n const rendererManager =\n propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;\n const hasCustomRenderer = rendererManager.hasCustomRenderer(\n passthroughProps.propertyRecord\n );\n\n switch (props.propertyRecord.value.valueFormat) {\n case PropertyValueFormat.Primitive:\n return (\n <CustomizablePropertyRenderer\n highlight={highlight?.applyOnLabel ? highlight : undefined}\n {...primitiveRendererProps}\n />\n );\n\n case PropertyValueFormat.Array:\n // If array is empty or has a custom renderer registered, render it as a customizable property\n if (props.propertyRecord.value.items.length === 0 || hasCustomRenderer)\n return (\n <CustomizablePropertyRenderer\n highlight={highlight?.applyOnLabel ? highlight : undefined}\n {...primitiveRendererProps}\n />\n );\n\n // eslint-disable-next-line no-fallthrough\n case PropertyValueFormat.Struct:\n // If a custom renderer is registered for the struct property, render it as a customizable property\n if (hasCustomRenderer) {\n return (\n <CustomizablePropertyRenderer\n highlight={highlight?.applyOnLabel ? highlight : undefined}\n {...primitiveRendererProps}\n />\n );\n }\n\n return (\n <FlatNonPrimitivePropertyRenderer\n {...primitiveRendererProps}\n isExpanded={props.isExpanded}\n onExpandToggled={props.onExpansionToggled}\n valueElement={undefined}\n valueElementRenderer={undefined}\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?: (\n args: PropertyUpdatedArgs,\n category: PropertyCategory\n ) => void;\n\n highlight?: HighlightingComponentProps & {\n applyOnLabel: boolean;\n applyOnValue: boolean;\n };\n}\n\nconst DisplayValue: React.FC<DisplayValueProps> = (props) => {\n useResetHeightOnEdit(\n props.orientation,\n props.isEditing,\n props.onHeightChanged\n );\n\n if (props.isEditing) {\n const _onEditCommit = (args: PropertyUpdatedArgs) => {\n if (props.category) props.onEditCommit?.(args, props.category);\n };\n\n return (\n <EditorContainer\n propertyRecord={props.propertyRecord}\n onCommit={_onEditCommit}\n onCancel={props.onEditCancel ?? (() => {})}\n setFocus={true}\n />\n );\n }\n\n return (\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\nfunction useResetHeightOnEdit(\n orientation: Orientation,\n isEditing?: boolean,\n onHeightChanged?: (newHeight: number) => void\n) {\n const previousEditingStatusRef = React.useRef(isEditing);\n React.useEffect(() => {\n if (!previousEditingStatusRef.current && isEditing) {\n onHeightChanged?.(orientation === Orientation.Vertical ? 48 : 28);\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":["/*---------------------------------------------------------------------------------------------\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 { 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 type { SharedRendererProps } from \"../../../properties/renderers/PropertyRenderer\";\nimport { PropertyValueRendererManager } from \"../../../properties/ValueRendererManager\";\nimport type { PropertyCategory } from \"../../PropertyDataProvider\";\nimport { FlatNonPrimitivePropertyRenderer } from \"./FlatNonPrimitivePropertyRenderer\";\nimport { CustomizablePropertyRenderer } from \"../../../properties/renderers/CustomizablePropertyRenderer\";\nimport { Orientation } from \"../../../common/Orientation\";\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?: (\n args: PropertyUpdatedArgs,\n category: PropertyCategory\n ) => 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 & {\n applyOnLabel: boolean;\n applyOnValue: boolean;\n };\n\n children?: never;\n}\n\n/** A React component that renders flat properties\n * @internal\n */\nexport const FlatPropertyRenderer: React.FC<FlatPropertyRendererProps> = (\n props\n) => {\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 indentation={props.indentation}\n />\n );\n\n const primitiveRendererProps: PrimitiveRendererProps = {\n ...passthroughProps,\n valueElementRenderer,\n indentation: props.indentation,\n };\n\n const rendererManager =\n propertyValueRendererManager ?? PropertyValueRendererManager.defaultManager;\n const hasCustomRenderer = rendererManager.hasCustomRenderer(\n passthroughProps.propertyRecord\n );\n\n switch (props.propertyRecord.value.valueFormat) {\n case PropertyValueFormat.Primitive:\n return (\n <CustomizablePropertyRenderer\n highlight={highlight?.applyOnLabel ? highlight : undefined}\n {...primitiveRendererProps}\n />\n );\n\n case PropertyValueFormat.Array:\n // If array is empty or has a custom renderer registered, render it as a customizable property\n if (props.propertyRecord.value.items.length === 0 || hasCustomRenderer)\n return (\n <CustomizablePropertyRenderer\n highlight={highlight?.applyOnLabel ? highlight : undefined}\n {...primitiveRendererProps}\n />\n );\n\n // eslint-disable-next-line no-fallthrough\n case PropertyValueFormat.Struct:\n // If a custom renderer is registered for the struct property, render it as a customizable property\n if (hasCustomRenderer) {\n return (\n <CustomizablePropertyRenderer\n highlight={highlight?.applyOnLabel ? highlight : undefined}\n {...primitiveRendererProps}\n />\n );\n }\n\n return (\n <FlatNonPrimitivePropertyRenderer\n {...primitiveRendererProps}\n isExpanded={props.isExpanded}\n onExpandToggled={props.onExpansionToggled}\n valueElement={undefined}\n valueElementRenderer={undefined}\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?: (\n args: PropertyUpdatedArgs,\n category: PropertyCategory\n ) => void;\n\n highlight?: HighlightingComponentProps & {\n applyOnLabel: boolean;\n applyOnValue: boolean;\n };\n}\n\nconst DisplayValue: React.FC<DisplayValueProps> = (props) => {\n useResetHeightOnEdit(\n props.orientation,\n props.isEditing,\n props.onHeightChanged\n );\n\n if (props.isEditing) {\n const _onEditCommit = (args: PropertyUpdatedArgs) => {\n if (props.category) props.onEditCommit?.(args, props.category);\n };\n\n return (\n <EditorContainer\n propertyRecord={props.propertyRecord}\n onCommit={_onEditCommit}\n onCancel={props.onEditCancel ?? (() => {})}\n setFocus={true}\n />\n );\n }\n\n return (\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\nfunction useResetHeightOnEdit(\n orientation: Orientation,\n isEditing?: boolean,\n onHeightChanged?: (newHeight: number) => void\n) {\n const previousEditingStatusRef = React.useRef(isEditing);\n React.useEffect(() => {\n if (!previousEditingStatusRef.current && isEditing) {\n onHeightChanged?.(orientation === Orientation.Vertical ? 48 : 28);\n }\n\n previousEditingStatusRef.current = isEditing;\n });\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  import "./Toolbar.scss";
5
5
  import * as React from "react";
6
6
  import type { ActionButton, CommonToolbarItem, CustomButtonDefinition, GroupButton, OnItemExecutedFunc } from "@itwin/appui-abstract";
7
- import type { CommonProps, NoChildrenProps } from "@itwin/core-react";
7
+ import type { BadgeKind, CommonProps, NoChildrenProps } from "@itwin/core-react";
8
8
  import { Direction, OrthogonalDirection } from "./utilities/Direction";
9
9
  import type { BeEvent } from "@itwin/core-bentley";
10
10
  /** Describes the data needed to insert a custom `React` button into an ToolbarWithOverflow.
@@ -89,12 +89,19 @@ export interface ToolbarOverflowContextProps {
89
89
  */
90
90
  export declare const ToolbarWithOverflowDirectionContext: React.Context<ToolbarOverflowContextProps>;
91
91
  /** @internal */
92
- export declare function ToolbarItemComponent({ item, addGroupSeparator, }: {
92
+ export declare function ToolbarItemComponent({ item, addGroupSeparator, badgeKind, }: {
93
93
  item: ToolbarItem;
94
94
  addGroupSeparator: boolean;
95
+ badgeKind?: BadgeKind;
95
96
  }): React.JSX.Element | null;
96
97
  /** @internal */
97
98
  export declare function useToolbarWithOverflowDirectionContext(): ToolbarOverflowContextProps;
99
+ /** Old toolbar item type with new badge type.
100
+ * @internal
101
+ */
102
+ export type CommonToolbarItemWithBadgeKind = CommonToolbarItem & {
103
+ badgeKind?: BadgeKind;
104
+ };
98
105
  /** Properties of [[ToolbarComponent]] component.
99
106
  * @internal
100
107
  */
@@ -108,18 +115,18 @@ NoChildrenProps {
108
115
  overflowExpandsTo?: Direction;
109
116
  };
110
117
  /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */
111
- items: CommonToolbarItem[];
118
+ items: CommonToolbarItemWithBadgeKind[];
112
119
  /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */
113
120
  panelAlignment?: ToolbarPanelAlignment;
114
- /** Use Drag Interaction to open popups with nest action buttons */
121
+ /** Use Drag Interaction to open popups with nest action buttons. */
115
122
  useDragInteraction?: boolean;
116
- /** Determines whether to use mouse proximity to alter the opacity of the toolbar */
123
+ /** Determines whether to use mouse proximity to alter the opacity of the toolbar. */
117
124
  toolbarOpacitySetting?: ToolbarOpacitySetting;
118
- /** Optional function to call on any item execution */
125
+ /** Optional function to call on any item execution. */
119
126
  onItemExecuted?: OnItemExecutedFunc;
120
- /** Optional function to call on any KeyDown events processed by toolbar */
127
+ /** Optional function to call on any KeyDown events processed by toolbar. */
121
128
  onKeyDown?: (e: React.KeyboardEvent) => void;
122
- /** SyncEvents on which the conditional should listen to */
129
+ /** SyncEvents on which the conditional should listen to. */
123
130
  syncUiEvent?: BeEvent<(args: {
124
131
  eventIds: Set<string>;
125
132
  }) => void>;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalToolbarComponent.d.ts","sourceRoot":"","sources":["../../../../src/components-react/toolbar/InternalToolbarComponent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InternalToolbarComponent.d.ts","sourceRoot":"","sources":["../../../../src/components-react/toolbar/InternalToolbarComponent.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,gBAAgB,CAAC;AAExB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAU3B,OAAO,EACL,SAAS,EAET,mBAAmB,EAEpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAInD;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC;kEAC8D;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,wBAAsC,CAAC;AAE/E;;;GAGG;AACH,wBAAgB,8BAA8B,YAE7C;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEzE;;GAEG;AACH,wBAAgB,mBAAmB,CAEjC,IAAI,EAAE,WAAW,GAEhB,IAAI,IAAI,iBAAiB,CAE3B;AAED,gBAAgB;AAChB,eAAO,MAAM,mBAAmB,cACnB,SAAS,KACnB,mBAIF,CAAC;AAEF;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,KAAK,IAAA;IACL,GAAG,IAAA;CACJ;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,8EAA8E;IAC9E,QAAQ,IAAA;IACR,kFAAkF;IAClF,SAAS,IAAA;IACT,gFAAgF;IAChF,WAAW,IAAA;CACZ;AAED;;GAEG;AACH,qBAAa,4BAA4B;IACvC,oDAAoD;IACpD,gBAAuB,gBAAgB,sCAAsC;IAC7E,kDAAkD;IAClD,gBAAuB,cAAc,oCAAoC;IAEzE,iEAAiE;WACnD,eAAe,CAAC,cAAc,EAAE,qBAAqB,GAAG,MAAM;CAQ7E;AAED,gBAAgB;AAChB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC;IACtC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;CACtD;AAED;;;GAGG;AACH,eAAO,MAAM,mCAAmC,4CAc5C,CAAC;AAiJL,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,iBAAiB,EACjB,SAAS,GACV,EAAE;IAED,IAAI,EAAE,WAAW,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,4BA6BA;AAED,gBAAgB;AAChB,wBAAgB,sCAAsC,gCAErD;AAiCD;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG;IAC/D,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,6BACf,SAAQ,WAAW,EAAE,8CAA8C;AAEjE,eAAe;IACjB,oGAAoG;IACpG,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gHAAgH;IAChH,cAAc,CAAC,EACX,OAAO,GACP;QACE,mIAAmI;QACnI,iBAAiB,CAAC,EAAE,SAAS,CAAC;KAC/B,CAAC;IACN,uGAAuG;IACvG,KAAK,EAAE,8BAA8B,EAAE,CAAC;IACxC,8FAA8F;IAC9F,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,uDAAuD;IACvD,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC7C,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC,CAAC;CAClE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBAsP5E;AA+JD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,uCAM7B,CAAC;AAEH,gBAAgB;AAChB,wBAAgB,uBAAuB,2BAEtC"}
@@ -21,7 +21,7 @@ import { PopupItemWithDrag } from "./PopupItemWithDrag";
21
21
  import { Direction, DirectionHelpers, OrthogonalDirection, OrthogonalDirectionHelpers, } from "./utilities/Direction";
22
22
  import { SvgPlaceholder } from "@itwin/itwinui-icons-react";
23
23
  import { useConditionalSynchedItems } from "./useConditionalSynchedItems";
24
- import { useTranslation } from "../useTranslation";
24
+ import { useTranslation } from "../l10n/useTranslation";
25
25
  /**
26
26
  * Context used by Toolbar items to know if popup panel should be hidden - via AutoHide.
27
27
  * @public
@@ -106,32 +106,40 @@ export const ToolbarWithOverflowDirectionContext = React.createContext({
106
106
  onKeyDown: (_e) => void {},
107
107
  });
108
108
  /** @internal */
109
- function CustomItem({ item, addGroupSeparator, }) {
109
+ function CustomItem({ item, addGroupSeparator, badgeKind, }) {
110
110
  const { useDragInteraction } = useToolbarWithOverflowDirectionContext();
111
111
  const icon = React.useMemo(() => (item.icon &&
112
112
  // eslint-disable-next-line deprecation/deprecation
113
- IconHelper.getIconReactNode(item.icon, item.internalData)) || (React.createElement(Icon, { className: "icon", iconSpec: React.createElement(SvgPlaceholder, null) })), [item.icon, item.internalData]);
113
+ IconHelper.getIconReactNode(item.icon, item.internalData)) || (
114
+ // eslint-disable-next-line deprecation/deprecation
115
+ React.createElement(Icon, { className: "icon", iconSpec: React.createElement(SvgPlaceholder, null) })), [item.icon, item.internalData]);
114
116
  const isDisabled = React.useMemo(() => ConditionalBooleanValue.getValue(item.isDisabled), [item.isDisabled]);
115
117
  const title = React.useMemo(() => ConditionalStringValue.getValue(item.label) ?? item.id, [item.id, item.label]);
116
- return (React.createElement(PopupItem, { key: item.id, itemId: item.id, icon: icon, isDisabled: isDisabled, title: title, panel: item.panelContentNode, hideIndicator: useDragInteraction, badge: React.createElement(Badge, { type: item.badgeType }), addGroupSeparator: addGroupSeparator, keepContentsMounted: item.keepContentsLoaded }));
118
+ return (
119
+ // eslint-disable-next-line deprecation/deprecation
120
+ React.createElement(PopupItem, { key: item.id, itemId: item.id, icon: icon, isDisabled: isDisabled, title: title, panel: item.panelContentNode, hideIndicator: useDragInteraction, badge: React.createElement(Badge, { type: badgeKind || item.badgeType }), addGroupSeparator: addGroupSeparator, keepContentsMounted: item.keepContentsLoaded }));
117
121
  }
118
122
  /** @internal */
119
- function GroupPopupItem({ item, addGroupSeparator, }) {
123
+ function GroupPopupItem({ item, addGroupSeparator, badgeKind, }) {
120
124
  const { useDragInteraction } = useToolbarWithOverflowDirectionContext();
121
125
  const title = ConditionalStringValue.getValue(item.label);
122
126
  const panel = React.useMemo(() => React.createElement(PopupItemsPanel, { groupItem: item, activateOnPointerUp: false }), [item]);
123
127
  const providerId = "providerId" in item ? item.providerId : undefined;
124
128
  if (useDragInteraction) {
125
- return (React.createElement(PopupItemWithDrag, { key: item.id, itemId: item.id, providerId: providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority,
129
+ return (
130
+ // eslint-disable-next-line deprecation/deprecation
131
+ React.createElement(PopupItemWithDrag, { key: item.id, itemId: item.id, providerId: providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority,
126
132
  // eslint-disable-next-line deprecation/deprecation
127
- icon: IconHelper.getIconReactNode(item.icon, item.internalData), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), title: title, groupItem: item, badge: React.createElement(Badge, { type: item.badgeType }), addGroupSeparator: addGroupSeparator }));
133
+ icon: IconHelper.getIconReactNode(item.icon, item.internalData), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), title: title, groupItem: item, badge: React.createElement(Badge, { type: badgeKind || item.badgeType }), addGroupSeparator: addGroupSeparator }));
128
134
  }
129
- return (React.createElement(PopupItem, { key: item.id, itemId: item.id, providerId: providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority,
135
+ return (
136
+ // eslint-disable-next-line deprecation/deprecation
137
+ React.createElement(PopupItem, { key: item.id, itemId: item.id, providerId: providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority,
130
138
  // eslint-disable-next-line deprecation/deprecation
131
- icon: IconHelper.getIconReactNode(item.icon, item.internalData), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), title: title, panel: panel, badge: React.createElement(Badge, { type: item.badgeType }), hideIndicator: useDragInteraction, addGroupSeparator: addGroupSeparator }));
139
+ icon: IconHelper.getIconReactNode(item.icon, item.internalData), isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), title: title, panel: panel, badge: React.createElement(Badge, { type: badgeKind || item.badgeType }), hideIndicator: useDragInteraction, addGroupSeparator: addGroupSeparator }));
132
140
  }
133
141
  /** @internal */
134
- function ActionItem({ item, addGroupSeparator, }) {
142
+ function ActionItem({ item, addGroupSeparator, badgeKind, }) {
135
143
  const title = ConditionalStringValue.getValue(item.label);
136
144
  const { onItemExecuted } = useToolbarWithOverflowDirectionContext();
137
145
  const onExecute = React.useCallback(() => {
@@ -141,19 +149,19 @@ function ActionItem({ item, addGroupSeparator, }) {
141
149
  const providerId = "providerId" in item ? item.providerId : undefined;
142
150
  return (React.createElement(ToolbarButtonItem, { itemId: item.id, providerId: providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority, key: item.id, isDisabled: ConditionalBooleanValue.getValue(item.isDisabled), title: title,
143
151
  // eslint-disable-next-line deprecation/deprecation
144
- icon: IconHelper.getIconReactNode(item.icon, item.internalData), isActive: item.isActive, onClick: onExecute, badge: React.createElement(Badge, { type: item.badgeType }), addGroupSeparator: addGroupSeparator }));
152
+ icon: IconHelper.getIconReactNode(item.icon, item.internalData), isActive: item.isActive, onClick: onExecute, badge: React.createElement(Badge, { type: badgeKind || item.badgeType }), addGroupSeparator: addGroupSeparator }));
145
153
  }
146
154
  /** @internal */
147
- export function ToolbarItemComponent({ item, addGroupSeparator, }) {
155
+ export function ToolbarItemComponent({ item, addGroupSeparator, badgeKind, }) {
148
156
  if (ToolbarItemUtilities.isGroupButton(item)) {
149
- return React.createElement(GroupPopupItem, { item: item, addGroupSeparator: addGroupSeparator });
157
+ return (React.createElement(GroupPopupItem, { item: item, addGroupSeparator: addGroupSeparator, badgeKind: badgeKind }));
150
158
  }
151
159
  else if (isCustomToolbarItem(item)) {
152
- return React.createElement(CustomItem, { item: item, addGroupSeparator: addGroupSeparator });
160
+ return (React.createElement(CustomItem, { item: item, addGroupSeparator: addGroupSeparator, badgeKind: badgeKind }));
153
161
  }
154
162
  else {
155
163
  if (ToolbarItemUtilities.isActionButton(item)) {
156
- return React.createElement(ActionItem, { item: item, addGroupSeparator: addGroupSeparator });
164
+ return (React.createElement(ActionItem, { item: item, addGroupSeparator: addGroupSeparator, badgeKind: badgeKind }));
157
165
  }
158
166
  }
159
167
  return null;
@@ -175,7 +183,7 @@ function getItemWrapperClass(child) {
175
183
  /**
176
184
  * Recursively looks through all items and groups and removes the hidden items
177
185
  * from the working object.
178
- * @param items List of object to analyse
186
+ * @param items List of object to analyze.
179
187
  * @returns Copy of the provided items, minus the hidden ones.
180
188
  */
181
189
  function filterHiddenItems(items) {
@@ -228,7 +236,7 @@ export function InternalToolbarComponent(props) {
228
236
  if (index > 0)
229
237
  addGroupSeparator =
230
238
  item.groupPriority !== filteredItems[index - 1].groupPriority;
231
- return (React.createElement(ToolbarItemComponent, { key: item.id, item: item, addGroupSeparator: !!addGroupSeparator }));
239
+ return (React.createElement(ToolbarItemComponent, { key: item.id, item: item, addGroupSeparator: !!addGroupSeparator, badgeKind: item.badgeKind }));
232
240
  });
233
241
  }, [eventSynchedItems]);
234
242
  /* overflowItemKeys - keys of items to show in overflow panel
@@ -1 +1 @@
1
- {"version":3,"file":"InternalToolbarComponent.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/InternalToolbarComponent.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 Toolbar\n */\n\nimport \"./Toolbar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n ActionButton,\n CommonToolbarItem,\n CustomButtonDefinition,\n GroupButton,\n OnItemExecutedFunc,\n} from \"@itwin/appui-abstract\";\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n ToolbarItemUtilities,\n} from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport { Badge, Icon, IconHelper } from \"@itwin/core-react\";\nimport { ToolbarButtonItem } from \"./Item\";\nimport { ToolbarItems } from \"./Items\";\nimport { ItemWrapper, useResizeObserverSingleDimension } from \"./ItemWrapper\";\nimport { ToolbarOverflowButton } from \"./Overflow\";\nimport { ToolbarOverflowPanel } from \"./OverflowPanel\";\nimport { PopupItem } from \"./PopupItem\";\nimport { PopupItemsPanel } from \"./PopupItemsPanel\";\nimport { PopupItemWithDrag } from \"./PopupItemWithDrag\";\nimport {\n Direction,\n DirectionHelpers,\n OrthogonalDirection,\n OrthogonalDirectionHelpers,\n} from \"./utilities/Direction\";\nimport { SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { useConditionalSynchedItems } from \"./useConditionalSynchedItems\";\nimport { useTranslation } from \"../useTranslation\";\n\n/** Describes the data needed to insert a custom `React` button into an ToolbarWithOverflow.\n * @public\n * @deprecated in 4.0.0. Use [ToolbarCustomItem]($appui-react) instead.\n */\nexport interface CustomToolbarItem extends CustomButtonDefinition {\n /** defines the content to display in popup panel */\n panelContentNode?: React.ReactNode;\n /** If true the popup panel is mounted once and unmounted when button is unmounted. If false the\n * content node is unmounted each time the popup is closed. */\n keepContentsLoaded?: boolean;\n}\n\n/**\n * Context used by Toolbar items to know if popup panel should be hidden - via AutoHide.\n * @public\n */\nexport const ToolbarPopupAutoHideContext = React.createContext<boolean>(false);\n\n/**\n * React hook used to retrieve the ToolbarPopupAutoHideContext.\n * @public\n */\nexport function useToolbarPopupAutoHideContext() {\n return React.useContext(ToolbarPopupAutoHideContext);\n}\n\n/** Describes toolbar item.\n * @public\n * @deprecated in 4.0.0. Use [ToolbarItem]($appui-react) instead.\n */\nexport type ToolbarItem = ActionButton | GroupButton | CustomToolbarItem; // eslint-disable-line deprecation/deprecation\n\n/** CustomToolbarItem type guard.\n * @internal\n */\nexport function isCustomToolbarItem(\n // eslint-disable-next-line deprecation/deprecation\n item: ToolbarItem\n // eslint-disable-next-line deprecation/deprecation\n): item is CustomToolbarItem {\n return !!(item as CustomToolbarItem).isCustom && \"panelContentNode\" in item; // eslint-disable-line deprecation/deprecation\n}\n\n/** @internal */\nexport const getToolbarDirection = (\n expandsTo: Direction\n): OrthogonalDirection => {\n const orthogonalDirection =\n DirectionHelpers.getOrthogonalDirection(expandsTo);\n return OrthogonalDirectionHelpers.inverse(orthogonalDirection);\n};\n\n/** Available alignment modes of [[Toolbar]] panels.\n * @public\n */\nexport enum ToolbarPanelAlignment {\n Start,\n End,\n}\n\n/** Enumeration of Toolbar Opacity setting.\n * @public\n */\nexport enum ToolbarOpacitySetting {\n /** Use the default background, box-shadow opacity and backdrop-filter blur */\n Defaults,\n /** Alter the opacity from transparent to the defaults based on mouse proximity */\n Proximity,\n /** Use a transparent background, box-shadow opacity and backdrop-filter blur */\n Transparent,\n}\n\n/** Helpers for [[ToolbarPanelAlignment]].\n * @internal\n */\nexport class ToolbarPanelAlignmentHelpers {\n /** Class name of [[ToolbarPanelAlignment.Start]] */\n public static readonly START_CLASS_NAME = \"components-panel-alignment-start\";\n /** Class name of [[ToolbarPanelAlignment.End]] */\n public static readonly END_CLASS_NAME = \"components-panel-alignment-end\";\n\n /** @returns Class name of specified [[ToolbarPanelAlignment]] */\n public static getCssClassName(panelAlignment: ToolbarPanelAlignment): string {\n switch (panelAlignment) {\n case ToolbarPanelAlignment.Start:\n return ToolbarPanelAlignmentHelpers.START_CLASS_NAME;\n case ToolbarPanelAlignment.End:\n return ToolbarPanelAlignmentHelpers.END_CLASS_NAME;\n }\n }\n}\n\n/** @internal */\nexport interface ToolbarOverflowContextProps {\n readonly expandsTo: Direction;\n readonly direction: OrthogonalDirection;\n readonly overflowExpandsTo: Direction;\n readonly overflowDirection: OrthogonalDirection;\n readonly panelAlignment: ToolbarPanelAlignment;\n readonly useDragInteraction: boolean;\n readonly toolbarOpacitySetting: ToolbarOpacitySetting;\n readonly openPopupCount: number;\n readonly onPopupPanelOpenClose: (isOpening: boolean) => void;\n readonly overflowDisplayActive: boolean;\n readonly onItemExecuted: OnItemExecutedFunc;\n readonly onKeyDown: (e: React.KeyboardEvent) => void;\n}\n\n/**\n * Context used by Toolbar component to provide Direction to child components.\n * @internal\n */\nexport const ToolbarWithOverflowDirectionContext =\n React.createContext<ToolbarOverflowContextProps>({\n expandsTo: Direction.Bottom,\n direction: OrthogonalDirection.Horizontal,\n overflowExpandsTo: Direction.Right,\n overflowDirection: OrthogonalDirection.Vertical,\n panelAlignment: ToolbarPanelAlignment.Start,\n useDragInteraction: false,\n toolbarOpacitySetting: ToolbarOpacitySetting.Proximity,\n openPopupCount: 0,\n onPopupPanelOpenClose: (_isOpening: boolean) => {},\n overflowDisplayActive: false,\n onItemExecuted: (_item: any) => void {},\n onKeyDown: (_e: React.KeyboardEvent) => void {},\n });\n\n/** @internal */\nfunction CustomItem({\n item,\n addGroupSeparator,\n}: {\n // eslint-disable-next-line deprecation/deprecation\n item: CustomToolbarItem;\n addGroupSeparator: boolean;\n}) {\n const { useDragInteraction } = useToolbarWithOverflowDirectionContext();\n const icon = React.useMemo(\n () =>\n (item.icon &&\n // eslint-disable-next-line deprecation/deprecation\n IconHelper.getIconReactNode(item.icon, item.internalData)) || (\n <Icon className=\"icon\" iconSpec={<SvgPlaceholder />} />\n ),\n [item.icon, item.internalData]\n );\n const isDisabled = React.useMemo(\n () => ConditionalBooleanValue.getValue(item.isDisabled),\n [item.isDisabled]\n );\n const title = React.useMemo(\n () => ConditionalStringValue.getValue(item.label) ?? item.id,\n [item.id, item.label]\n );\n\n return (\n <PopupItem\n key={item.id}\n itemId={item.id}\n icon={icon}\n isDisabled={isDisabled}\n title={title}\n panel={item.panelContentNode}\n hideIndicator={useDragInteraction}\n badge={<Badge type={item.badgeType} />}\n addGroupSeparator={addGroupSeparator}\n keepContentsMounted={item.keepContentsLoaded}\n />\n );\n}\n\n/** @internal */\nfunction GroupPopupItem({\n item,\n addGroupSeparator,\n}: {\n item: GroupButton;\n addGroupSeparator: boolean;\n}) {\n const { useDragInteraction } = useToolbarWithOverflowDirectionContext();\n const title = ConditionalStringValue.getValue(item.label)!;\n const panel = React.useMemo(\n () => <PopupItemsPanel groupItem={item} activateOnPointerUp={false} />,\n [item]\n );\n const providerId =\n \"providerId\" in item ? (item.providerId as string) : undefined;\n if (useDragInteraction) {\n return (\n <PopupItemWithDrag\n key={item.id}\n itemId={item.id}\n providerId={providerId}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n // eslint-disable-next-line deprecation/deprecation\n icon={IconHelper.getIconReactNode(item.icon, item.internalData)}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n title={title}\n groupItem={item}\n badge={<Badge type={item.badgeType} />}\n addGroupSeparator={addGroupSeparator}\n />\n );\n }\n return (\n <PopupItem\n key={item.id}\n itemId={item.id}\n providerId={providerId}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n // eslint-disable-next-line deprecation/deprecation\n icon={IconHelper.getIconReactNode(item.icon, item.internalData)}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n title={title}\n panel={panel}\n badge={<Badge type={item.badgeType} />}\n hideIndicator={useDragInteraction}\n addGroupSeparator={addGroupSeparator}\n />\n );\n}\n\n/** @internal */\nfunction ActionItem({\n item,\n addGroupSeparator,\n}: {\n item: ActionButton;\n addGroupSeparator: boolean;\n}) {\n const title = ConditionalStringValue.getValue(item.label)!;\n const { onItemExecuted } = useToolbarWithOverflowDirectionContext();\n const onExecute = React.useCallback(() => {\n item.execute();\n onItemExecuted(item);\n }, [item, onItemExecuted]);\n\n const providerId =\n \"providerId\" in item ? (item.providerId as string) : undefined;\n return (\n <ToolbarButtonItem\n itemId={item.id}\n providerId={providerId}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n key={item.id}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n title={title}\n // eslint-disable-next-line deprecation/deprecation\n icon={IconHelper.getIconReactNode(item.icon, item.internalData)}\n isActive={item.isActive}\n onClick={onExecute}\n badge={<Badge type={item.badgeType} />}\n addGroupSeparator={addGroupSeparator}\n />\n );\n}\n\n/** @internal */\nexport function ToolbarItemComponent({\n item,\n addGroupSeparator,\n}: {\n // eslint-disable-next-line deprecation/deprecation\n item: ToolbarItem;\n addGroupSeparator: boolean;\n}) {\n if (ToolbarItemUtilities.isGroupButton(item)) {\n return <GroupPopupItem item={item} addGroupSeparator={addGroupSeparator} />;\n } else if (isCustomToolbarItem(item)) {\n return <CustomItem item={item} addGroupSeparator={addGroupSeparator} />;\n } else {\n if (ToolbarItemUtilities.isActionButton(item)) {\n return <ActionItem item={item} addGroupSeparator={addGroupSeparator} />;\n }\n }\n return null;\n}\n\n/** @internal */\nexport function useToolbarWithOverflowDirectionContext() {\n return React.useContext(ToolbarWithOverflowDirectionContext);\n}\n\nfunction OverflowItemsContainer(p: { children: React.ReactNode }) {\n return <>{p.children}</>;\n}\n\nfunction getItemWrapperClass(child: React.ReactNode) {\n if (React.isValidElement(child)) {\n if (child.props && child.props.addGroupSeparator)\n return \"components-toolbar-button-add-gap-before\";\n }\n return undefined;\n}\n\n/**\n * Recursively looks through all items and groups and removes the hidden items\n * from the working object.\n * @param items List of object to analyse\n * @returns Copy of the provided items, minus the hidden ones.\n */\nfunction filterHiddenItems<T extends CommonToolbarItem>(\n items: ReadonlyArray<T>\n): T[] {\n return items\n .filter((item) => !ConditionalBooleanValue.getValue(item.isHidden))\n .map((i) => {\n if (\"items\" in i) {\n return { ...i, items: filterHiddenItems(i.items) };\n }\n return i;\n });\n}\n\n/** Properties of [[ToolbarComponent]] component.\n * @internal\n */\nexport interface InternalToolbarComponentProps\n extends CommonProps, // eslint-disable-line deprecation/deprecation\n // eslint-disable-next-line deprecation/deprecation\n NoChildrenProps {\n /** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes if items that do not fit available space should move to an expandable panel. Defaults to: false */\n enableOverflow?:\n | boolean\n | {\n /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n };\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: CommonToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /** SyncEvents on which the conditional should listen to */\n syncUiEvent?: BeEvent<(args: { eventIds: Set<string> }) => void>;\n}\n\n/** Component that displays toolbar items.\n * @internal\n */\nexport function InternalToolbarComponent(props: InternalToolbarComponentProps) {\n const expandsTo = props.expandsTo ? props.expandsTo : Direction.Bottom;\n const useDragInteraction = !!props.useDragInteraction;\n const panelAlignment = props.panelAlignment\n ? props.panelAlignment\n : ToolbarPanelAlignment.Start;\n const useHeight =\n expandsTo === Direction.Right || expandsTo === Direction.Left;\n const { translate } = useTranslation();\n const [isOverflowPanelOpen, setIsOverflowPanelOpen] = React.useState(false);\n const [popupPanelCount, setPopupPanelCount] = React.useState(0);\n const isMounted = React.useRef(false);\n React.useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n });\n const handlePopupPanelOpenClose = React.useCallback((isOpening: boolean) => {\n // use setTimeout to avoid warning about setting state in ToolbarWithOverflow from render method of PopupItem/PopupItemWithDrag\n setTimeout(() => {\n if (!isMounted.current) return;\n setPopupPanelCount((prev) => {\n const nextCount = isOpening ? prev + 1 : prev - 1;\n return nextCount < 0 ? 0 : nextCount;\n });\n });\n }, []);\n\n const width = React.useRef<number | undefined>(undefined);\n\n const eventSynchedItems = useConditionalSynchedItems(\n props.items,\n props.syncUiEvent\n );\n\n const availableNodes = React.useMemo<React.ReactNode>(() => {\n const filteredItems = filterHiddenItems(eventSynchedItems);\n return filteredItems.map((item, index) => {\n let addGroupSeparator = false;\n if (index > 0)\n addGroupSeparator =\n item.groupPriority !== filteredItems[index - 1].groupPriority;\n return (\n <ToolbarItemComponent\n key={item.id}\n item={item}\n addGroupSeparator={!!addGroupSeparator}\n />\n );\n });\n }, [eventSynchedItems]);\n /* overflowItemKeys - keys of items to show in overflow panel\n * handleContainerResize - handler called when container <div> is resized.\n * handleOverflowResize - handler called when determining size of overflow indicator/button.\n * handleEntryResize - handler called when determining size of each item/button. */\n const [\n overflowItemKeys,\n handleContainerResize,\n handleOverflowResize,\n handleEntryResize,\n ] = useOverflow(availableNodes, panelAlignment === ToolbarPanelAlignment.End);\n // handler called by ResizeObserver\n const handleResize = React.useCallback(\n (w: number) => {\n width.current = w;\n width.current !== undefined && handleContainerResize(width.current);\n },\n [handleContainerResize]\n );\n const resizeObserverRef = useResizeObserverSingleDimension(\n handleResize,\n useHeight\n );\n const handleClick = React.useCallback(() => {\n setIsOverflowPanelOpen((prev) => !prev);\n }, []);\n const handleClose = React.useCallback(() => {\n setIsOverflowPanelOpen(false);\n }, []);\n\n // Not setting the ref will disable overflow management, but will keep proper refresh of items.\n const ref = props.enableOverflow ? resizeObserverRef : undefined;\n const availableItems = React.Children.toArray(availableNodes);\n const displayedItems = availableItems.reduce<\n Array<[string, React.ReactNode]>\n >((acc, child, index) => {\n const key = getChildKey(child, index);\n if (!overflowItemKeys || overflowItemKeys.indexOf(key) < 0) {\n acc.push([key, child]);\n }\n return acc;\n }, []);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const overflowPanelItems = overflowItemKeys\n ? availableItems.reduce<Array<[string, React.ReactNode]>>(\n (acc, child, index) => {\n const key = getChildKey(child, index);\n if (overflowItemKeys.indexOf(key) >= 0) {\n acc.push([key, child]);\n }\n return acc;\n },\n []\n )\n : [];\n\n const direction = getToolbarDirection(expandsTo);\n const overflowExpandsTo =\n (typeof props.enableOverflow !== \"boolean\" &&\n props.enableOverflow?.overflowExpandsTo) ||\n Direction.Right;\n const addOverflowButton = React.useCallback(\n (atStart: boolean) => {\n const overflowItems = !!atStart\n ? overflowPanelItems.reverse()\n : overflowPanelItems;\n return (\n <ToolbarItemContext.Provider\n value={{\n hasOverflow: false,\n useHeight,\n onResize: handleOverflowResize,\n }}\n >\n <ToolbarOverflowButton\n expandsTo={expandsTo}\n onClick={handleClick}\n onClose={handleClose}\n open={overflowItems.length > 0 && isOverflowPanelOpen}\n panelNode={\n <ToolbarOverflowPanel>\n <OverflowItemsContainer>\n {overflowItems.map(([key, child]) => {\n return (\n <ToolbarItemContext.Provider\n key={key}\n value={{\n hasOverflow: true,\n useHeight,\n onResize: () => {},\n }}\n >\n {\n <ItemWrapper className={getItemWrapperClass(child)}>\n {child}\n </ItemWrapper>\n }\n </ToolbarItemContext.Provider>\n );\n })}\n </OverflowItemsContainer>\n </ToolbarOverflowPanel>\n }\n title={translate(\"toolbar.overflow\")}\n />\n </ToolbarItemContext.Provider>\n );\n },\n [\n overflowPanelItems,\n useHeight,\n handleOverflowResize,\n expandsTo,\n handleClick,\n handleClose,\n isOverflowPanelOpen,\n translate,\n ]\n );\n\n const className = classnames(\n \"components-toolbar-overflow-sizer\",\n OrthogonalDirectionHelpers.getCssClassName(direction),\n props.className\n );\n\n const showOverflowAtStart =\n direction === OrthogonalDirection.Horizontal &&\n panelAlignment === ToolbarPanelAlignment.End;\n /* The ItemWrapper is used to wrap the <Item> <ExpandableItem> with a <div> that specifies a ref that the sizing logic uses to determine the\n size of the item. */\n return (\n <ToolbarWithOverflowDirectionContext.Provider\n value={{\n expandsTo,\n direction,\n overflowExpandsTo,\n panelAlignment,\n useDragInteraction,\n toolbarOpacitySetting:\n props.toolbarOpacitySetting ?? ToolbarOpacitySetting.Proximity,\n overflowDirection:\n direction === OrthogonalDirection.Horizontal\n ? OrthogonalDirection.Vertical\n : OrthogonalDirection.Horizontal,\n openPopupCount: popupPanelCount,\n onPopupPanelOpenClose: handlePopupPanelOpenClose,\n overflowDisplayActive:\n overflowPanelItems.length > 0 && isOverflowPanelOpen,\n onItemExecuted: props.onItemExecuted ? props.onItemExecuted : () => {},\n onKeyDown: props.onKeyDown\n ? props.onKeyDown\n : (_e: React.KeyboardEvent) => {},\n }}\n >\n {availableItems.length > 0 && (\n <div\n className={className}\n ref={ref}\n style={props.style}\n onKeyDown={props.onKeyDown}\n role=\"presentation\"\n >\n <ToolbarItems className=\"components-items\" direction={direction}>\n {props.enableOverflow &&\n (!overflowItemKeys || overflowItemKeys.length > 0) &&\n showOverflowAtStart &&\n addOverflowButton(true)}\n {displayedItems.map(([key, child]) => {\n const onEntryResize = handleEntryResize(key);\n return (\n <ToolbarItemContext.Provider\n key={key}\n value={{\n hasOverflow: false,\n useHeight,\n onResize: onEntryResize,\n }}\n >\n <ItemWrapper className={getItemWrapperClass(child)}>\n {child}\n </ItemWrapper>\n </ToolbarItemContext.Provider>\n );\n })}\n {props.enableOverflow &&\n (!overflowItemKeys || overflowItemKeys.length > 0) &&\n !showOverflowAtStart &&\n addOverflowButton(false)}\n </ToolbarItems>\n </div>\n )}\n </ToolbarWithOverflowDirectionContext.Provider>\n );\n}\n\n/** Returns key of a child. Must be used along with React.Children.toArray to preserve the semantics of availableItems.\n * @internal\n */\nfunction getChildKey(child: React.ReactNode, index: number) {\n if (React.isValidElement(child) && child.key !== null) {\n return child.key.toString();\n }\n return index.toString();\n}\n\n/** Returns a subset of toolbar item entry keys that exceed given width and should be overflowItemKeys.\n * @internal\n */\nfunction determineOverflowItems(\n size: number,\n entries: ReadonlyArray<readonly [string, number]>,\n overflowButtonSize: number,\n overflowButtonAtStart: boolean\n): string[] {\n let toolbarSize = 0;\n const buttonPadding = 2;\n if (overflowButtonAtStart && entries.length > 0) {\n let i = entries.length - 1;\n for (; i >= 0; i--) {\n const w = entries[i][1] + buttonPadding;\n const newSettingsWidth = toolbarSize + w;\n if (newSettingsWidth > size) {\n toolbarSize += overflowButtonSize + buttonPadding;\n break;\n }\n toolbarSize = newSettingsWidth;\n }\n if (i >= 0) {\n let j = i + 1;\n for (; j < entries.length; j++) {\n if (toolbarSize <= size) break;\n const w = entries[j][1] + buttonPadding;\n toolbarSize -= w;\n }\n\n return entries.slice(0, j).map((e) => e[0]);\n } else {\n return [];\n }\n } else {\n let i = 0;\n for (; i < entries.length; i++) {\n const w = entries[i][1] + buttonPadding;\n const newSettingsWidth = toolbarSize + w;\n if (newSettingsWidth > size) {\n toolbarSize += overflowButtonSize + buttonPadding;\n break;\n }\n toolbarSize = newSettingsWidth;\n }\n let j = i;\n for (; j > 0; j--) {\n if (toolbarSize <= size) break;\n const w = entries[j][1] + buttonPadding;\n toolbarSize -= w;\n }\n\n return entries.slice(j).map((e) => e[0]);\n }\n}\n\n/** Hook that returns a list of overflowItemKeys availableItems.\n * @internal\n */\nfunction useOverflow(\n availableItems: React.ReactNode,\n overflowButtonAtStart: boolean\n): [\n ReadonlyArray<string> | undefined,\n (size: number) => void,\n (size: number) => void,\n (key: string) => (size: number) => void\n] {\n const [overflowItemKeys, setOverflown] =\n React.useState<ReadonlyArray<string>>();\n const itemSizes = React.useRef(new Map<string, number | undefined>());\n const size = React.useRef<number | undefined>(undefined);\n const overflowButtonSize = React.useRef<number | undefined>(undefined);\n\n const calculateOverflow = React.useCallback(() => {\n const sizes = verifiedMapEntries(itemSizes.current);\n if (\n size.current === undefined ||\n sizes === undefined ||\n overflowButtonSize.current === undefined\n ) {\n setOverflown(undefined);\n return;\n }\n\n // Calculate overflow.\n const newOverflown = determineOverflowItems(\n size.current,\n [...sizes.entries()],\n overflowButtonSize.current,\n overflowButtonAtStart\n );\n setOverflown((prevOverflown) => {\n return eql(prevOverflown, newOverflown) ? prevOverflown : newOverflown;\n });\n }, [overflowButtonAtStart]);\n\n React.useLayoutEffect(() => {\n const newEntryWidths = new Map<string, number | undefined>();\n const array = React.Children.toArray(availableItems);\n for (let i = 0; i < array.length; i++) {\n const child = array[i];\n const key = getChildKey(child, i);\n const lastW = itemSizes.current.get(key);\n newEntryWidths.set(key, lastW);\n }\n itemSizes.current = newEntryWidths;\n calculateOverflow();\n }, [availableItems, calculateOverflow]);\n\n const handleContainerResize = React.useCallback(\n (w: number) => {\n const calculate = size.current !== w;\n size.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleOverflowResize = React.useCallback(\n (w: number) => {\n const calculate = overflowButtonSize.current !== w;\n overflowButtonSize.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleEntryResize = React.useCallback(\n (key: string) => (w: number) => {\n const oldW = itemSizes.current.get(key);\n if (oldW !== w) {\n itemSizes.current.set(key, w);\n calculateOverflow();\n }\n },\n [calculateOverflow]\n );\n\n return [\n overflowItemKeys,\n handleContainerResize,\n handleOverflowResize,\n handleEntryResize,\n ];\n}\n\n/** Interface toolbars use to define context for its items.\n * @internal\n */\nexport interface ToolbarItemContextArgs {\n readonly hasOverflow: boolean;\n readonly useHeight: boolean;\n readonly onResize: (w: number) => void;\n}\n\n/** Interface toolbars use to define context for its items.\n * @internal\n */\nexport const ToolbarItemContext = React.createContext<ToolbarItemContextArgs>({\n hasOverflow: false,\n useHeight: false,\n onResize: () => {\n // intentionally do nothing by default.\n },\n});\n\n/** @internal */\nexport function useToolItemEntryContext() {\n return React.useContext(ToolbarItemContext);\n}\n\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\n for (const [, val] of map) {\n if (val === undefined) return undefined;\n }\n return map as Map<string, T>;\n}\n\nfunction eql(prev: readonly string[] | undefined, value: readonly string[]) {\n if (!prev) return false;\n if (prev.length !== value.length) return false;\n for (let i = 0; i < prev.length; i++) {\n const p = prev[i];\n const v = value[i];\n if (p !== v) return false;\n }\n return true;\n}\n"]}
1
+ {"version":3,"file":"InternalToolbarComponent.js","sourceRoot":"","sources":["../../../../src/components-react/toolbar/InternalToolbarComponent.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 Toolbar\n */\n\nimport \"./Toolbar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type {\n ActionButton,\n CommonToolbarItem,\n CustomButtonDefinition,\n GroupButton,\n OnItemExecutedFunc,\n} from \"@itwin/appui-abstract\";\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n ToolbarItemUtilities,\n} from \"@itwin/appui-abstract\";\nimport type {\n BadgeKind,\n CommonProps,\n NoChildrenProps,\n} from \"@itwin/core-react\";\nimport { Badge, Icon, IconHelper } from \"@itwin/core-react\";\nimport { ToolbarButtonItem } from \"./Item\";\nimport { ToolbarItems } from \"./Items\";\nimport { ItemWrapper, useResizeObserverSingleDimension } from \"./ItemWrapper\";\nimport { ToolbarOverflowButton } from \"./Overflow\";\nimport { ToolbarOverflowPanel } from \"./OverflowPanel\";\nimport { PopupItem } from \"./PopupItem\";\nimport { PopupItemsPanel } from \"./PopupItemsPanel\";\nimport { PopupItemWithDrag } from \"./PopupItemWithDrag\";\nimport {\n Direction,\n DirectionHelpers,\n OrthogonalDirection,\n OrthogonalDirectionHelpers,\n} from \"./utilities/Direction\";\nimport { SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\nimport type { BeEvent } from \"@itwin/core-bentley\";\nimport { useConditionalSynchedItems } from \"./useConditionalSynchedItems\";\nimport { useTranslation } from \"../l10n/useTranslation\";\n\n/** Describes the data needed to insert a custom `React` button into an ToolbarWithOverflow.\n * @public\n * @deprecated in 4.0.0. Use [ToolbarCustomItem]($appui-react) instead.\n */\nexport interface CustomToolbarItem extends CustomButtonDefinition {\n /** defines the content to display in popup panel */\n panelContentNode?: React.ReactNode;\n /** If true the popup panel is mounted once and unmounted when button is unmounted. If false the\n * content node is unmounted each time the popup is closed. */\n keepContentsLoaded?: boolean;\n}\n\n/**\n * Context used by Toolbar items to know if popup panel should be hidden - via AutoHide.\n * @public\n */\nexport const ToolbarPopupAutoHideContext = React.createContext<boolean>(false);\n\n/**\n * React hook used to retrieve the ToolbarPopupAutoHideContext.\n * @public\n */\nexport function useToolbarPopupAutoHideContext() {\n return React.useContext(ToolbarPopupAutoHideContext);\n}\n\n/** Describes toolbar item.\n * @public\n * @deprecated in 4.0.0. Use [ToolbarItem]($appui-react) instead.\n */\nexport type ToolbarItem = ActionButton | GroupButton | CustomToolbarItem; // eslint-disable-line deprecation/deprecation\n\n/** CustomToolbarItem type guard.\n * @internal\n */\nexport function isCustomToolbarItem(\n // eslint-disable-next-line deprecation/deprecation\n item: ToolbarItem\n // eslint-disable-next-line deprecation/deprecation\n): item is CustomToolbarItem {\n return !!(item as CustomToolbarItem).isCustom && \"panelContentNode\" in item; // eslint-disable-line deprecation/deprecation\n}\n\n/** @internal */\nexport const getToolbarDirection = (\n expandsTo: Direction\n): OrthogonalDirection => {\n const orthogonalDirection =\n DirectionHelpers.getOrthogonalDirection(expandsTo);\n return OrthogonalDirectionHelpers.inverse(orthogonalDirection);\n};\n\n/** Available alignment modes of [[Toolbar]] panels.\n * @public\n */\nexport enum ToolbarPanelAlignment {\n Start,\n End,\n}\n\n/** Enumeration of Toolbar Opacity setting.\n * @public\n */\nexport enum ToolbarOpacitySetting {\n /** Use the default background, box-shadow opacity and backdrop-filter blur */\n Defaults,\n /** Alter the opacity from transparent to the defaults based on mouse proximity */\n Proximity,\n /** Use a transparent background, box-shadow opacity and backdrop-filter blur */\n Transparent,\n}\n\n/** Helpers for [[ToolbarPanelAlignment]].\n * @internal\n */\nexport class ToolbarPanelAlignmentHelpers {\n /** Class name of [[ToolbarPanelAlignment.Start]] */\n public static readonly START_CLASS_NAME = \"components-panel-alignment-start\";\n /** Class name of [[ToolbarPanelAlignment.End]] */\n public static readonly END_CLASS_NAME = \"components-panel-alignment-end\";\n\n /** @returns Class name of specified [[ToolbarPanelAlignment]] */\n public static getCssClassName(panelAlignment: ToolbarPanelAlignment): string {\n switch (panelAlignment) {\n case ToolbarPanelAlignment.Start:\n return ToolbarPanelAlignmentHelpers.START_CLASS_NAME;\n case ToolbarPanelAlignment.End:\n return ToolbarPanelAlignmentHelpers.END_CLASS_NAME;\n }\n }\n}\n\n/** @internal */\nexport interface ToolbarOverflowContextProps {\n readonly expandsTo: Direction;\n readonly direction: OrthogonalDirection;\n readonly overflowExpandsTo: Direction;\n readonly overflowDirection: OrthogonalDirection;\n readonly panelAlignment: ToolbarPanelAlignment;\n readonly useDragInteraction: boolean;\n readonly toolbarOpacitySetting: ToolbarOpacitySetting;\n readonly openPopupCount: number;\n readonly onPopupPanelOpenClose: (isOpening: boolean) => void;\n readonly overflowDisplayActive: boolean;\n readonly onItemExecuted: OnItemExecutedFunc;\n readonly onKeyDown: (e: React.KeyboardEvent) => void;\n}\n\n/**\n * Context used by Toolbar component to provide Direction to child components.\n * @internal\n */\nexport const ToolbarWithOverflowDirectionContext =\n React.createContext<ToolbarOverflowContextProps>({\n expandsTo: Direction.Bottom,\n direction: OrthogonalDirection.Horizontal,\n overflowExpandsTo: Direction.Right,\n overflowDirection: OrthogonalDirection.Vertical,\n panelAlignment: ToolbarPanelAlignment.Start,\n useDragInteraction: false,\n toolbarOpacitySetting: ToolbarOpacitySetting.Proximity,\n openPopupCount: 0,\n onPopupPanelOpenClose: (_isOpening: boolean) => {},\n overflowDisplayActive: false,\n onItemExecuted: (_item: any) => void {},\n onKeyDown: (_e: React.KeyboardEvent) => void {},\n });\n\n/** @internal */\nfunction CustomItem({\n item,\n addGroupSeparator,\n badgeKind,\n}: {\n // eslint-disable-next-line deprecation/deprecation\n item: CustomToolbarItem;\n addGroupSeparator: boolean;\n badgeKind?: BadgeKind;\n}) {\n const { useDragInteraction } = useToolbarWithOverflowDirectionContext();\n const icon = React.useMemo(\n () =>\n (item.icon &&\n // eslint-disable-next-line deprecation/deprecation\n IconHelper.getIconReactNode(item.icon, item.internalData)) || (\n // eslint-disable-next-line deprecation/deprecation\n <Icon className=\"icon\" iconSpec={<SvgPlaceholder />} />\n ),\n [item.icon, item.internalData]\n );\n const isDisabled = React.useMemo(\n () => ConditionalBooleanValue.getValue(item.isDisabled),\n [item.isDisabled]\n );\n const title = React.useMemo(\n () => ConditionalStringValue.getValue(item.label) ?? item.id,\n [item.id, item.label]\n );\n\n return (\n // eslint-disable-next-line deprecation/deprecation\n <PopupItem\n key={item.id}\n itemId={item.id}\n icon={icon}\n isDisabled={isDisabled}\n title={title}\n panel={item.panelContentNode}\n hideIndicator={useDragInteraction}\n badge={<Badge type={badgeKind || item.badgeType} />}\n addGroupSeparator={addGroupSeparator}\n keepContentsMounted={item.keepContentsLoaded}\n />\n );\n}\n\n/** @internal */\nfunction GroupPopupItem({\n item,\n addGroupSeparator,\n badgeKind,\n}: {\n item: GroupButton;\n addGroupSeparator: boolean;\n badgeKind?: BadgeKind;\n}) {\n const { useDragInteraction } = useToolbarWithOverflowDirectionContext();\n const title = ConditionalStringValue.getValue(item.label)!;\n const panel = React.useMemo(\n () => <PopupItemsPanel groupItem={item} activateOnPointerUp={false} />,\n [item]\n );\n const providerId =\n \"providerId\" in item ? (item.providerId as string) : undefined;\n if (useDragInteraction) {\n return (\n // eslint-disable-next-line deprecation/deprecation\n <PopupItemWithDrag\n key={item.id}\n itemId={item.id}\n providerId={providerId}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n // eslint-disable-next-line deprecation/deprecation\n icon={IconHelper.getIconReactNode(item.icon, item.internalData)}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n title={title}\n groupItem={item}\n badge={<Badge type={badgeKind || item.badgeType} />}\n addGroupSeparator={addGroupSeparator}\n />\n );\n }\n return (\n // eslint-disable-next-line deprecation/deprecation\n <PopupItem\n key={item.id}\n itemId={item.id}\n providerId={providerId}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n // eslint-disable-next-line deprecation/deprecation\n icon={IconHelper.getIconReactNode(item.icon, item.internalData)}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n title={title}\n panel={panel}\n badge={<Badge type={badgeKind || item.badgeType} />}\n hideIndicator={useDragInteraction}\n addGroupSeparator={addGroupSeparator}\n />\n );\n}\n\n/** @internal */\nfunction ActionItem({\n item,\n addGroupSeparator,\n badgeKind,\n}: {\n item: ActionButton;\n addGroupSeparator: boolean;\n badgeKind?: BadgeKind;\n}) {\n const title = ConditionalStringValue.getValue(item.label)!;\n const { onItemExecuted } = useToolbarWithOverflowDirectionContext();\n const onExecute = React.useCallback(() => {\n item.execute();\n onItemExecuted(item);\n }, [item, onItemExecuted]);\n\n const providerId =\n \"providerId\" in item ? (item.providerId as string) : undefined;\n return (\n <ToolbarButtonItem\n itemId={item.id}\n providerId={providerId}\n itemPriority={item.itemPriority}\n groupPriority={item.groupPriority}\n key={item.id}\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\n title={title}\n // eslint-disable-next-line deprecation/deprecation\n icon={IconHelper.getIconReactNode(item.icon, item.internalData)}\n isActive={item.isActive}\n onClick={onExecute}\n badge={<Badge type={badgeKind || item.badgeType} />}\n addGroupSeparator={addGroupSeparator}\n />\n );\n}\n\n/** @internal */\nexport function ToolbarItemComponent({\n item,\n addGroupSeparator,\n badgeKind,\n}: {\n // eslint-disable-next-line deprecation/deprecation\n item: ToolbarItem;\n addGroupSeparator: boolean;\n badgeKind?: BadgeKind;\n}) {\n if (ToolbarItemUtilities.isGroupButton(item)) {\n return (\n <GroupPopupItem\n item={item}\n addGroupSeparator={addGroupSeparator}\n badgeKind={badgeKind}\n />\n );\n } else if (isCustomToolbarItem(item)) {\n return (\n <CustomItem\n item={item}\n addGroupSeparator={addGroupSeparator}\n badgeKind={badgeKind}\n />\n );\n } else {\n if (ToolbarItemUtilities.isActionButton(item)) {\n return (\n <ActionItem\n item={item}\n addGroupSeparator={addGroupSeparator}\n badgeKind={badgeKind}\n />\n );\n }\n }\n return null;\n}\n\n/** @internal */\nexport function useToolbarWithOverflowDirectionContext() {\n return React.useContext(ToolbarWithOverflowDirectionContext);\n}\n\nfunction OverflowItemsContainer(p: { children: React.ReactNode }) {\n return <>{p.children}</>;\n}\n\nfunction getItemWrapperClass(child: React.ReactNode) {\n if (React.isValidElement(child)) {\n if (child.props && child.props.addGroupSeparator)\n return \"components-toolbar-button-add-gap-before\";\n }\n return undefined;\n}\n\n/**\n * Recursively looks through all items and groups and removes the hidden items\n * from the working object.\n * @param items List of object to analyze.\n * @returns Copy of the provided items, minus the hidden ones.\n */\nfunction filterHiddenItems<T extends CommonToolbarItem>(\n items: ReadonlyArray<T>\n): T[] {\n return items\n .filter((item) => !ConditionalBooleanValue.getValue(item.isHidden))\n .map((i) => {\n if (\"items\" in i) {\n return { ...i, items: filterHiddenItems(i.items) };\n }\n return i;\n });\n}\n\n/** Old toolbar item type with new badge type.\n * @internal\n */\nexport type CommonToolbarItemWithBadgeKind = CommonToolbarItem & {\n badgeKind?: BadgeKind;\n};\n\n/** Properties of [[ToolbarComponent]] component.\n * @internal\n */\nexport interface InternalToolbarComponentProps\n extends CommonProps, // eslint-disable-line deprecation/deprecation\n // eslint-disable-next-line deprecation/deprecation\n NoChildrenProps {\n /** Describes to which direction the popup panels are expanded. Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes if items that do not fit available space should move to an expandable panel. Defaults to: false */\n enableOverflow?:\n | boolean\n | {\n /** Describes to which direction the overflow popup panels are expanded if overflow is enabled. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n };\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: CommonToolbarItemWithBadgeKind[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons. */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar. */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution. */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar. */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n /** SyncEvents on which the conditional should listen to. */\n syncUiEvent?: BeEvent<(args: { eventIds: Set<string> }) => void>;\n}\n\n/** Component that displays toolbar items.\n * @internal\n */\nexport function InternalToolbarComponent(props: InternalToolbarComponentProps) {\n const expandsTo = props.expandsTo ? props.expandsTo : Direction.Bottom;\n const useDragInteraction = !!props.useDragInteraction;\n const panelAlignment = props.panelAlignment\n ? props.panelAlignment\n : ToolbarPanelAlignment.Start;\n const useHeight =\n expandsTo === Direction.Right || expandsTo === Direction.Left;\n const { translate } = useTranslation();\n const [isOverflowPanelOpen, setIsOverflowPanelOpen] = React.useState(false);\n const [popupPanelCount, setPopupPanelCount] = React.useState(0);\n const isMounted = React.useRef(false);\n React.useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n });\n const handlePopupPanelOpenClose = React.useCallback((isOpening: boolean) => {\n // use setTimeout to avoid warning about setting state in ToolbarWithOverflow from render method of PopupItem/PopupItemWithDrag\n setTimeout(() => {\n if (!isMounted.current) return;\n setPopupPanelCount((prev) => {\n const nextCount = isOpening ? prev + 1 : prev - 1;\n return nextCount < 0 ? 0 : nextCount;\n });\n });\n }, []);\n\n const width = React.useRef<number | undefined>(undefined);\n\n const eventSynchedItems = useConditionalSynchedItems(\n props.items,\n props.syncUiEvent\n );\n\n const availableNodes = React.useMemo<React.ReactNode>(() => {\n const filteredItems = filterHiddenItems(eventSynchedItems);\n return filteredItems.map((item, index) => {\n let addGroupSeparator = false;\n if (index > 0)\n addGroupSeparator =\n item.groupPriority !== filteredItems[index - 1].groupPriority;\n return (\n <ToolbarItemComponent\n key={item.id}\n item={item}\n addGroupSeparator={!!addGroupSeparator}\n badgeKind={item.badgeKind}\n />\n );\n });\n }, [eventSynchedItems]);\n /* overflowItemKeys - keys of items to show in overflow panel\n * handleContainerResize - handler called when container <div> is resized.\n * handleOverflowResize - handler called when determining size of overflow indicator/button.\n * handleEntryResize - handler called when determining size of each item/button. */\n const [\n overflowItemKeys,\n handleContainerResize,\n handleOverflowResize,\n handleEntryResize,\n ] = useOverflow(availableNodes, panelAlignment === ToolbarPanelAlignment.End);\n // handler called by ResizeObserver\n const handleResize = React.useCallback(\n (w: number) => {\n width.current = w;\n width.current !== undefined && handleContainerResize(width.current);\n },\n [handleContainerResize]\n );\n const resizeObserverRef = useResizeObserverSingleDimension(\n handleResize,\n useHeight\n );\n const handleClick = React.useCallback(() => {\n setIsOverflowPanelOpen((prev) => !prev);\n }, []);\n const handleClose = React.useCallback(() => {\n setIsOverflowPanelOpen(false);\n }, []);\n\n // Not setting the ref will disable overflow management, but will keep proper refresh of items.\n const ref = props.enableOverflow ? resizeObserverRef : undefined;\n const availableItems = React.Children.toArray(availableNodes);\n const displayedItems = availableItems.reduce<\n Array<[string, React.ReactNode]>\n >((acc, child, index) => {\n const key = getChildKey(child, index);\n if (!overflowItemKeys || overflowItemKeys.indexOf(key) < 0) {\n acc.push([key, child]);\n }\n return acc;\n }, []);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const overflowPanelItems = overflowItemKeys\n ? availableItems.reduce<Array<[string, React.ReactNode]>>(\n (acc, child, index) => {\n const key = getChildKey(child, index);\n if (overflowItemKeys.indexOf(key) >= 0) {\n acc.push([key, child]);\n }\n return acc;\n },\n []\n )\n : [];\n\n const direction = getToolbarDirection(expandsTo);\n const overflowExpandsTo =\n (typeof props.enableOverflow !== \"boolean\" &&\n props.enableOverflow?.overflowExpandsTo) ||\n Direction.Right;\n const addOverflowButton = React.useCallback(\n (atStart: boolean) => {\n const overflowItems = !!atStart\n ? overflowPanelItems.reverse()\n : overflowPanelItems;\n return (\n <ToolbarItemContext.Provider\n value={{\n hasOverflow: false,\n useHeight,\n onResize: handleOverflowResize,\n }}\n >\n <ToolbarOverflowButton\n expandsTo={expandsTo}\n onClick={handleClick}\n onClose={handleClose}\n open={overflowItems.length > 0 && isOverflowPanelOpen}\n panelNode={\n <ToolbarOverflowPanel>\n <OverflowItemsContainer>\n {overflowItems.map(([key, child]) => {\n return (\n <ToolbarItemContext.Provider\n key={key}\n value={{\n hasOverflow: true,\n useHeight,\n onResize: () => {},\n }}\n >\n {\n <ItemWrapper className={getItemWrapperClass(child)}>\n {child}\n </ItemWrapper>\n }\n </ToolbarItemContext.Provider>\n );\n })}\n </OverflowItemsContainer>\n </ToolbarOverflowPanel>\n }\n title={translate(\"toolbar.overflow\")}\n />\n </ToolbarItemContext.Provider>\n );\n },\n [\n overflowPanelItems,\n useHeight,\n handleOverflowResize,\n expandsTo,\n handleClick,\n handleClose,\n isOverflowPanelOpen,\n translate,\n ]\n );\n\n const className = classnames(\n \"components-toolbar-overflow-sizer\",\n OrthogonalDirectionHelpers.getCssClassName(direction),\n props.className\n );\n\n const showOverflowAtStart =\n direction === OrthogonalDirection.Horizontal &&\n panelAlignment === ToolbarPanelAlignment.End;\n /* The ItemWrapper is used to wrap the <Item> <ExpandableItem> with a <div> that specifies a ref that the sizing logic uses to determine the\n size of the item. */\n return (\n <ToolbarWithOverflowDirectionContext.Provider\n value={{\n expandsTo,\n direction,\n overflowExpandsTo,\n panelAlignment,\n useDragInteraction,\n toolbarOpacitySetting:\n props.toolbarOpacitySetting ?? ToolbarOpacitySetting.Proximity,\n overflowDirection:\n direction === OrthogonalDirection.Horizontal\n ? OrthogonalDirection.Vertical\n : OrthogonalDirection.Horizontal,\n openPopupCount: popupPanelCount,\n onPopupPanelOpenClose: handlePopupPanelOpenClose,\n overflowDisplayActive:\n overflowPanelItems.length > 0 && isOverflowPanelOpen,\n onItemExecuted: props.onItemExecuted ? props.onItemExecuted : () => {},\n onKeyDown: props.onKeyDown\n ? props.onKeyDown\n : (_e: React.KeyboardEvent) => {},\n }}\n >\n {availableItems.length > 0 && (\n <div\n className={className}\n ref={ref}\n style={props.style}\n onKeyDown={props.onKeyDown}\n role=\"presentation\"\n >\n <ToolbarItems className=\"components-items\" direction={direction}>\n {props.enableOverflow &&\n (!overflowItemKeys || overflowItemKeys.length > 0) &&\n showOverflowAtStart &&\n addOverflowButton(true)}\n {displayedItems.map(([key, child]) => {\n const onEntryResize = handleEntryResize(key);\n return (\n <ToolbarItemContext.Provider\n key={key}\n value={{\n hasOverflow: false,\n useHeight,\n onResize: onEntryResize,\n }}\n >\n <ItemWrapper className={getItemWrapperClass(child)}>\n {child}\n </ItemWrapper>\n </ToolbarItemContext.Provider>\n );\n })}\n {props.enableOverflow &&\n (!overflowItemKeys || overflowItemKeys.length > 0) &&\n !showOverflowAtStart &&\n addOverflowButton(false)}\n </ToolbarItems>\n </div>\n )}\n </ToolbarWithOverflowDirectionContext.Provider>\n );\n}\n\n/** Returns key of a child. Must be used along with React.Children.toArray to preserve the semantics of availableItems.\n * @internal\n */\nfunction getChildKey(child: React.ReactNode, index: number) {\n if (React.isValidElement(child) && child.key !== null) {\n return child.key.toString();\n }\n return index.toString();\n}\n\n/** Returns a subset of toolbar item entry keys that exceed given width and should be overflowItemKeys.\n * @internal\n */\nfunction determineOverflowItems(\n size: number,\n entries: ReadonlyArray<readonly [string, number]>,\n overflowButtonSize: number,\n overflowButtonAtStart: boolean\n): string[] {\n let toolbarSize = 0;\n const buttonPadding = 2;\n if (overflowButtonAtStart && entries.length > 0) {\n let i = entries.length - 1;\n for (; i >= 0; i--) {\n const w = entries[i][1] + buttonPadding;\n const newSettingsWidth = toolbarSize + w;\n if (newSettingsWidth > size) {\n toolbarSize += overflowButtonSize + buttonPadding;\n break;\n }\n toolbarSize = newSettingsWidth;\n }\n if (i >= 0) {\n let j = i + 1;\n for (; j < entries.length; j++) {\n if (toolbarSize <= size) break;\n const w = entries[j][1] + buttonPadding;\n toolbarSize -= w;\n }\n\n return entries.slice(0, j).map((e) => e[0]);\n } else {\n return [];\n }\n } else {\n let i = 0;\n for (; i < entries.length; i++) {\n const w = entries[i][1] + buttonPadding;\n const newSettingsWidth = toolbarSize + w;\n if (newSettingsWidth > size) {\n toolbarSize += overflowButtonSize + buttonPadding;\n break;\n }\n toolbarSize = newSettingsWidth;\n }\n let j = i;\n for (; j > 0; j--) {\n if (toolbarSize <= size) break;\n const w = entries[j][1] + buttonPadding;\n toolbarSize -= w;\n }\n\n return entries.slice(j).map((e) => e[0]);\n }\n}\n\n/** Hook that returns a list of overflowItemKeys availableItems.\n * @internal\n */\nfunction useOverflow(\n availableItems: React.ReactNode,\n overflowButtonAtStart: boolean\n): [\n ReadonlyArray<string> | undefined,\n (size: number) => void,\n (size: number) => void,\n (key: string) => (size: number) => void\n] {\n const [overflowItemKeys, setOverflown] =\n React.useState<ReadonlyArray<string>>();\n const itemSizes = React.useRef(new Map<string, number | undefined>());\n const size = React.useRef<number | undefined>(undefined);\n const overflowButtonSize = React.useRef<number | undefined>(undefined);\n\n const calculateOverflow = React.useCallback(() => {\n const sizes = verifiedMapEntries(itemSizes.current);\n if (\n size.current === undefined ||\n sizes === undefined ||\n overflowButtonSize.current === undefined\n ) {\n setOverflown(undefined);\n return;\n }\n\n // Calculate overflow.\n const newOverflown = determineOverflowItems(\n size.current,\n [...sizes.entries()],\n overflowButtonSize.current,\n overflowButtonAtStart\n );\n setOverflown((prevOverflown) => {\n return eql(prevOverflown, newOverflown) ? prevOverflown : newOverflown;\n });\n }, [overflowButtonAtStart]);\n\n React.useLayoutEffect(() => {\n const newEntryWidths = new Map<string, number | undefined>();\n const array = React.Children.toArray(availableItems);\n for (let i = 0; i < array.length; i++) {\n const child = array[i];\n const key = getChildKey(child, i);\n const lastW = itemSizes.current.get(key);\n newEntryWidths.set(key, lastW);\n }\n itemSizes.current = newEntryWidths;\n calculateOverflow();\n }, [availableItems, calculateOverflow]);\n\n const handleContainerResize = React.useCallback(\n (w: number) => {\n const calculate = size.current !== w;\n size.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleOverflowResize = React.useCallback(\n (w: number) => {\n const calculate = overflowButtonSize.current !== w;\n overflowButtonSize.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleEntryResize = React.useCallback(\n (key: string) => (w: number) => {\n const oldW = itemSizes.current.get(key);\n if (oldW !== w) {\n itemSizes.current.set(key, w);\n calculateOverflow();\n }\n },\n [calculateOverflow]\n );\n\n return [\n overflowItemKeys,\n handleContainerResize,\n handleOverflowResize,\n handleEntryResize,\n ];\n}\n\n/** Interface toolbars use to define context for its items.\n * @internal\n */\nexport interface ToolbarItemContextArgs {\n readonly hasOverflow: boolean;\n readonly useHeight: boolean;\n readonly onResize: (w: number) => void;\n}\n\n/** Interface toolbars use to define context for its items.\n * @internal\n */\nexport const ToolbarItemContext = React.createContext<ToolbarItemContextArgs>({\n hasOverflow: false,\n useHeight: false,\n onResize: () => {\n // intentionally do nothing by default.\n },\n});\n\n/** @internal */\nexport function useToolItemEntryContext() {\n return React.useContext(ToolbarItemContext);\n}\n\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\n for (const [, val] of map) {\n if (val === undefined) return undefined;\n }\n return map as Map<string, T>;\n}\n\nfunction eql(prev: readonly string[] | undefined, value: readonly string[]) {\n if (!prev) return false;\n if (prev.length !== value.length) return false;\n for (let i = 0; i < prev.length; i++) {\n const p = prev[i];\n const v = value[i];\n if (p !== v) return false;\n }\n return true;\n}\n"]}