@itwin/appui-react 3.6.0-dev.8 → 4.0.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (707) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/LICENSE.md +1 -1
  3. package/lib/cjs/appui-react/UiFramework.d.ts +4 -4
  4. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  5. package/lib/cjs/appui-react/UiFramework.js +3 -3
  6. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  7. package/lib/cjs/appui-react/backstage/Backstage.d.ts +4 -4
  8. package/lib/cjs/appui-react/backstage/Backstage.js +2 -2
  9. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  10. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/backstage/BackstageComposer.js +1 -0
  12. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  13. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -1
  14. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  15. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +43 -0
  16. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -0
  17. package/lib/cjs/appui-react/backstage/BackstageItem.js +37 -0
  18. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -0
  19. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  20. package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  22. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
  23. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
  24. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +10 -24
  25. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  26. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +2 -2
  27. package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -1
  28. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  29. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +2 -2
  30. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +1 -1
  31. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  32. package/lib/cjs/appui-react/backstage/Separator.d.ts +1 -1
  33. package/lib/cjs/appui-react/backstage/Separator.js +1 -1
  34. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  35. package/lib/cjs/appui-react/backstage/TaskLaunch.d.ts +2 -2
  36. package/lib/cjs/appui-react/backstage/TaskLaunch.js +1 -1
  37. package/lib/cjs/appui-react/backstage/TaskLaunch.js.map +1 -1
  38. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +3 -3
  40. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +3 -3
  41. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  42. package/lib/cjs/appui-react/configurableui/state.d.ts +3 -3
  43. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/configurableui/state.js +2 -2
  45. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  46. package/lib/cjs/appui-react/content/ContentGroup.d.ts +1 -1
  47. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  48. package/lib/cjs/appui-react/content/ContentLayout.d.ts +1 -1
  49. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/content/ContentLayout.js +18 -1
  51. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  52. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/content/ContentViewManager.js +19 -1
  54. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  55. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +6 -3
  56. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/content/FloatingViewportContent.js +19 -8
  58. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  59. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +13 -13
  60. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  61. package/lib/cjs/appui-react/frontstage/Frontstage.js +1 -1
  62. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  63. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +6 -6
  64. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +1 -1
  65. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  66. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +16 -16
  67. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +16 -16
  69. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  70. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +1 -1
  71. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +1 -1
  72. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  73. package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts +1 -1
  74. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  75. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  76. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +4 -2
  77. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  78. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +15 -0
  79. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -0
  80. package/lib/cjs/appui-react/frontstage/StageUsage.js +17 -0
  81. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -0
  82. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  83. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
  84. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  85. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts +4 -4
  86. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js +3 -3
  87. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  88. package/lib/cjs/appui-react/imodel-components/Common.d.ts +2 -0
  89. package/lib/cjs/appui-react/imodel-components/Common.d.ts.map +1 -1
  90. package/lib/cjs/appui-react/imodel-components/Common.js +1 -0
  91. package/lib/cjs/appui-react/imodel-components/Common.js.map +1 -1
  92. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +6 -0
  93. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  94. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +2 -0
  95. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  96. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +6 -0
  97. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +1 -1
  98. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js +6 -0
  99. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  100. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +5 -1
  101. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js +4 -0
  103. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  104. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +9 -2
  105. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +5 -1
  107. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  108. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +2 -0
  109. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js +2 -0
  111. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  112. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +3 -0
  113. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +2 -0
  115. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  116. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +2 -0
  117. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +2 -0
  119. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  120. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  121. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +1 -1
  123. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  124. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +2 -2
  125. package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
  126. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  127. package/lib/cjs/appui-react/messages/ActivityMessagePopup.d.ts +2 -2
  128. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js +1 -1
  129. package/lib/cjs/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  130. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/messages/MessageManager.js +3 -1
  132. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  133. package/lib/cjs/appui-react/messages/StatusMessageRenderer.d.ts +2 -2
  134. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js +1 -1
  135. package/lib/cjs/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  136. package/lib/cjs/appui-react/messages/StatusMessagesContainer.d.ts +1 -1
  137. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js +1 -1
  138. package/lib/cjs/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/StickyMessage.d.ts +2 -2
  140. package/lib/cjs/appui-react/messages/StickyMessage.js +1 -1
  141. package/lib/cjs/appui-react/messages/StickyMessage.js.map +1 -1
  142. package/lib/cjs/appui-react/messages/ToastMessage.d.ts +2 -2
  143. package/lib/cjs/appui-react/messages/ToastMessage.js +1 -1
  144. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  145. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +1 -1
  146. package/lib/cjs/appui-react/pickers/ListPicker.js +1 -1
  147. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  148. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +1 -1
  149. package/lib/cjs/appui-react/safearea/SafeAreaContext.js +1 -1
  150. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  151. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.d.ts +1 -1
  152. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js +1 -1
  153. package/lib/cjs/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  154. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +2 -2
  155. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +2 -2
  156. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  157. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  158. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts +1 -1
  159. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  161. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +4 -4
  162. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  163. package/lib/cjs/appui-react/shared/ItemDefBase.js +3 -3
  164. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  165. package/lib/cjs/appui-react/shared/ItemProps.d.ts +4 -4
  166. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  167. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +5 -5
  168. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -1
  169. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  170. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  171. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +1 -1
  172. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  173. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
  174. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
  175. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +16 -0
  176. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
  177. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
  178. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
  179. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +16 -0
  180. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -0
  181. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -1
  182. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  183. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  184. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  185. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  187. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  188. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +52 -2
  189. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  190. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -2
  191. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  192. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
  193. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  194. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
  195. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  196. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  197. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  198. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  199. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +3 -3
  200. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  201. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  202. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  203. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  204. package/lib/cjs/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  205. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.d.ts +1 -1
  206. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js +1 -1
  207. package/lib/cjs/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  208. package/lib/cjs/appui-react/statusfields/ConditionalField.d.ts +1 -1
  209. package/lib/cjs/appui-react/statusfields/ConditionalField.js +1 -1
  210. package/lib/cjs/appui-react/statusfields/ConditionalField.js.map +1 -1
  211. package/lib/cjs/appui-react/statusfields/FooterModeField.d.ts +1 -1
  212. package/lib/cjs/appui-react/statusfields/FooterModeField.js +1 -1
  213. package/lib/cjs/appui-react/statusfields/FooterModeField.js.map +1 -1
  214. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +4 -4
  215. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  216. package/lib/cjs/appui-react/statusfields/Indicator.js +3 -2
  217. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  218. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +1 -1
  219. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  220. package/lib/cjs/appui-react/statusfields/PromptField.d.ts +1 -1
  221. package/lib/cjs/appui-react/statusfields/PromptField.js +1 -1
  222. package/lib/cjs/appui-react/statusfields/PromptField.js.map +1 -1
  223. package/lib/cjs/appui-react/statusfields/StatusFieldProps.d.ts +3 -3
  224. package/lib/cjs/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  225. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  226. package/lib/cjs/appui-react/syncui/BooleanListener.js +1 -1
  227. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  228. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -5
  229. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  230. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +3 -3
  231. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  232. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts +2 -2
  233. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +1 -1
  234. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  235. package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
  236. package/lib/cjs/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +4 -4
  238. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  239. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +5 -5
  240. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/toolbar/GroupItem.js +2 -2
  242. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  243. package/lib/cjs/appui-react/toolbar/PopupButton.d.ts +4 -4
  244. package/lib/cjs/appui-react/toolbar/PopupButton.js +1 -1
  245. package/lib/cjs/appui-react/toolbar/PopupButton.js.map +1 -1
  246. package/lib/cjs/appui-react/toolbar/ToolButton.d.ts +2 -2
  247. package/lib/cjs/appui-react/toolbar/ToolButton.js +1 -1
  248. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  249. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +1 -1
  250. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  251. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +53 -0
  252. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
  253. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +41 -0
  254. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -0
  255. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
  256. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
  257. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +28 -0
  258. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
  259. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  260. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +1 -1
  261. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  262. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +1 -1
  263. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +1 -1
  264. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  265. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
  266. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
  267. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +20 -0
  268. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
  269. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
  270. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
  271. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js +10 -0
  272. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
  273. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  275. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  277. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
  279. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
  281. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
  284. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  285. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  287. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
  288. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
  289. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +19 -0
  290. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
  291. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
  292. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
  293. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js +10 -0
  294. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
  295. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +2 -2
  296. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  298. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +1 -1
  299. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +1 -1
  300. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -1
  301. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  302. package/lib/cjs/appui-react/widget-panels/Content.js +1 -1
  303. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  304. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  305. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  306. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  307. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
  308. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js +2 -2
  309. package/lib/cjs/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts +3 -3
  311. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -2
  312. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  314. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  315. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/ToolWidget.d.ts +3 -3
  317. package/lib/cjs/appui-react/widgets/ToolWidget.js +2 -2
  318. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -1
  320. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +1 -1
  321. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  322. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  323. package/lib/cjs/appui-react/widgets/Widget.d.ts +1 -1
  324. package/lib/cjs/appui-react/widgets/Widget.js +1 -1
  325. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  326. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  327. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +14 -14
  328. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  329. package/lib/cjs/appui-react/widgets/WidgetDef.js +11 -10
  330. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  331. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +8 -1
  332. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +1 -1
  333. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +13 -0
  335. package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -0
  336. package/lib/cjs/appui-react/widgets/WidgetState.js +16 -0
  337. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -0
  338. package/lib/cjs/appui-react/workflow/Task.d.ts +4 -4
  339. package/lib/cjs/appui-react/workflow/Task.js +2 -2
  340. package/lib/cjs/appui-react/workflow/Task.js.map +1 -1
  341. package/lib/cjs/appui-react/workflow/Workflow.d.ts +8 -8
  342. package/lib/cjs/appui-react/workflow/Workflow.js +4 -4
  343. package/lib/cjs/appui-react/workflow/Workflow.js.map +1 -1
  344. package/lib/cjs/appui-react/zones/Zone.d.ts +3 -3
  345. package/lib/cjs/appui-react/zones/Zone.js +2 -2
  346. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  347. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +5 -5
  348. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  349. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -5
  350. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  351. package/lib/cjs/appui-react.d.ts +16 -5
  352. package/lib/cjs/appui-react.d.ts.map +1 -1
  353. package/lib/cjs/appui-react.js +16 -5
  354. package/lib/cjs/appui-react.js.map +1 -1
  355. package/lib/esm/appui-react/UiFramework.d.ts +4 -4
  356. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  357. package/lib/esm/appui-react/UiFramework.js +3 -3
  358. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  359. package/lib/esm/appui-react/backstage/Backstage.d.ts +4 -4
  360. package/lib/esm/appui-react/backstage/Backstage.js +2 -2
  361. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  362. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  363. package/lib/esm/appui-react/backstage/BackstageComposer.js +1 -0
  364. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  365. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  366. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  367. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +43 -0
  368. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -0
  369. package/lib/esm/appui-react/backstage/BackstageItem.js +32 -0
  370. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -0
  371. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  372. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  373. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  374. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +7 -35
  375. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts.map +1 -1
  376. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +7 -21
  377. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  378. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -2
  379. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -1
  380. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  381. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +2 -2
  382. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +1 -1
  383. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  384. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -1
  385. package/lib/esm/appui-react/backstage/Separator.js +1 -1
  386. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  387. package/lib/esm/appui-react/backstage/TaskLaunch.d.ts +2 -2
  388. package/lib/esm/appui-react/backstage/TaskLaunch.js +1 -1
  389. package/lib/esm/appui-react/backstage/TaskLaunch.js.map +1 -1
  390. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  391. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +3 -3
  392. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +3 -3
  393. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  394. package/lib/esm/appui-react/configurableui/state.d.ts +3 -3
  395. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  396. package/lib/esm/appui-react/configurableui/state.js +2 -2
  397. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  398. package/lib/esm/appui-react/content/ContentGroup.d.ts +1 -1
  399. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  400. package/lib/esm/appui-react/content/ContentLayout.d.ts +1 -1
  401. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  402. package/lib/esm/appui-react/content/ContentLayout.js +18 -1
  403. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  404. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  405. package/lib/esm/appui-react/content/ContentViewManager.js +19 -1
  406. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  407. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +6 -3
  408. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  409. package/lib/esm/appui-react/content/FloatingViewportContent.js +19 -8
  410. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  411. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +13 -13
  412. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  413. package/lib/esm/appui-react/frontstage/Frontstage.js +1 -1
  414. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  415. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +6 -6
  416. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +1 -1
  417. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  418. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +16 -16
  419. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  420. package/lib/esm/appui-react/frontstage/FrontstageDef.js +16 -16
  421. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  422. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +1 -1
  423. package/lib/esm/appui-react/frontstage/FrontstageManager.js +1 -1
  424. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  425. package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts +1 -1
  426. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  427. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  428. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +4 -2
  429. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  430. package/lib/esm/appui-react/frontstage/StageUsage.d.ts +15 -0
  431. package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -0
  432. package/lib/esm/appui-react/frontstage/StageUsage.js +14 -0
  433. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -0
  434. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  435. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +4 -4
  436. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  437. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts +4 -4
  438. package/lib/esm/appui-react/hooks/useFrameworkVersion.js +3 -3
  439. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  440. package/lib/esm/appui-react/imodel-components/Common.d.ts +2 -0
  441. package/lib/esm/appui-react/imodel-components/Common.d.ts.map +1 -1
  442. package/lib/esm/appui-react/imodel-components/Common.js +1 -0
  443. package/lib/esm/appui-react/imodel-components/Common.js.map +1 -1
  444. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +6 -0
  445. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  446. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +2 -0
  447. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  448. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +6 -0
  449. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +1 -1
  450. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js +6 -0
  451. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +1 -1
  452. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +5 -1
  453. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +1 -1
  454. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js +4 -0
  455. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +1 -1
  456. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +9 -2
  457. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  458. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +5 -1
  459. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  460. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +2 -0
  461. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  462. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js +2 -0
  463. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  464. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +3 -0
  465. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  466. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +2 -0
  467. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  468. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +2 -0
  469. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +1 -1
  470. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +2 -0
  471. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +1 -1
  472. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  473. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  474. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +1 -1
  475. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  476. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +2 -2
  477. package/lib/esm/appui-react/messages/ActivityMessage.js +1 -1
  478. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  479. package/lib/esm/appui-react/messages/ActivityMessagePopup.d.ts +2 -2
  480. package/lib/esm/appui-react/messages/ActivityMessagePopup.js +1 -1
  481. package/lib/esm/appui-react/messages/ActivityMessagePopup.js.map +1 -1
  482. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  483. package/lib/esm/appui-react/messages/MessageManager.js +3 -1
  484. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  485. package/lib/esm/appui-react/messages/StatusMessageRenderer.d.ts +2 -2
  486. package/lib/esm/appui-react/messages/StatusMessageRenderer.js +1 -1
  487. package/lib/esm/appui-react/messages/StatusMessageRenderer.js.map +1 -1
  488. package/lib/esm/appui-react/messages/StatusMessagesContainer.d.ts +1 -1
  489. package/lib/esm/appui-react/messages/StatusMessagesContainer.js +1 -1
  490. package/lib/esm/appui-react/messages/StatusMessagesContainer.js.map +1 -1
  491. package/lib/esm/appui-react/messages/StickyMessage.d.ts +2 -2
  492. package/lib/esm/appui-react/messages/StickyMessage.js +1 -1
  493. package/lib/esm/appui-react/messages/StickyMessage.js.map +1 -1
  494. package/lib/esm/appui-react/messages/ToastMessage.d.ts +2 -2
  495. package/lib/esm/appui-react/messages/ToastMessage.js +1 -1
  496. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  497. package/lib/esm/appui-react/pickers/ListPicker.d.ts +1 -1
  498. package/lib/esm/appui-react/pickers/ListPicker.js +1 -1
  499. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  500. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +1 -1
  501. package/lib/esm/appui-react/safearea/SafeAreaContext.js +1 -1
  502. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  503. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.d.ts +1 -1
  504. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js +1 -1
  505. package/lib/esm/appui-react/selection/ClearEmphasisStatusField.js.map +1 -1
  506. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +2 -2
  507. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +2 -2
  508. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  509. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  510. package/lib/esm/appui-react/shared/GroupItemProps.d.ts +1 -1
  511. package/lib/esm/appui-react/shared/GroupItemProps.d.ts.map +1 -1
  512. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  513. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +4 -4
  514. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  515. package/lib/esm/appui-react/shared/ItemDefBase.js +3 -3
  516. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  517. package/lib/esm/appui-react/shared/ItemProps.d.ts +4 -4
  518. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  519. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +5 -5
  520. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -1
  521. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  522. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  523. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +1 -1
  524. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  525. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +13 -0
  526. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -0
  527. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +13 -0
  528. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -0
  529. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +13 -0
  530. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -0
  531. package/lib/esm/appui-react/stagepanels/StagePanelSection.js +13 -0
  532. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -0
  533. package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -1
  534. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  535. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  536. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  537. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  538. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  539. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  540. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +52 -2
  541. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  542. package/lib/esm/appui-react/statusbar/StatusBarItem.js +29 -1
  543. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  544. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +23 -4
  545. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  546. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +31 -1
  547. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  548. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  549. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  550. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  551. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +3 -3
  552. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  553. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  554. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.d.ts +1 -1
  555. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js +1 -1
  556. package/lib/esm/appui-react/statusbar/withMessageCenterFieldProps.js.map +1 -1
  557. package/lib/esm/appui-react/statusbar/withStatusFieldProps.d.ts +1 -1
  558. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js +1 -1
  559. package/lib/esm/appui-react/statusbar/withStatusFieldProps.js.map +1 -1
  560. package/lib/esm/appui-react/statusfields/ConditionalField.d.ts +1 -1
  561. package/lib/esm/appui-react/statusfields/ConditionalField.js +1 -1
  562. package/lib/esm/appui-react/statusfields/ConditionalField.js.map +1 -1
  563. package/lib/esm/appui-react/statusfields/FooterModeField.d.ts +1 -1
  564. package/lib/esm/appui-react/statusfields/FooterModeField.js +1 -1
  565. package/lib/esm/appui-react/statusfields/FooterModeField.js.map +1 -1
  566. package/lib/esm/appui-react/statusfields/Indicator.d.ts +4 -4
  567. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  568. package/lib/esm/appui-react/statusfields/Indicator.js +3 -2
  569. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  570. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +1 -1
  571. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  572. package/lib/esm/appui-react/statusfields/PromptField.d.ts +1 -1
  573. package/lib/esm/appui-react/statusfields/PromptField.js +1 -1
  574. package/lib/esm/appui-react/statusfields/PromptField.js.map +1 -1
  575. package/lib/esm/appui-react/statusfields/StatusFieldProps.d.ts +3 -3
  576. package/lib/esm/appui-react/statusfields/StatusFieldProps.js.map +1 -1
  577. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  578. package/lib/esm/appui-react/syncui/BooleanListener.js +1 -1
  579. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  580. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +5 -5
  581. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  582. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +3 -3
  583. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  584. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts +2 -2
  585. package/lib/esm/appui-react/toolbar/ActionItemButton.js +1 -1
  586. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  587. package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts +1 -1
  588. package/lib/esm/appui-react/toolbar/GroupButtonItem.d.ts.map +1 -1
  589. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +2 -2
  590. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  591. package/lib/esm/appui-react/toolbar/GroupItem.d.ts +5 -5
  592. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  593. package/lib/esm/appui-react/toolbar/GroupItem.js +2 -2
  594. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  595. package/lib/esm/appui-react/toolbar/PopupButton.d.ts +4 -4
  596. package/lib/esm/appui-react/toolbar/PopupButton.js +1 -1
  597. package/lib/esm/appui-react/toolbar/PopupButton.js.map +1 -1
  598. package/lib/esm/appui-react/toolbar/ToolButton.d.ts +2 -2
  599. package/lib/esm/appui-react/toolbar/ToolButton.js +1 -1
  600. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  601. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +1 -1
  602. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  603. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +53 -0
  604. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -0
  605. package/lib/esm/appui-react/toolbar/ToolbarItem.js +35 -0
  606. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -0
  607. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +14 -0
  608. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -0
  609. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +25 -0
  610. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -0
  611. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  612. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +1 -1
  613. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  614. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +1 -1
  615. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +1 -1
  616. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  617. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +11 -0
  618. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -0
  619. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +16 -0
  620. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -0
  621. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +9 -0
  622. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -0
  623. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js +9 -0
  624. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -0
  625. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  626. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  627. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  628. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  629. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  630. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +1 -0
  631. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  632. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +2 -2
  633. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  634. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  635. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +1 -0
  636. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  637. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  638. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  639. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +24 -0
  640. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -0
  641. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +15 -0
  642. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -0
  643. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +9 -0
  644. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -0
  645. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js +9 -0
  646. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -0
  647. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +2 -2
  648. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  649. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  650. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +1 -1
  651. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +1 -1
  652. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -1
  653. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  654. package/lib/esm/appui-react/widget-panels/Content.js +1 -1
  655. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  656. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  657. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  658. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  659. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.d.ts +3 -3
  660. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js +2 -2
  661. package/lib/esm/appui-react/widgets/DefaultNavigationWidget.js.map +1 -1
  662. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts +3 -3
  663. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -2
  664. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  665. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  666. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  667. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  668. package/lib/esm/appui-react/widgets/ToolWidget.d.ts +3 -3
  669. package/lib/esm/appui-react/widgets/ToolWidget.js +2 -2
  670. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  671. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -1
  672. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +1 -1
  673. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  674. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  675. package/lib/esm/appui-react/widgets/Widget.d.ts +1 -1
  676. package/lib/esm/appui-react/widgets/Widget.js +1 -1
  677. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  678. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  679. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +14 -14
  680. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  681. package/lib/esm/appui-react/widgets/WidgetDef.js +11 -10
  682. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  683. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +8 -1
  684. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +1 -1
  685. package/lib/esm/appui-react/widgets/WidgetProps.js.map +1 -1
  686. package/lib/esm/appui-react/widgets/WidgetState.d.ts +13 -0
  687. package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -0
  688. package/lib/esm/appui-react/widgets/WidgetState.js +13 -0
  689. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -0
  690. package/lib/esm/appui-react/workflow/Task.d.ts +4 -4
  691. package/lib/esm/appui-react/workflow/Task.js +2 -2
  692. package/lib/esm/appui-react/workflow/Task.js.map +1 -1
  693. package/lib/esm/appui-react/workflow/Workflow.d.ts +8 -8
  694. package/lib/esm/appui-react/workflow/Workflow.js +4 -4
  695. package/lib/esm/appui-react/workflow/Workflow.js.map +1 -1
  696. package/lib/esm/appui-react/zones/Zone.d.ts +3 -3
  697. package/lib/esm/appui-react/zones/Zone.js +2 -2
  698. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  699. package/lib/esm/appui-react/zones/ZoneDef.d.ts +5 -5
  700. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  701. package/lib/esm/appui-react/zones/ZoneDef.js +5 -5
  702. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  703. package/lib/esm/appui-react.d.ts +16 -5
  704. package/lib/esm/appui-react.d.ts.map +1 -1
  705. package/lib/esm/appui-react.js +16 -5
  706. package/lib/esm/appui-react.js.map +1 -1
  707. package/package.json +44 -34
@@ -8,19 +8,19 @@ import { BaseItemState } from "../shared/ItemDefBase";
8
8
  import { ItemProps } from "../shared/ItemProps";
9
9
  /** Arguments of [[PopupButtonChildrenRenderProp]].
10
10
  * @public
11
- * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
11
+ * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
12
12
  */
13
13
  export interface PopupButtonChildrenRenderPropArgs {
14
14
  closePanel: () => void;
15
15
  }
16
16
  /** Type of [[PopupButtonProps.children]] when used as render prop.
17
17
  * @public
18
- * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
18
+ * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
19
19
  */
20
20
  export declare type PopupButtonChildrenRenderProp = (args: PopupButtonChildrenRenderPropArgs) => React.ReactNode;
21
21
  /** Properties for the [[PopupButton]] React component
22
22
  * @public
23
- * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
23
+ * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
24
24
  */
25
25
  export interface PopupButtonProps extends ItemProps, CommonProps {
26
26
  children?: React.ReactNode | PopupButtonChildrenRenderProp;
@@ -31,7 +31,7 @@ export interface PopupButtonProps extends ItemProps, CommonProps {
31
31
  /**
32
32
  * Used to provide custom popup button in toolbar.
33
33
  * @public
34
- * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
34
+ * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
35
35
  */
36
36
  export declare class PopupButton extends React.Component<PopupButtonProps, BaseItemState> {
37
37
  private _label;
@@ -32,7 +32,7 @@ const isFunction = (node) => {
32
32
  /**
33
33
  * Used to provide custom popup button in toolbar.
34
34
  * @public
35
- * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
35
+ * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
36
36
  */
37
37
  class PopupButton extends React.Component {
38
38
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"PopupButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/PopupButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport \"./PopupButton.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, SpecialKey, StringGetter } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { ExpandableItem, Item } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n// cSpell:ignore popupbutton\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst DivWithOnOutsideClick = withOnOutsideClick((props: React.HTMLProps<HTMLDivElement>) => (<div {...props} />), undefined, true);\r\n\r\n/** Arguments of [[PopupButtonChildrenRenderProp]].\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonChildrenRenderPropArgs {\r\n closePanel: () => void;\r\n}\r\n\r\n/** Type of [[PopupButtonProps.children]] when used as render prop.\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport type PopupButtonChildrenRenderProp = (args: PopupButtonChildrenRenderPropArgs) => React.ReactNode;\r\n\r\n/** Properties for the [[PopupButton]] React component\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonProps extends ItemProps, CommonProps {\r\n children?: React.ReactNode | PopupButtonChildrenRenderProp;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n noPadding?: boolean;\r\n}\r\n\r\nconst isFunction = <T extends (...args: any) => any>(node: React.ReactNode): node is T => {\r\n if (typeof node === \"function\")\r\n return true;\r\n return false;\r\n};\r\n\r\n/**\r\n * Used to provide custom popup button in toolbar.\r\n * @public\r\n * @deprecated use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport class PopupButton extends React.Component<PopupButtonProps, BaseItemState> {\r\n private _label: string | StringGetter | ConditionalStringValue = \"\";\r\n private _componentUnmounting = false;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n private _isMounted = false;\r\n\r\n constructor(props: PopupButtonProps) {\r\n super(props);\r\n\r\n if (props.label)\r\n this._label = props.label;\r\n // istanbul ignore else\r\n else if (props.labelKey)\r\n this._label = UiFramework.localization.getLocalizedString(props.labelKey);\r\n\r\n this.state = {\r\n isVisible: undefined !== props.isVisible ? props.isVisible : true, // eslint-disable-line deprecation/deprecation\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : true, // eslint-disable-line deprecation/deprecation\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n isPressed: undefined !== props.isPressed ? props.isPressed : false,\r\n };\r\n }\r\n\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Minimizes the expandable component. */\r\n public minimize = () => {\r\n if (this._isMounted)\r\n this.setState({\r\n isPressed: false,\r\n });\r\n };\r\n\r\n private _handleSyncUiEvent = (args: SyncUiEventArgs): void => {\r\n // istanbul ignore if\r\n if (this._componentUnmounting) return;\r\n\r\n let refreshState = false;\r\n let newState: BaseItemState = { ...this.state };\r\n\r\n // istanbul ignore else\r\n if (this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n\r\n // istanbul ignore else\r\n if (refreshState) {\r\n // istanbul ignore else\r\n if (this.props.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.stateFunc(newState); // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore next\r\n if ((this.state.isActive !== newState.isActive) || (this.state.isEnabled !== newState.isEnabled) || (this.state.isVisible !== newState.isVisible)) {\r\n if (this._isMounted)\r\n this.setState({ isActive: newState.isActive, isEnabled: newState.isEnabled, isVisible: newState.isVisible });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n this.minimize();\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent): void => {\r\n // istanbul ignore next\r\n if (e.key === SpecialKey.Escape) {\r\n this.minimize();\r\n KeyboardShortcutManager.setFocusToHome();\r\n }\r\n };\r\n\r\n /** Renders PopupButton */\r\n public override render() {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const icon = <Icon iconSpec={this.props.iconSpec} />;\r\n const badge = BadgeUtilities.getComponentForBadgeType(this.props.badgeType);\r\n const { isDisabled, ...otherProps } = this.props;\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isDragEnabled) => {\r\n return (\r\n <ExpandableItem\r\n {...otherProps}\r\n isDisabled={ConditionalBooleanValue.getValue(isDisabled)}\r\n hideIndicator={isDragEnabled}\r\n panel={this.getExpandedContent()}\r\n >\r\n <div ref={this._ref}>\r\n <Item\r\n badge={badge}\r\n icon={icon}\r\n onKeyDown={this._handleKeyDown}\r\n onClick={this._handleClick}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.label}\r\n />\r\n </div>\r\n </ExpandableItem>\r\n );\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n }\r\n\r\n /** Returns expanded content panel */\r\n private getExpandedContent(): React.ReactNode {\r\n if (!this.state.isPressed)\r\n return undefined;\r\n\r\n const classNames = classnames(\r\n \"nz-toolbar-item-expandable-group-panel\",\r\n this.props.noPadding && \"uifw-popupbutton-noPadding\",\r\n );\r\n\r\n return (\r\n <DivWithOnOutsideClick\r\n className={classNames}\r\n onOutsideClick={this._handleOutsideClick}\r\n >\r\n {isFunction<PopupButtonChildrenRenderProp>(this.props.children) ? this.props.children({\r\n closePanel: this.minimize,\r\n }) : this.props.children}\r\n </DivWithOnOutsideClick>\r\n );\r\n }\r\n\r\n private _handleClick = () => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const isPressed = !prevState.isPressed;\r\n return {\r\n isPressed,\r\n };\r\n }, () => {\r\n const expand = !!this.state.isPressed;\r\n\r\n this._closeOnPanelOpened = false;\r\n expand && FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n\r\n this.props.onExpanded && this.props.onExpanded(expand);\r\n });\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.minimize();\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"PopupButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/PopupButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport \"./PopupButton.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, SpecialKey, StringGetter } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { ExpandableItem, Item } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { KeyboardShortcutManager } from \"../keyboardshortcut/KeyboardShortcut\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ItemProps } from \"../shared/ItemProps\";\r\nimport { SyncUiEventArgs, SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n// cSpell:ignore popupbutton\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst DivWithOnOutsideClick = withOnOutsideClick((props: React.HTMLProps<HTMLDivElement>) => (<div {...props} />), undefined, true);\r\n\r\n/** Arguments of [[PopupButtonChildrenRenderProp]].\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonChildrenRenderPropArgs {\r\n closePanel: () => void;\r\n}\r\n\r\n/** Type of [[PopupButtonProps.children]] when used as render prop.\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport type PopupButtonChildrenRenderProp = (args: PopupButtonChildrenRenderPropArgs) => React.ReactNode;\r\n\r\n/** Properties for the [[PopupButton]] React component\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport interface PopupButtonProps extends ItemProps, CommonProps {\r\n children?: React.ReactNode | PopupButtonChildrenRenderProp;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n noPadding?: boolean;\r\n}\r\n\r\nconst isFunction = <T extends (...args: any) => any>(node: React.ReactNode): node is T => {\r\n if (typeof node === \"function\")\r\n return true;\r\n return false;\r\n};\r\n\r\n/**\r\n * Used to provide custom popup button in toolbar.\r\n * @public\r\n * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef\r\n */\r\nexport class PopupButton extends React.Component<PopupButtonProps, BaseItemState> {\r\n private _label: string | StringGetter | ConditionalStringValue = \"\";\r\n private _componentUnmounting = false;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n private _isMounted = false;\r\n\r\n constructor(props: PopupButtonProps) {\r\n super(props);\r\n\r\n if (props.label)\r\n this._label = props.label;\r\n // istanbul ignore else\r\n else if (props.labelKey)\r\n this._label = UiFramework.localization.getLocalizedString(props.labelKey);\r\n\r\n this.state = {\r\n isVisible: undefined !== props.isVisible ? props.isVisible : true, // eslint-disable-line deprecation/deprecation\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : true, // eslint-disable-line deprecation/deprecation\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n isPressed: undefined !== props.isPressed ? props.isPressed : false,\r\n };\r\n }\r\n\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n /** Minimizes the expandable component. */\r\n public minimize = () => {\r\n if (this._isMounted)\r\n this.setState({\r\n isPressed: false,\r\n });\r\n };\r\n\r\n private _handleSyncUiEvent = (args: SyncUiEventArgs): void => {\r\n // istanbul ignore if\r\n if (this._componentUnmounting) return;\r\n\r\n let refreshState = false;\r\n let newState: BaseItemState = { ...this.state };\r\n\r\n // istanbul ignore else\r\n if (this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n\r\n // istanbul ignore else\r\n if (refreshState) {\r\n // istanbul ignore else\r\n if (this.props.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.stateFunc(newState); // eslint-disable-line deprecation/deprecation\r\n // istanbul ignore next\r\n if ((this.state.isActive !== newState.isActive) || (this.state.isEnabled !== newState.isEnabled) || (this.state.isVisible !== newState.isVisible)) {\r\n if (this._isMounted)\r\n this.setState({ isActive: newState.isActive, isEnabled: newState.isEnabled, isVisible: newState.isVisible });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n this.minimize();\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent): void => {\r\n // istanbul ignore next\r\n if (e.key === SpecialKey.Escape) {\r\n this.minimize();\r\n KeyboardShortcutManager.setFocusToHome();\r\n }\r\n };\r\n\r\n /** Renders PopupButton */\r\n public override render() {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const icon = <Icon iconSpec={this.props.iconSpec} />;\r\n const badge = BadgeUtilities.getComponentForBadgeType(this.props.badgeType);\r\n const { isDisabled, ...otherProps } = this.props;\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isDragEnabled) => {\r\n return (\r\n <ExpandableItem\r\n {...otherProps}\r\n isDisabled={ConditionalBooleanValue.getValue(isDisabled)}\r\n hideIndicator={isDragEnabled}\r\n panel={this.getExpandedContent()}\r\n >\r\n <div ref={this._ref}>\r\n <Item\r\n badge={badge}\r\n icon={icon}\r\n onKeyDown={this._handleKeyDown}\r\n onClick={this._handleClick}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.label}\r\n />\r\n </div>\r\n </ExpandableItem>\r\n );\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n }\r\n\r\n /** Returns expanded content panel */\r\n private getExpandedContent(): React.ReactNode {\r\n if (!this.state.isPressed)\r\n return undefined;\r\n\r\n const classNames = classnames(\r\n \"nz-toolbar-item-expandable-group-panel\",\r\n this.props.noPadding && \"uifw-popupbutton-noPadding\",\r\n );\r\n\r\n return (\r\n <DivWithOnOutsideClick\r\n className={classNames}\r\n onOutsideClick={this._handleOutsideClick}\r\n >\r\n {isFunction<PopupButtonChildrenRenderProp>(this.props.children) ? this.props.children({\r\n closePanel: this.minimize,\r\n }) : this.props.children}\r\n </DivWithOnOutsideClick>\r\n );\r\n }\r\n\r\n private _handleClick = () => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState((prevState) => {\r\n const isPressed = !prevState.isPressed;\r\n return {\r\n isPressed,\r\n };\r\n }, () => {\r\n const expand = !!this.state.isPressed;\r\n\r\n this._closeOnPanelOpened = false;\r\n expand && FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n\r\n this.props.onExpanded && this.props.onExpanded(expand);\r\n });\r\n };\r\n\r\n private _handleOutsideClick = (e: MouseEvent) => {\r\n this._ref.current && (e.target instanceof Node) && !this._ref.current.contains(e.target) && this.minimize();\r\n };\r\n}\r\n"]}
@@ -6,13 +6,13 @@ import { CommonProps } from "@itwin/core-react";
6
6
  import { BaseItemState } from "../shared/ItemDefBase";
7
7
  import { ToolItemProps } from "../shared/ItemProps";
8
8
  /** Properties for the [[ToolButton]] React Component.
9
- * @deprecated Props of a deprecated component.
9
+ * @deprecated in 3.5. Props of a deprecated component.
10
10
  * @public
11
11
  */
12
12
  export interface ToolButtonProps extends ToolItemProps, CommonProps {
13
13
  }
14
14
  /** Tool Button React Component.
15
- * @deprecated Use [CommonToolbarItem]($appui-abstract) instead.
15
+ * @deprecated in 3.5. Use [CommonToolbarItem]($appui-abstract) instead.
16
16
  * @public
17
17
  */
18
18
  export declare class ToolButton extends React.Component<ToolButtonProps, BaseItemState> {
@@ -18,7 +18,7 @@ const UiFramework_1 = require("../UiFramework");
18
18
  const PropsHelper_1 = require("../utils/PropsHelper");
19
19
  const useEscapeSetFocusToHome_1 = require("../hooks/useEscapeSetFocusToHome");
20
20
  /** Tool Button React Component.
21
- * @deprecated Use [CommonToolbarItem]($appui-abstract) instead.
21
+ * @deprecated in 3.5. Use [CommonToolbarItem]($appui-abstract) instead.
22
22
  * @public
23
23
  */
24
24
  class ToolButton extends React.Component {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { IModelApp, Tool } from \"@itwin/core-frontend\";\r\nimport { ConditionalStringValue, StringGetter, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon } from \"@itwin/core-react\";\r\nimport { getToolbarItemProps, Item } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemProps } from \"../shared/ItemProps\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { onEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\r\n\r\n/** Properties for the [[ToolButton]] React Component.\r\n * @deprecated Props of a deprecated component.\r\n * @public\r\n */\r\nexport interface ToolButtonProps extends ToolItemProps, CommonProps { }\r\n\r\n/** Tool Button React Component.\r\n * @deprecated Use [CommonToolbarItem]($appui-abstract) instead.\r\n * @public\r\n */\r\nexport class ToolButton extends React.Component<ToolButtonProps, BaseItemState> { // eslint-disable-line deprecation/deprecation\r\n private _componentUnmounting = false;\r\n private _label: string | StringGetter | ConditionalStringValue = \"\";\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BaseItemState>;\r\n\r\n constructor(props: ToolItemProps) {\r\n super(props);\r\n\r\n if (props.label)\r\n this._label = props.label;\r\n else if (props.labelKey)\r\n this._label = UiFramework.localization.getLocalizedString(props.labelKey);\r\n\r\n this.state = {\r\n isVisible: undefined !== props.isVisible ? props.isVisible : true, // eslint-disable-line deprecation/deprecation\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : true, // eslint-disable-line deprecation/deprecation\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n isPressed: undefined !== props.isPressed ? props.isPressed : false,\r\n };\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n // istanbul ignore if\r\n if (this._componentUnmounting) return;\r\n\r\n let refreshState = false;\r\n let newState: BaseItemState = { ...this.state };\r\n\r\n // since this is a tool button automatically monitor the activation of tools so the active state of the button is updated.\r\n if (args.eventIds.has(SyncUiEventId.ToolActivated)) {\r\n newState.isActive = this.props.toolId === FrontstageManager.activeToolId;\r\n refreshState = true;\r\n }\r\n\r\n if (!refreshState && this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n\r\n if (refreshState) {\r\n if (this.props.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.stateFunc(newState); // eslint-disable-line deprecation/deprecation\r\n\r\n // istanbul ignore next\r\n if ((this.state.isActive !== newState.isActive) ||\r\n ( /* istanbul ignore next */ this.state.isEnabled !== newState.isEnabled) ||\r\n ( /* istanbul ignore next */ this.state.isVisible !== newState.isVisible)) {\r\n this.setState({\r\n isActive: newState.isActive,\r\n isEnabled: newState.isEnabled,\r\n isVisible: newState.isVisible,\r\n });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n }\r\n\r\n private _execute = async () => {\r\n if (this.props.execute) {\r\n this.props.execute();\r\n } else {\r\n const thisTool: typeof Tool | undefined = IModelApp.tools.find(this.props.toolId);\r\n // istanbul ignore next\r\n if (thisTool)\r\n await (new thisTool()).run();\r\n }\r\n };\r\n\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const icon = <Icon iconSpec={this.props.iconSpec} />;\r\n const toolbarItemProps = getToolbarItemProps(this.props);\r\n const badge = BadgeUtilities.getComponentForBadgeType(this.props.badgeType);\r\n\r\n return (\r\n <Item // eslint-disable-line deprecation/deprecation\r\n {...toolbarItemProps}\r\n className={this.props.className}\r\n style={this.props.style}\r\n isActive={this.state.isActive}\r\n isDisabled={!this.state.isEnabled}\r\n title={this.label}\r\n key={this.props.toolId}\r\n onClick={this._execute}\r\n onKeyDown={onEscapeSetFocusToHome}\r\n icon={icon}\r\n badge={badge}\r\n />\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolButton.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Item\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { IModelApp, Tool } from \"@itwin/core-frontend\";\r\nimport { ConditionalStringValue, StringGetter, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, CommonProps, Icon } from \"@itwin/core-react\";\r\nimport { getToolbarItemProps, Item } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemProps } from \"../shared/ItemProps\";\r\nimport { SyncUiEventDispatcher, SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { PropsHelper } from \"../utils/PropsHelper\";\r\nimport { onEscapeSetFocusToHome } from \"../hooks/useEscapeSetFocusToHome\";\r\n\r\n/** Properties for the [[ToolButton]] React Component.\r\n * @deprecated in 3.5. Props of a deprecated component.\r\n * @public\r\n */\r\nexport interface ToolButtonProps extends ToolItemProps, CommonProps { }\r\n\r\n/** Tool Button React Component.\r\n * @deprecated in 3.5. Use [CommonToolbarItem]($appui-abstract) instead.\r\n * @public\r\n */\r\nexport class ToolButton extends React.Component<ToolButtonProps, BaseItemState> { // eslint-disable-line deprecation/deprecation\r\n private _componentUnmounting = false;\r\n private _label: string | StringGetter | ConditionalStringValue = \"\";\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BaseItemState>;\r\n\r\n constructor(props: ToolItemProps) {\r\n super(props);\r\n\r\n if (props.label)\r\n this._label = props.label;\r\n else if (props.labelKey)\r\n this._label = UiFramework.localization.getLocalizedString(props.labelKey);\r\n\r\n this.state = {\r\n isVisible: undefined !== props.isVisible ? props.isVisible : true, // eslint-disable-line deprecation/deprecation\r\n isEnabled: undefined !== props.isEnabled ? props.isEnabled : true, // eslint-disable-line deprecation/deprecation\r\n isActive: undefined !== props.isActive ? props.isActive : false,\r\n isPressed: undefined !== props.isPressed ? props.isPressed : false,\r\n };\r\n }\r\n\r\n private _handleSyncUiEvent = (args: UiSyncEventArgs): void => {\r\n // istanbul ignore if\r\n if (this._componentUnmounting) return;\r\n\r\n let refreshState = false;\r\n let newState: BaseItemState = { ...this.state };\r\n\r\n // since this is a tool button automatically monitor the activation of tools so the active state of the button is updated.\r\n if (args.eventIds.has(SyncUiEventId.ToolActivated)) {\r\n newState.isActive = this.props.toolId === FrontstageManager.activeToolId;\r\n refreshState = true;\r\n }\r\n\r\n if (!refreshState && this.props.stateSyncIds && this.props.stateSyncIds.length > 0) // eslint-disable-line deprecation/deprecation\r\n refreshState = this.props.stateSyncIds.some((value: string): boolean => args.eventIds.has(value.toLowerCase())); // eslint-disable-line deprecation/deprecation\r\n\r\n if (refreshState) {\r\n if (this.props.stateFunc) // eslint-disable-line deprecation/deprecation\r\n newState = this.props.stateFunc(newState); // eslint-disable-line deprecation/deprecation\r\n\r\n // istanbul ignore next\r\n if ((this.state.isActive !== newState.isActive) ||\r\n ( /* istanbul ignore next */ this.state.isEnabled !== newState.isEnabled) ||\r\n ( /* istanbul ignore next */ this.state.isVisible !== newState.isVisible)) {\r\n this.setState({\r\n isActive: newState.isActive,\r\n isEnabled: newState.isEnabled,\r\n isVisible: newState.isVisible,\r\n });\r\n }\r\n }\r\n };\r\n\r\n public override componentDidMount() {\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(this._handleSyncUiEvent);\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._componentUnmounting = true;\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(this._handleSyncUiEvent);\r\n }\r\n\r\n private _execute = async () => {\r\n if (this.props.execute) {\r\n this.props.execute();\r\n } else {\r\n const thisTool: typeof Tool | undefined = IModelApp.tools.find(this.props.toolId);\r\n // istanbul ignore next\r\n if (thisTool)\r\n await (new thisTool()).run();\r\n }\r\n };\r\n\r\n public get label(): string {\r\n return PropsHelper.getStringFromSpec(this._label);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n if (!this.state.isVisible)\r\n return null;\r\n\r\n const icon = <Icon iconSpec={this.props.iconSpec} />;\r\n const toolbarItemProps = getToolbarItemProps(this.props);\r\n const badge = BadgeUtilities.getComponentForBadgeType(this.props.badgeType);\r\n\r\n return (\r\n <Item // eslint-disable-line deprecation/deprecation\r\n {...toolbarItemProps}\r\n className={this.props.className}\r\n style={this.props.style}\r\n isActive={this.state.isActive}\r\n isDisabled={!this.state.isEnabled}\r\n title={this.label}\r\n key={this.props.toolId}\r\n onClick={this._execute}\r\n onKeyDown={onEscapeSetFocusToHome}\r\n icon={icon}\r\n badge={badge}\r\n />\r\n );\r\n }\r\n}\r\n"]}
@@ -218,7 +218,7 @@ function ToolbarComposer(props) {
218
218
  const addonSyncIdsOfInterest = React.useMemo(() => appui_abstract_1.ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);
219
219
  useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);
220
220
  const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);
221
- const toolbarOrientation = orientation === appui_abstract_1.ToolbarOrientation.Horizontal ? core_react_1.Orientation.Horizontal : core_react_1.Orientation.Vertical;
221
+ const toolbarOrientation = orientation === appui_abstract_1.ToolbarOrientation.Horizontal ? core_react_1.Orientation.Horizontal : core_react_1.Orientation.Vertical; // eslint-disable-line deprecation/deprecation
222
222
  // eslint-disable-next-line deprecation/deprecation
223
223
  const expandsTo = toolbarOrientation === core_react_1.Orientation.Horizontal ? appui_layout_react_1.Direction.Bottom : usage === appui_abstract_1.ToolbarUsage.ViewNavigation ? appui_layout_react_1.Direction.Left : appui_layout_react_1.Direction.Right;
224
224
  // eslint-disable-next-line deprecation/deprecation
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalBooleanValue, GroupButton, ToolbarItemsManager, ToolbarItemUtilities, ToolbarOrientation, ToolbarUsage, UiSyncEventArgs,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { ToolbarItem, ToolbarOpacitySetting, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Direction, Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager, ToolActivatedEventArgs } from \"../frontstage/FrontstageManager\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { ToolbarHelper } from \"./ToolbarHelper\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n };\r\n\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ActionButton | GroupButton>, groupChildren: Array<ActionButton | GroupButton>): Array<ActionButton | GroupButton> {\r\n const outItems: Array<ActionButton | GroupButton> = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly CommonToolbarItem[], groupChildren: Array<ActionButton | GroupButton>): CommonToolbarItem[] {\r\n const outItems: CommonToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: GroupButton): GroupButton {\r\n const childItems: Array<ActionButton | GroupButton> = [];\r\n inGroup.items.forEach((item) => {\r\n if (ToolbarItemUtilities.isGroupButton(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: GroupButton): ReadonlyArray<ActionButton | GroupButton> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<CommonToolbarItem>, addonItems: ReadonlyArray<CommonToolbarItem>) {\r\n let items: CommonToolbarItem[] = [];\r\n const groupChildren: Array<ActionButton | GroupButton> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem: ActionButton | GroupButton) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentToolGroupId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiShowHideManager.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: CommonToolbarItem[];\r\n usage: ToolbarUsage;\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation;\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const version = useFrameworkVersion(); // eslint-disable-line deprecation/deprecation\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n if (\"1\" === version) {\r\n return (\r\n <ToolbarUi1\r\n items={toolbarItems}\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n />\r\n );\r\n }\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={toolbarItems}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n\r\ninterface ToolbarUi1Props {\r\n items: CommonToolbarItem[];\r\n expandsTo: Direction; // eslint-disable-line deprecation/deprecation\r\n panelAlignment: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Toolbar rendered in 1.0 mode.\r\n * @internal\r\n */\r\nconst ToolbarUi1 = React.memo<ToolbarUi1Props>(function ToolbarUi1({\r\n items,\r\n expandsTo,\r\n panelAlignment,\r\n}) {\r\n const createReactNodes = (): React.ReactNode => {\r\n if (0 === items.length)\r\n return null;\r\n\r\n const createdNodes = items.map((item: CommonToolbarItem) => {\r\n return ToolbarHelper.createNodeForToolbarItem(item);\r\n });\r\n return createdNodes;\r\n };\r\n\r\n return <Toolbar // eslint-disable-line deprecation/deprecation\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={\r\n <>\r\n {createReactNodes()}\r\n </>\r\n }\r\n />;\r\n});\r\n"]}
1
+ {"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalBooleanValue, GroupButton, ToolbarItemsManager, ToolbarItemUtilities, ToolbarOrientation, ToolbarUsage, UiSyncEventArgs,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { ToolbarItem, ToolbarOpacitySetting, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Direction, Toolbar, ToolbarPanelAlignment } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager, ToolActivatedEventArgs } from \"../frontstage/FrontstageManager\";\r\nimport { useFrameworkVersion } from \"../hooks/useFrameworkVersion\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { UiShowHideManager } from \"../utils/UiShowHideManager\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { ToolbarHelper } from \"./ToolbarHelper\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\n\r\n/** Private function to set up sync event monitoring of toolbar items */\r\nfunction useToolbarItemSyncEffect(uiDataProvider: ToolbarItemsManager, syncIdsOfInterest: string[]) {\r\n React.useEffect(() => {\r\n const handleSyncUiEvent = (args: UiSyncEventArgs) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n uiDataProvider.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n const handleToolActivatedEvent = ({ toolId }: ToolActivatedEventArgs) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n };\r\n\r\n FrontstageManager.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n\r\n return () => {\r\n FrontstageManager.onToolActivatedEvent.removeListener(handleToolActivatedEvent);\r\n };\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ActionButton | GroupButton>, groupChildren: Array<ActionButton | GroupButton>): Array<ActionButton | GroupButton> {\r\n const outItems: Array<ActionButton | GroupButton> = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction addItemToSpecifiedParentGroup(items: readonly CommonToolbarItem[], groupChildren: Array<ActionButton | GroupButton>): CommonToolbarItem[] {\r\n const outItems: CommonToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ActionButton | GroupButton> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentToolGroupId === toolbarItem.id) {\r\n foundIndices.push(index);\r\n }\r\n });\r\n\r\n // istanbul ignore else\r\n if (foundIndices.length) {\r\n // process in reverse order so groupChildren can be reduced as we find matches\r\n foundIndices.sort(\r\n // istanbul ignore next\r\n (a, b) => a - b,\r\n ).reverse().forEach((foundIndex) => {\r\n newChildren.push(groupChildren[foundIndex]);\r\n groupChildren.splice(foundIndex);\r\n });\r\n }\r\n\r\n outItems.push({ ...toolbarItem, items: newChildren });\r\n }\r\n return outItems;\r\n}\r\n\r\nfunction cloneGroup(inGroup: GroupButton): GroupButton {\r\n const childItems: Array<ActionButton | GroupButton> = [];\r\n inGroup.items.forEach((item) => {\r\n if (ToolbarItemUtilities.isGroupButton(item))\r\n childItems.push(cloneGroup(item));\r\n else\r\n childItems.push(item);\r\n });\r\n\r\n const clonedGroup = { ...inGroup, items: childItems };\r\n return clonedGroup;\r\n}\r\n\r\nfunction getItemSortValue(item: ToolbarItem) {\r\n const groupValue = undefined === item.groupPriority ? 0 : /* istanbul ignore next */ item.groupPriority;\r\n return groupValue * 10000 + item.itemPriority;\r\n}\r\n\r\nfunction getSortedChildren(group: GroupButton): ReadonlyArray<ActionButton | GroupButton> {\r\n const sortedChildren = group.items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n return sortedChildren;\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(defaultItems: ReadonlyArray<CommonToolbarItem>, addonItems: ReadonlyArray<CommonToolbarItem>) {\r\n let items: CommonToolbarItem[] = [];\r\n const groupChildren: Array<ActionButton | GroupButton> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n // istanbul ignore else\r\n if (addonItems.length) {\r\n addonItems.forEach((srcItem: CommonToolbarItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\r\n const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))\r\n groupChildren.push(toolbarItem);\r\n else\r\n items.push(toolbarItem);\r\n }\r\n });\r\n }\r\n\r\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\r\n if (groupChildren.length) {\r\n items = addItemToSpecifiedParentGroup(items, groupChildren);\r\n\r\n if (groupChildren.length) {\r\n groupChildren.forEach((toolbarItem: ActionButton | GroupButton) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentToolGroupId!}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);\r\n items.push(toolbarItem);\r\n });\r\n }\r\n }\r\n\r\n const availableItems = items\r\n .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))\r\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\r\n .map((i) => {\r\n if (ToolbarItemUtilities.isGroupButton(i)) {\r\n return { ...i, items: getSortedChildren(i) };\r\n }\r\n return i;\r\n });\r\n\r\n return availableItems;\r\n}\r\n\r\nconst useProximityOpacitySetting = () => {\r\n const [proximityOpacity, setProximityOpacity] = React.useState(UiShowHideManager.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiShowHideManager.useProximityOpacity);\r\n };\r\n UiFramework.onUiVisibilityChanged.addListener(handleUiVisibilityChanged);\r\n return () => {\r\n UiFramework.onUiVisibilityChanged.removeListener(handleUiVisibilityChanged);\r\n };\r\n }, []);\r\n return proximityOpacity;\r\n};\r\n\r\n/** Properties for the [[ToolbarComposer]] React components\r\n * @public\r\n */\r\nexport interface ExtensibleToolbarProps {\r\n items: CommonToolbarItem[];\r\n usage: ToolbarUsage; // eslint-disable-line deprecation/deprecation\r\n /** Toolbar orientation. */\r\n orientation: ToolbarOrientation; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/**\r\n * Toolbar that is populated and maintained by item managers.\r\n * @public\r\n */\r\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\r\n const { usage, orientation } = props;\r\n\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new ToolbarItemsManager(props.items));\r\n React.useEffect(() => {\r\n setDefaultItemsManager(new ToolbarItemsManager(props.items));\r\n }, [props.items]); // eslint-disable-line react-hooks/exhaustive-deps\r\n\r\n // process default items\r\n const defaultItems = useDefaultToolbarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useToolbarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n // process items from addon UI providers\r\n const [addonItemsManager] = React.useState(() => new ToolbarItemsManager());\r\n const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);\r\n const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical; // eslint-disable-line deprecation/deprecation\r\n // eslint-disable-next-line deprecation/deprecation\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n // eslint-disable-next-line deprecation/deprecation\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const version = useFrameworkVersion(); // eslint-disable-line deprecation/deprecation\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\r\n\r\n if (\"1\" === version) {\r\n return (\r\n <ToolbarUi1\r\n items={toolbarItems}\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n />\r\n );\r\n }\r\n\r\n return <ToolbarWithOverflow\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={toolbarItems}\r\n useDragInteraction={isDragEnabled}\r\n toolbarOpacitySetting={useProximityOpacity && !UiFramework.isMobile() ? ToolbarOpacitySetting.Proximity : /* istanbul ignore next */ ToolbarOpacitySetting.Defaults}\r\n />;\r\n}\r\n\r\ninterface ToolbarUi1Props {\r\n items: CommonToolbarItem[];\r\n expandsTo: Direction; // eslint-disable-line deprecation/deprecation\r\n panelAlignment: ToolbarPanelAlignment; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** Toolbar rendered in 1.0 mode.\r\n * @internal\r\n */\r\nconst ToolbarUi1 = React.memo<ToolbarUi1Props>(function ToolbarUi1({\r\n items,\r\n expandsTo,\r\n panelAlignment,\r\n}) {\r\n const createReactNodes = (): React.ReactNode => {\r\n if (0 === items.length)\r\n return null;\r\n\r\n const createdNodes = items.map((item: CommonToolbarItem) => {\r\n return ToolbarHelper.createNodeForToolbarItem(item);\r\n });\r\n return createdNodes;\r\n };\r\n\r\n return <Toolbar // eslint-disable-line deprecation/deprecation\r\n expandsTo={expandsTo}\r\n panelAlignment={panelAlignment}\r\n items={\r\n <>\r\n {createReactNodes()}\r\n </>\r\n }\r\n />;\r\n});\r\n"]}
@@ -0,0 +1,53 @@
1
+ /** @packageDocumentation
2
+ * @module Toolbar
3
+ */
4
+ import { ActionButton, CustomButtonDefinition, GroupButton, CommonToolbarItem as UIA_CommonToolbarItem, ToolbarItem as UIA_ToolbarItem, ToolbarOrientation as UIA_ToolbarOrientation, ToolbarUsage as UIA_ToolbarUsage } from "@itwin/appui-abstract";
5
+ /** Used to specify the usage of the toolbar which determine the toolbar position.
6
+ * @beta
7
+ */
8
+ export declare type ToolbarUsage = UIA_ToolbarUsage;
9
+ /** Used to specify the usage of the toolbar which determine the toolbar position.
10
+ * @beta
11
+ */
12
+ export declare const ToolbarUsage: typeof UIA_ToolbarUsage;
13
+ /** Used to specify the orientation of the toolbar.
14
+ * @beta
15
+ */
16
+ export declare type ToolbarOrientation = UIA_ToolbarOrientation;
17
+ /** Used to specify the orientation of the toolbar.
18
+ * @beta
19
+ */
20
+ export declare const ToolbarOrientation: typeof UIA_ToolbarOrientation;
21
+ /** Describes the data needed to insert a UI items into an existing set of UI items.
22
+ * @beta
23
+ */
24
+ export declare type CommonToolbarItem = UIA_ToolbarItem;
25
+ /** Describes the data needed to insert an action button into a toolbar.
26
+ * @beta
27
+ */
28
+ export declare type ToolbarActionItem = ActionButton;
29
+ /** Describes the data needed to insert a group button into a toolbar.
30
+ * @beta
31
+ */
32
+ export declare type ToolbarGroupItem = GroupButton;
33
+ /** Describes the data needed to insert a custom button into a toolbar.
34
+ * @beta
35
+ */
36
+ export declare type ToolbarCustomItem = CustomButtonDefinition;
37
+ /** Any Button Type that can be inserted into a toolbar.
38
+ * @beta
39
+ */
40
+ export declare type ToolbarItem = UIA_CommonToolbarItem;
41
+ /** ToolbarActionItem type guard.
42
+ * @beta
43
+ */
44
+ export declare function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem;
45
+ /** ToolbarGroupItem type guard.
46
+ * @beta
47
+ */
48
+ export declare function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem;
49
+ /** ToolbarCustomItem type guard.
50
+ * @beta
51
+ */
52
+ export declare function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem;
53
+ //# sourceMappingURL=ToolbarItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,WAAW,EACX,iBAAiB,IAAI,qBAAqB,EAC1C,WAAW,IAAI,eAAe,EAE9B,kBAAkB,IAAI,sBAAsB,EAC5C,YAAY,IAAI,gBAAgB,EACjC,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,oBAAY,YAAY,GAAG,gBAAgB,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,YAAY,yBAAmB,CAAC;AAE7C;;GAEG;AACH,oBAAY,kBAAkB,GAAG,sBAAsB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,kBAAkB,+BAAyB,CAAC;AAEzD;;GAEG;AACH,oBAAY,iBAAiB,GAAG,eAAe,CAAC;AAEhD;;GAEG;AACH,oBAAY,iBAAiB,GAAG,YAAY,CAAC;AAE7C;;GAEG;AACH,oBAAY,gBAAgB,GAAG,WAAW,CAAC;AAE3C;;GAEG;AACH,oBAAY,iBAAiB,GAAG,sBAAsB,CAAC;AAEvD;;GAEG;AACH,oBAAY,WAAW,GAAG,qBAAqB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,iBAAiB,CAEhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,gBAAgB,CAE9E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,iBAAiB,CAEhF"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Toolbar
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.isToolbarCustomItem = exports.isToolbarGroupItem = exports.isToolbarActionItem = exports.ToolbarOrientation = exports.ToolbarUsage = void 0;
11
+ const appui_abstract_1 = require("@itwin/appui-abstract");
12
+ /** Used to specify the usage of the toolbar which determine the toolbar position.
13
+ * @beta
14
+ */
15
+ exports.ToolbarUsage = appui_abstract_1.ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
16
+ /** Used to specify the orientation of the toolbar.
17
+ * @beta
18
+ */
19
+ exports.ToolbarOrientation = appui_abstract_1.ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
20
+ /** ToolbarActionItem type guard.
21
+ * @beta
22
+ */
23
+ function isToolbarActionItem(item) {
24
+ return appui_abstract_1.ToolbarItemUtilities.isActionButton(item);
25
+ }
26
+ exports.isToolbarActionItem = isToolbarActionItem;
27
+ /** ToolbarGroupItem type guard.
28
+ * @beta
29
+ */
30
+ function isToolbarGroupItem(item) {
31
+ return appui_abstract_1.ToolbarItemUtilities.isGroupButton(item);
32
+ }
33
+ exports.isToolbarGroupItem = isToolbarGroupItem;
34
+ /** ToolbarCustomItem type guard.
35
+ * @beta
36
+ */
37
+ function isToolbarCustomItem(item) {
38
+ return appui_abstract_1.ToolbarItemUtilities.isCustomDefinition(item);
39
+ }
40
+ exports.isToolbarCustomItem = isToolbarCustomItem;
41
+ //# sourceMappingURL=ToolbarItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,0DAS+B;AAO/B;;GAEG;AACU,QAAA,YAAY,GAAG,6BAAgB,CAAC,CAAC,+EAA+E;AAO7H;;GAEG;AACU,QAAA,kBAAkB,GAAG,mCAAsB,CAAC,CAAC,+EAA+E;AA2BzI;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,qCAAwB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAFD,kDAEC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAiB;IAClD,OAAO,qCAAwB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAFD,gDAEC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,IAAiB;IACnD,OAAO,qCAAwB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAFD,kDAEC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport {\r\n ActionButton,\r\n CustomButtonDefinition,\r\n GroupButton,\r\n CommonToolbarItem as UIA_CommonToolbarItem,\r\n ToolbarItem as UIA_ToolbarItem,\r\n ToolbarItemUtilities as UIA_ToolbarItemUtilities,\r\n ToolbarOrientation as UIA_ToolbarOrientation,\r\n ToolbarUsage as UIA_ToolbarUsage,\r\n} from \"@itwin/appui-abstract\";\r\n\r\n/** Used to specify the usage of the toolbar which determine the toolbar position.\r\n * @beta\r\n */\r\nexport type ToolbarUsage = UIA_ToolbarUsage; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Used to specify the usage of the toolbar which determine the toolbar position.\r\n * @beta\r\n */\r\nexport const ToolbarUsage = UIA_ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation\r\n\r\n/** Used to specify the orientation of the toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarOrientation = UIA_ToolbarOrientation; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Used to specify the orientation of the toolbar.\r\n * @beta\r\n */\r\nexport const ToolbarOrientation = UIA_ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation\r\n\r\n/** Describes the data needed to insert a UI items into an existing set of UI items.\r\n * @beta\r\n */\r\nexport type CommonToolbarItem = UIA_ToolbarItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert an action button into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarActionItem = ActionButton;\r\n\r\n/** Describes the data needed to insert a group button into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarGroupItem = GroupButton;\r\n\r\n/** Describes the data needed to insert a custom button into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarCustomItem = CustomButtonDefinition;\r\n\r\n/** Any Button Type that can be inserted into a toolbar.\r\n * @beta\r\n */\r\nexport type ToolbarItem = UIA_CommonToolbarItem;\r\n\r\n/** ToolbarActionItem type guard.\r\n * @beta\r\n */\r\nexport function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem {\r\n return UIA_ToolbarItemUtilities.isActionButton(item);\r\n}\r\n\r\n/** ToolbarGroupItem type guard.\r\n * @beta\r\n */\r\nexport function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem {\r\n return UIA_ToolbarItemUtilities.isGroupButton(item);\r\n}\r\n\r\n/** ToolbarCustomItem type guard.\r\n * @beta\r\n */\r\nexport function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem {\r\n return UIA_ToolbarItemUtilities.isCustomDefinition(item);\r\n}\r\n"]}
@@ -0,0 +1,14 @@
1
+ /** @packageDocumentation
2
+ * @module Toolbar
3
+ */
4
+ import { ToolbarActionItem, ToolbarGroupItem } from "./ToolbarItem";
5
+ /** Helper class to create StatusBar Item definitions.
6
+ * @beta
7
+ */
8
+ export declare namespace ToolbarItemUtilities {
9
+ /** Creates an Action Button */
10
+ function createActionItem(id: ToolbarActionItem["id"], itemPriority: ToolbarActionItem["itemPriority"], icon: ToolbarActionItem["icon"], label: ToolbarActionItem["label"], execute: ToolbarActionItem["execute"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem;
11
+ /** Creates a Group button */
12
+ function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem["icon"], label: ToolbarGroupItem["label"], items: ToolbarGroupItem["items"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem;
13
+ }
14
+ //# sourceMappingURL=ToolbarItemUtilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarItemUtilities.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEpE;;GAEG;AACH,yBAAiB,oBAAoB,CAAC;IACpC,+BAA+B;IAC/B,SAAgB,gBAAgB,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAEnR;IAED,6BAA6B;IAC7B,SAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAE7N;CACF"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Toolbar
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ToolbarItemUtilities = void 0;
11
+ const appui_abstract_1 = require("@itwin/appui-abstract");
12
+ /** Helper class to create StatusBar Item definitions.
13
+ * @beta
14
+ */
15
+ var ToolbarItemUtilities;
16
+ (function (ToolbarItemUtilities) {
17
+ /** Creates an Action Button */
18
+ function createActionItem(id, itemPriority, icon, label, execute, overrides) {
19
+ return appui_abstract_1.ToolbarItemUtilities.createActionButton(id, itemPriority, icon, label, execute, overrides); // eslint-disable-line deprecation/deprecation
20
+ }
21
+ ToolbarItemUtilities.createActionItem = createActionItem;
22
+ /** Creates a Group button */
23
+ function createGroupItem(id, itemPriority, icon, label, items, overrides) {
24
+ return appui_abstract_1.ToolbarItemUtilities.createGroupButton(id, itemPriority, icon, label, items, overrides); // eslint-disable-line deprecation/deprecation
25
+ }
26
+ ToolbarItemUtilities.createGroupItem = createGroupItem;
27
+ })(ToolbarItemUtilities = exports.ToolbarItemUtilities || (exports.ToolbarItemUtilities = {}));
28
+ //# sourceMappingURL=ToolbarItemUtilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItemUtilities.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,0DAA0F;AAG1F;;GAEG;AACH,IAAiB,oBAAoB,CAUpC;AAVD,WAAiB,oBAAoB;IACnC,+BAA+B;IAC/B,SAAgB,gBAAgB,CAAC,EAA2B,EAAE,YAA+C,EAAE,IAA+B,EAAE,KAAiC,EAAE,OAAqC,EAAE,SAAsC;QAC9P,OAAO,qCAAwB,CAAC,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,8CAA8C;IACvJ,CAAC;IAFe,qCAAgB,mBAE/B,CAAA;IAED,6BAA6B;IAC7B,SAAgB,eAAe,CAAC,EAAU,EAAE,YAAoB,EAAE,IAA8B,EAAE,KAAgC,EAAE,KAAgC,EAAE,SAAqC;QACzM,OAAO,qCAAwB,CAAC,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,8CAA8C;IACpJ,CAAC;IAFe,oCAAe,kBAE9B,CAAA;AACH,CAAC,EAVgB,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAUpC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\n\r\nimport { ToolbarItemUtilities as UIA_ToolbarItemUtilities } from \"@itwin/appui-abstract\";\r\nimport { ToolbarActionItem, ToolbarGroupItem } from \"./ToolbarItem\";\r\n\r\n/** Helper class to create StatusBar Item definitions.\r\n * @beta\r\n */\r\nexport namespace ToolbarItemUtilities {\r\n /** Creates an Action Button */\r\n export function createActionItem(id: ToolbarActionItem[\"id\"], itemPriority: ToolbarActionItem[\"itemPriority\"], icon: ToolbarActionItem[\"icon\"], label: ToolbarActionItem[\"label\"], execute: ToolbarActionItem[\"execute\"], overrides?: Partial<ToolbarActionItem>): ToolbarActionItem {\r\n return UIA_ToolbarItemUtilities.createActionButton(id, itemPriority, icon, label, execute, overrides); // eslint-disable-line deprecation/deprecation\r\n }\r\n\r\n /** Creates a Group button */\r\n export function createGroupItem(id: string, itemPriority: number, icon: ToolbarGroupItem[\"icon\"], label: ToolbarGroupItem[\"label\"], items: ToolbarGroupItem[\"items\"], overrides?: Partial<ToolbarGroupItem>): ToolbarGroupItem {\r\n return UIA_ToolbarItemUtilities.createGroupButton(id, itemPriority, icon, label, items, overrides); // eslint-disable-line deprecation/deprecation\r\n }\r\n}\r\n"]}
@@ -10,7 +10,7 @@ import { GroupItemDef } from "../toolbar/GroupItem";
10
10
  */
11
11
  export declare class CoreTools {
12
12
  /** Get the CustomItemDef for PopupButton
13
- * @deprecated
13
+ * @deprecated in 3.6.
14
14
  * @public
15
15
  */
16
16
  static get keyinBrowserButtonItemDef(): CustomItemDef;
@@ -33,7 +33,7 @@ const camera_animation_disabled_svg_1 = require("@itwin/itwinui-icons/icons/came
33
33
  // istanbul ignore next
34
34
  class CoreTools {
35
35
  /** Get the CustomItemDef for PopupButton
36
- * @deprecated
36
+ * @deprecated in 3.6.
37
37
  * @public
38
38
  */
39
39
  static get keyinBrowserButtonItemDef() {