@itwin/appui-react 4.0.0-dev.10 → 4.0.0-dev.11

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 (693) hide show
  1. package/lib/cjs/appui-react/_variables.scss +4 -5
  2. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -1
  3. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  5. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -2
  7. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/Calculator.scss +12 -14
  9. package/lib/cjs/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/MenuButton.js +2 -1
  11. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/SquareButton.scss +10 -25
  13. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +1 -1
  14. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/backstage/BackstageComposer.js +16 -19
  16. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  18. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +5 -5
  20. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +44 -13
  22. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageItem.js +4 -5
  24. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  26. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  27. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js +130 -0
  28. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  29. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  30. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  32. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  34. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  36. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/configurableui.scss +0 -3
  38. package/lib/cjs/appui-react/content/ContentLayout.scss +4 -4
  39. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +10 -7
  40. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  41. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +2 -1
  43. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  44. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  45. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -1
  47. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  48. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +3 -6
  49. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +4 -2
  51. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  52. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +9 -12
  53. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  54. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
  56. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  58. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  59. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +4 -1
  61. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  62. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +9 -8
  63. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/frontstage/StageUsage.js +10 -3
  65. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  66. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  67. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  69. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  70. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  72. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  73. package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
  74. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  75. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  76. package/lib/cjs/appui-react/messages/InputField.js +8 -7
  77. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  78. package/lib/cjs/appui-react/messages/InputField.scss +8 -8
  79. package/lib/cjs/appui-react/messages/MessageManager.d.ts +10 -1
  80. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/messages/MessageManager.js +28 -3
  82. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  83. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/messages/Pointer.js +1 -1
  85. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  86. package/lib/cjs/appui-react/messages/Pointer.scss +6 -6
  87. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +5 -2
  89. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  90. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  91. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  92. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +8 -6
  94. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  95. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  96. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  97. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +19 -10
  98. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  99. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -2
  101. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  102. package/lib/cjs/appui-react/pickers/ListPicker.scss +5 -5
  103. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/pickers/ViewSelector.js +3 -1
  105. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  106. package/lib/cjs/appui-react/popup/CardPopup.js +2 -2
  107. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  108. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +1 -1
  109. package/lib/cjs/appui-react/popup/PositionPopup.scss +1 -1
  110. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +3 -2
  111. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/popup/ToolbarPopup.js +3 -1
  113. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  114. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +20 -10
  116. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  117. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  119. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  120. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  121. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  122. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  123. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  125. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  126. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  127. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  128. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  129. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  130. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  132. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +8 -3
  134. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  135. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  136. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +6 -3
  138. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  139. package/lib/cjs/appui-react/statusbar/Indicator.scss +14 -15
  140. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  141. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -3
  143. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  144. package/lib/cjs/appui-react/statusbar/Separator.scss +1 -3
  145. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -0
  146. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  148. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  149. package/lib/cjs/appui-react/statusbar/StatusBar.scss +1 -3
  150. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  151. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +34 -35
  153. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  154. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  155. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -20
  157. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  158. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  159. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +28 -20
  161. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  162. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  163. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  164. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +135 -0
  165. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  166. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  167. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  169. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  170. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  171. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  172. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  173. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -3
  175. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  176. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/statusfields/MessageCenter.js +5 -2
  178. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  179. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  181. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  182. package/lib/cjs/appui-react/statusfields/SectionsField.scss +3 -4
  183. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +2 -1
  185. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  186. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +1 -1
  187. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -0
  188. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/statusfields/SnapMode.js +40 -2
  190. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  191. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +2 -1
  193. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  194. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -4
  196. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  197. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  198. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  199. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
  200. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  201. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  202. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +29 -32
  204. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  205. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  206. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +8 -18
  208. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  209. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  210. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +22 -11
  212. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  213. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  214. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  216. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  217. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  218. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  219. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +248 -0
  220. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  221. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  222. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  223. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js +26 -0
  224. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  225. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  226. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  228. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  229. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  230. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  232. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  233. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  234. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +13 -8
  235. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  236. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +3 -1
  238. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  239. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +3 -1
  241. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  242. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -2
  244. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  245. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  246. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  248. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  249. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  250. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  252. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  253. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +9 -65
  255. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  256. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  257. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +6 -5
  259. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  261. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +8 -34
  263. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  265. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  267. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  269. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -43
  271. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  272. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  273. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  275. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  277. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  279. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  281. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  284. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  285. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js +16 -0
  286. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  287. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  288. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -1
  289. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  290. package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -2
  291. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  292. package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
  293. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/Content.js +10 -12
  296. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/Frontstage.js +7 -5
  298. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  299. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/widget-panels/StatusBar.js +3 -2
  301. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  302. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  303. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  304. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  305. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +3 -3
  306. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  307. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
  308. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +3 -3
  310. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  311. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +2 -2
  312. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  314. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +4 -4
  315. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  318. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/Widget.d.ts +39 -0
  320. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -0
  321. package/lib/cjs/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  322. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -0
  323. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +4 -14
  324. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  326. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts +1 -1
  327. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  329. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +7 -5
  330. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/widgets/WidgetDef.js +30 -42
  332. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  333. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -15
  335. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +8 -7
  337. package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/widgets/WidgetState.js +9 -3
  339. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  340. package/lib/cjs/appui-react.d.ts +4 -4
  341. package/lib/cjs/appui-react.d.ts.map +1 -1
  342. package/lib/cjs/appui-react.js +4 -4
  343. package/lib/cjs/appui-react.js.map +1 -1
  344. package/lib/esm/appui-react/_variables.scss +4 -5
  345. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -1
  346. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  347. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  348. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  349. package/lib/esm/appui-react/accudraw/Calculator.js +3 -2
  350. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  351. package/lib/esm/appui-react/accudraw/Calculator.scss +12 -14
  352. package/lib/esm/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  353. package/lib/esm/appui-react/accudraw/MenuButton.js +2 -1
  354. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  355. package/lib/esm/appui-react/accudraw/SquareButton.scss +10 -25
  356. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -1
  357. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  358. package/lib/esm/appui-react/backstage/BackstageComposer.js +12 -15
  359. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  360. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  361. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  362. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +7 -7
  363. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  364. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +44 -13
  365. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  366. package/lib/esm/appui-react/backstage/BackstageItem.js +4 -5
  367. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  368. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  369. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  370. package/lib/esm/appui-react/backstage/BackstageItemsManager.js +126 -0
  371. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  372. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  373. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  374. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  375. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  376. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  377. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  378. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  379. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  380. package/lib/esm/appui-react/configurableui/configurableui.scss +0 -3
  381. package/lib/esm/appui-react/content/ContentLayout.scss +4 -4
  382. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +10 -7
  383. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  384. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  385. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +3 -2
  386. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  387. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  388. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  389. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -1
  390. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  391. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +3 -6
  392. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  393. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +5 -3
  394. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  395. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +9 -12
  396. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  397. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  398. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +3 -3
  399. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  400. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  401. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  402. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  403. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +4 -1
  404. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  405. package/lib/esm/appui-react/frontstage/StageUsage.d.ts +9 -8
  406. package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  407. package/lib/esm/appui-react/frontstage/StageUsage.js +10 -3
  408. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  409. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  410. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  411. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  412. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  413. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  414. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  415. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  416. package/lib/esm/appui-react/messages/ActivityMessage.js +2 -2
  417. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  418. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  419. package/lib/esm/appui-react/messages/InputField.js +9 -8
  420. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  421. package/lib/esm/appui-react/messages/InputField.scss +8 -8
  422. package/lib/esm/appui-react/messages/MessageManager.d.ts +10 -1
  423. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  424. package/lib/esm/appui-react/messages/MessageManager.js +29 -4
  425. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  426. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  427. package/lib/esm/appui-react/messages/Pointer.js +2 -2
  428. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  429. package/lib/esm/appui-react/messages/Pointer.scss +6 -6
  430. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  431. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +6 -3
  432. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  433. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  434. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  435. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  436. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +9 -7
  437. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  438. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  439. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  440. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +20 -11
  441. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  442. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  443. package/lib/esm/appui-react/pickers/ListPicker.js +3 -2
  444. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  445. package/lib/esm/appui-react/pickers/ListPicker.scss +5 -5
  446. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  447. package/lib/esm/appui-react/pickers/ViewSelector.js +4 -2
  448. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  449. package/lib/esm/appui-react/popup/CardPopup.js +3 -3
  450. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  451. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +1 -1
  452. package/lib/esm/appui-react/popup/PositionPopup.scss +1 -1
  453. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +3 -2
  454. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  455. package/lib/esm/appui-react/popup/ToolbarPopup.js +3 -1
  456. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  457. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  458. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +21 -11
  459. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  460. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  461. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  462. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  463. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  464. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  465. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  466. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  467. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  468. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  469. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  470. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  471. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  472. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  473. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  474. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  475. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  476. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +8 -3
  477. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  478. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  479. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  480. package/lib/esm/appui-react/stagepanels/StagePanelSection.js +6 -3
  481. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  482. package/lib/esm/appui-react/statusbar/Indicator.scss +14 -15
  483. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  484. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  485. package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -3
  486. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  487. package/lib/esm/appui-react/statusbar/Separator.scss +1 -3
  488. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -0
  489. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  490. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  491. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  492. package/lib/esm/appui-react/statusbar/StatusBar.scss +1 -3
  493. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  494. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  495. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -18
  496. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  497. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  498. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  499. package/lib/esm/appui-react/statusbar/StatusBarItem.js +32 -18
  500. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  501. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  502. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  503. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +28 -19
  504. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  505. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  506. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  507. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +131 -0
  508. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  509. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  510. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  511. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  512. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  514. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  515. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  516. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  517. package/lib/esm/appui-react/statusfields/ActivityCenter.js +6 -4
  518. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  519. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  520. package/lib/esm/appui-react/statusfields/MessageCenter.js +5 -2
  521. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  522. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  523. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  524. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  525. package/lib/esm/appui-react/statusfields/SectionsField.scss +3 -4
  526. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  527. package/lib/esm/appui-react/statusfields/SelectionInfo.js +2 -1
  528. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  529. package/lib/esm/appui-react/statusfields/SelectionScope.scss +1 -1
  530. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -0
  531. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  532. package/lib/esm/appui-react/statusfields/SnapMode.js +40 -2
  533. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  534. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  535. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -1
  536. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  537. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  538. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +6 -5
  539. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  540. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  541. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  542. package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
  543. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  544. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  545. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  546. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +25 -28
  547. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  548. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  549. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  550. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +9 -19
  551. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  552. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  553. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  554. package/lib/esm/appui-react/toolbar/ToolbarItem.js +22 -11
  555. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  556. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  557. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  558. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  559. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  560. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  561. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  562. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +244 -0
  563. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  564. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  565. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  566. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js +22 -0
  567. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  568. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  569. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  570. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  571. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  572. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  573. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  574. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  575. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  576. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  577. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +13 -8
  578. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  579. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  580. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +3 -1
  581. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  582. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  583. package/lib/esm/appui-react/tools/OpenSettingsTool.js +3 -1
  584. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  585. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  586. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -2
  587. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  588. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  589. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  590. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  591. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  592. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  593. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  594. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  595. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  596. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  597. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +7 -63
  598. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  599. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  600. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  601. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +4 -3
  602. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  603. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  604. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  605. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +6 -32
  606. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  607. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  608. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  609. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  610. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  611. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  612. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  613. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +5 -41
  614. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  615. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  616. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  617. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  618. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  619. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  620. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  621. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  622. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  623. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  624. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  625. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  626. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  627. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  628. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js +12 -0
  629. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  630. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  631. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -1
  632. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  633. package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -2
  634. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  635. package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
  636. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  637. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  638. package/lib/esm/appui-react/widget-panels/Content.js +10 -12
  639. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  640. package/lib/esm/appui-react/widget-panels/Frontstage.js +7 -5
  641. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  642. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  643. package/lib/esm/appui-react/widget-panels/StatusBar.js +3 -2
  644. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  645. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  646. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  647. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  648. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +3 -3
  649. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  650. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
  651. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  652. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +3 -3
  653. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  654. package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -1
  655. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  656. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  657. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +3 -3
  658. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  659. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  660. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  661. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  662. package/lib/esm/appui-react/widgets/Widget.d.ts +39 -0
  663. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -0
  664. package/lib/esm/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  665. package/lib/esm/appui-react/widgets/Widget.js.map +1 -0
  666. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +4 -14
  667. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  668. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  669. package/lib/esm/appui-react/widgets/WidgetControl.d.ts +1 -1
  670. package/lib/esm/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  671. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  672. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +7 -5
  673. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  674. package/lib/esm/appui-react/widgets/WidgetDef.js +22 -34
  675. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  677. package/lib/esm/appui-react/widgets/WidgetManager.js +2 -15
  678. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  679. package/lib/esm/appui-react/widgets/WidgetState.d.ts +8 -7
  680. package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -1
  681. package/lib/esm/appui-react/widgets/WidgetState.js +9 -3
  682. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  683. package/lib/esm/appui-react.d.ts +4 -4
  684. package/lib/esm/appui-react.d.ts.map +1 -1
  685. package/lib/esm/appui-react.js +4 -4
  686. package/lib/esm/appui-react.js.map +1 -1
  687. package/package.json +19 -31
  688. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +0 -12
  689. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  690. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +0 -1
  691. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +0 -12
  692. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  693. package/lib/esm/appui-react/widgets/WidgetProps.js.map +0 -1
@@ -6,20 +6,22 @@
6
6
  * @module Toolbar
7
7
  */
8
8
  import * as React from "react";
9
+ import { ConditionalBooleanValue } from "@itwin/appui-abstract";
10
+ import { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from "@itwin/components-react";
9
11
  import { Logger } from "@itwin/core-bentley";
10
- import { ConditionalBooleanValue, ToolbarItemsManager, ToolbarItemUtilities, } from "@itwin/appui-abstract";
11
12
  import { Orientation } from "@itwin/core-react";
12
- import { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from "@itwin/components-react";
13
13
  import { SyncUiEventDispatcher } from "../syncui/SyncUiEventDispatcher";
14
14
  import { UiFramework } from "../UiFramework";
15
15
  import { ToolbarDragInteractionContext } from "./DragInteraction";
16
16
  import { useDefaultToolbarItems } from "./useDefaultToolbarItems";
17
17
  import { useUiItemsProviderToolbarItems } from "./useUiItemsProviderToolbarItems";
18
- import { ToolbarOrientation, ToolbarUsage } from "./ToolbarItem";
18
+ import { isToolbarActionItem, isToolbarGroupItem, ToolbarOrientation, ToolbarUsage } from "./ToolbarItem";
19
+ import { ToolbarItemsManager } from "./ToolbarItemsManager";
20
+ import { toUIAToolbarItem } from "./toUIAToolbarItem";
19
21
  /** Private function to set up sync event monitoring of toolbar items */
20
22
  function useToolbarItemSyncEffect(uiDataProvider, syncIdsOfInterest) {
21
23
  React.useEffect(() => {
22
- const handleSyncUiEvent = (args) => {
24
+ return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {
23
25
  if (0 === syncIdsOfInterest.length)
24
26
  return;
25
27
  // istanbul ignore else
@@ -27,33 +29,25 @@ function useToolbarItemSyncEffect(uiDataProvider, syncIdsOfInterest) {
27
29
  // process each item that has interest
28
30
  uiDataProvider.refreshAffectedItems(args.eventIds);
29
31
  }
30
- };
31
- SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);
32
- return () => {
33
- SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);
34
- };
32
+ });
35
33
  }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);
36
34
  React.useEffect(() => {
37
- const handleToolActivatedEvent = ({ toolId }) => {
35
+ return UiFramework.frontstages.onToolActivatedEvent.addListener(({ toolId }) => {
38
36
  uiDataProvider.setActiveToolId(toolId);
39
- };
40
- UiFramework.frontstages.onToolActivatedEvent.addListener(handleToolActivatedEvent);
41
- return () => {
42
- UiFramework.frontstages.onToolActivatedEvent.removeListener(handleToolActivatedEvent);
43
- };
37
+ });
44
38
  }, [uiDataProvider, uiDataProvider.items]);
45
39
  }
46
40
  function nestedAddItemToSpecifiedParentGroup(items, groupChildren) {
47
41
  const outItems = [];
48
42
  for (const toolbarItem of items) {
49
- if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {
43
+ if (!isToolbarGroupItem(toolbarItem)) {
50
44
  outItems.push(toolbarItem);
51
45
  continue;
52
46
  }
53
47
  const newChildren = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);
54
48
  const foundIndices = [];
55
49
  groupChildren.forEach((entry, index) => {
56
- if (entry.parentToolGroupId === toolbarItem.id) {
50
+ if (entry.parentGroupItemId === toolbarItem.id) {
57
51
  foundIndices.push(index);
58
52
  }
59
53
  });
@@ -74,14 +68,14 @@ function nestedAddItemToSpecifiedParentGroup(items, groupChildren) {
74
68
  function addItemToSpecifiedParentGroup(items, groupChildren) {
75
69
  const outItems = [];
76
70
  for (const toolbarItem of items) {
77
- if (!ToolbarItemUtilities.isGroupButton(toolbarItem)) {
71
+ if (!isToolbarGroupItem(toolbarItem)) {
78
72
  outItems.push(toolbarItem);
79
73
  continue;
80
74
  }
81
75
  const newChildren = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);
82
76
  const foundIndices = [];
83
77
  groupChildren.forEach((entry, index) => {
84
- if (entry.parentToolGroupId === toolbarItem.id) {
78
+ if (entry.parentGroupItemId === toolbarItem.id) {
85
79
  foundIndices.push(index);
86
80
  }
87
81
  });
@@ -102,7 +96,7 @@ function addItemToSpecifiedParentGroup(items, groupChildren) {
102
96
  function cloneGroup(inGroup) {
103
97
  const childItems = [];
104
98
  inGroup.items.forEach((item) => {
105
- if (ToolbarItemUtilities.isGroupButton(item))
99
+ if (isToolbarGroupItem(item))
106
100
  childItems.push(cloneGroup(item));
107
101
  else
108
102
  childItems.push(item);
@@ -119,7 +113,7 @@ function getSortedChildren(group) {
119
113
  .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))
120
114
  .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))
121
115
  .map((i) => {
122
- if (ToolbarItemUtilities.isGroupButton(i)) {
116
+ if (isToolbarGroupItem(i)) {
123
117
  return { ...i, items: getSortedChildren(i) };
124
118
  }
125
119
  return i;
@@ -135,8 +129,8 @@ function combineItems(defaultItems, addonItems) {
135
129
  defaultItems.forEach((srcItem) => {
136
130
  if (-1 === items.findIndex((item) => item.id === srcItem.id)) {
137
131
  // if the default item is a group that an addon may insert into copy it so we don't mess with original
138
- const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;
139
- if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))
132
+ const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;
133
+ if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)
140
134
  groupChildren.push(toolbarItem);
141
135
  else
142
136
  items.push(toolbarItem);
@@ -148,8 +142,8 @@ function combineItems(defaultItems, addonItems) {
148
142
  addonItems.forEach((srcItem) => {
149
143
  if (-1 === items.findIndex((item) => item.id === srcItem.id)) {
150
144
  // if the default item is a group that an addon may insert into copy it so we don't mess with original
151
- const toolbarItem = ToolbarItemUtilities.isGroupButton(srcItem) ? cloneGroup(srcItem) : srcItem;
152
- if (toolbarItem.parentToolGroupId && (ToolbarItemUtilities.isGroupButton(toolbarItem) || ToolbarItemUtilities.isActionButton(toolbarItem)))
145
+ const toolbarItem = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;
146
+ if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)
153
147
  groupChildren.push(toolbarItem);
154
148
  else
155
149
  items.push(toolbarItem);
@@ -161,7 +155,7 @@ function combineItems(defaultItems, addonItems) {
161
155
  items = addItemToSpecifiedParentGroup(items, groupChildren);
162
156
  if (groupChildren.length) {
163
157
  groupChildren.forEach((toolbarItem) => {
164
- Logger.logWarning("ToolbarComposer", `Requested Parent Group [${toolbarItem.parentToolGroupId}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);
158
+ Logger.logWarning("ToolbarComposer", `Requested Parent Group [${toolbarItem.parentGroupItemId}] not found, so item [${toolbarItem.id}] is added directly to toolbar.`);
165
159
  items.push(toolbarItem);
166
160
  });
167
161
  }
@@ -170,7 +164,7 @@ function combineItems(defaultItems, addonItems) {
170
164
  .filter((item) => !(ConditionalBooleanValue.getValue(item.isHidden)))
171
165
  .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))
172
166
  .map((i) => {
173
- if (ToolbarItemUtilities.isGroupButton(i)) {
167
+ if (isToolbarGroupItem(i)) {
174
168
  return { ...i, items: getSortedChildren(i) };
175
169
  }
176
170
  return i;
@@ -210,7 +204,10 @@ export function ToolbarComposer(props) {
210
204
  const addonItems = useUiItemsProviderToolbarItems(addonItemsManager, usage, orientation);
211
205
  const addonSyncIdsOfInterest = React.useMemo(() => ToolbarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);
212
206
  useToolbarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);
213
- const toolbarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);
207
+ const toolbarItems = React.useMemo(() => {
208
+ const items = combineItems(defaultItems, addonItems);
209
+ return items.map((item) => toUIAToolbarItem(item));
210
+ }, [defaultItems, addonItems]);
214
211
  const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;
215
212
  const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;
216
213
  const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;
@@ -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, UiSyncEventArgs,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { Direction, ToolbarItem, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\nimport { ToolActivatedEventArgs } from \"../framework/FrameworkFrontstages\";\r\nimport { ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\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 UiFramework.frontstages.onToolActivatedEvent.addListener(handleToolActivatedEvent);\r\n\r\n return () => {\r\n UiFramework.frontstages.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(UiFramework.visibility.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiFramework.visibility.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;\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\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"]}
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 { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { Direction, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { Orientation } from \"@itwin/core-react\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ToolbarDragInteractionContext } from \"./DragInteraction\";\r\nimport { useDefaultToolbarItems } from \"./useDefaultToolbarItems\";\r\nimport { useUiItemsProviderToolbarItems } from \"./useUiItemsProviderToolbarItems\";\r\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarGroupItem, ToolbarItem, ToolbarOrientation, ToolbarUsage } from \"./ToolbarItem\";\r\nimport { ToolbarItemsManager } from \"./ToolbarItemsManager\";\r\nimport { toUIAToolbarItem } from \"./toUIAToolbarItem\";\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 return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\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 }, [uiDataProvider, syncIdsOfInterest, uiDataProvider.items]);\r\n\r\n React.useEffect(() => {\r\n return UiFramework.frontstages.onToolActivatedEvent.addListener(({ toolId }) => {\r\n uiDataProvider.setActiveToolId(toolId);\r\n });\r\n }, [uiDataProvider, uiDataProvider.items]);\r\n}\r\n\r\nfunction nestedAddItemToSpecifiedParentGroup(items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>, groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n const outItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const toolbarItem of items) {\r\n if (!isToolbarGroupItem(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentGroupItemId === 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 ToolbarItem[], groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>): ToolbarItem[] {\r\n const outItems: ToolbarItem[] = [];\r\n for (const toolbarItem of items) {\r\n if (!isToolbarGroupItem(toolbarItem)) {\r\n outItems.push(toolbarItem);\r\n continue;\r\n }\r\n\r\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = nestedAddItemToSpecifiedParentGroup(toolbarItem.items, groupChildren);\r\n const foundIndices: number[] = [];\r\n\r\n groupChildren.forEach((entry, index) => {\r\n if (entry.parentGroupItemId === 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: ToolbarGroupItem): ToolbarGroupItem {\r\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n inGroup.items.forEach((item) => {\r\n if (isToolbarGroupItem(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: ToolbarGroupItem): ReadonlyArray<ToolbarActionItem | ToolbarGroupItem> {\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 (isToolbarGroupItem(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<ToolbarItem>, addonItems: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\r\n let items: ToolbarItem[] = [];\r\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n\r\n // istanbul ignore else\r\n if (defaultItems.length) {\r\n defaultItems.forEach((srcItem: ToolbarItem) => {\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 = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\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: ToolbarItem) => {\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 = isToolbarGroupItem(srcItem) ? cloneGroup(srcItem) : srcItem;\r\n if ((isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) && toolbarItem.parentGroupItemId)\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) => {\r\n Logger.logWarning(\"ToolbarComposer\", `Requested Parent Group [${toolbarItem.parentGroupItemId!}] 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 (isToolbarGroupItem(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(UiFramework.visibility.useProximityOpacity);\r\n React.useEffect(() => {\r\n // istanbul ignore next\r\n const handleUiVisibilityChanged = () => {\r\n setProximityOpacity(UiFramework.visibility.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: ToolbarItem[];\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(() => {\r\n const items = combineItems(defaultItems, addonItems);\r\n return items.map((item) => toUIAToolbarItem(item));\r\n }, [defaultItems, addonItems]);\r\n\r\n const toolbarOrientation = orientation === ToolbarOrientation.Horizontal ? Orientation.Horizontal : Orientation.Vertical;\r\n const expandsTo = toolbarOrientation === Orientation.Horizontal ? Direction.Bottom : usage === ToolbarUsage.ViewNavigation ? Direction.Left : Direction.Right;\r\n const panelAlignment = (toolbarOrientation === Orientation.Horizontal && usage === ToolbarUsage.ViewNavigation) ? ToolbarPanelAlignment.End : ToolbarPanelAlignment.Start;\r\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\r\n const useProximityOpacity = useProximityOpacitySetting();\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"]}
@@ -2,26 +2,22 @@
2
2
  * @module Toolbar
3
3
  */
4
4
  import * as React from "react";
5
- import { ActionButton, CommonToolbarItem, CustomButtonDefinition, GroupButton, ToolbarItem } from "@itwin/appui-abstract";
6
- import { CustomToolbarItem } from "@itwin/components-react";
5
+ import { ActionButton, CommonToolbarItem, CustomButtonDefinition, GroupButton } from "@itwin/appui-abstract";
7
6
  import { AnyItemDef } from "../shared/AnyItemDef";
8
7
  import { CustomItemDef } from "../shared/CustomItemDef";
8
+ import { ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem, ToolbarItem } from "./ToolbarItem";
9
9
  /** Helper functions for defining an ToolbarComposer.
10
10
  * @public
11
11
  */
12
12
  export declare class ToolbarHelper {
13
13
  /** Construct CustomToolbarItem definitions given a CustomItemDef. */
14
- static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): CustomToolbarItem;
14
+ static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): ToolbarCustomItem;
15
15
  /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */
16
- static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ActionButton | GroupButton>;
16
+ static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ToolbarActionItem | ToolbarGroupItem>;
17
17
  private static getStringOrConditionalString;
18
18
  static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode;
19
19
  /** Helper method to creates a generic toolbar item entry */
20
- static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<ToolbarItem>): CommonToolbarItem;
21
- static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority?: number, overrides?: Partial<ToolbarItem>): CommonToolbarItem[];
22
- /** CustomToolbarButton type guard.
23
- * @internal
24
- */
25
- static isCustomToolbarButton: (item: CommonToolbarItem) => item is CustomToolbarItem;
20
+ static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<CommonToolbarItem>): ToolbarItem;
21
+ static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority?: number, overrides?: Partial<CommonToolbarItem>): ToolbarItem[];
26
22
  }
27
23
  //# sourceMappingURL=ToolbarHelper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarHelper.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarHelper.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,YAAY,EAAE,iBAAiB,EAA0B,sBAAsB,EAAE,WAAW,EAAgB,WAAW,EACxH,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAuB,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAIxD;;GAEG;AACH,qBAAa,aAAa;IACxB,qEAAqE;WACvD,iCAAiC,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,iBAAiB;IAwB7J,qFAAqF;WACvE,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;IAanG,OAAO,CAAC,MAAM,CAAC,4BAA4B;WAO7B,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,KAAK,CAAC,SAAS;IAIjF,4DAA4D;WAC9C,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,iBAAiB;WA4D5H,8BAA8B,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,oBAAoB,SAAK,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,iBAAiB,EAAE;IAUtJ;;OAEG;IACH,OAAc,qBAAqB,SAAU,iBAAiB,+BAE5D;CACH"}
1
+ {"version":3,"file":"ToolbarHelper.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarHelper.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,YAAY,EAAE,iBAAiB,EAA0B,sBAAsB,EAAE,WAAW,EAC7F,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAA2C,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE7I;;GAEG;AACH,qBAAa,aAAa;IACxB,qEAAqE;WACvD,iCAAiC,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,iBAAiB;IAwB7J,qFAAqF;WACvE,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAa7G,OAAO,CAAC,MAAM,CAAC,4BAA4B;WAO7B,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,KAAK,CAAC,SAAS;IAIjF,4DAA4D;WAC9C,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,WAAW;WAwD5H,8BAA8B,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,oBAAoB,SAAK,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,WAAW,EAAE;CASvJ"}
@@ -1,10 +1,10 @@
1
- import { ConditionalStringValue, ToolbarItemUtilities, } from "@itwin/appui-abstract";
2
- import { isCustomToolbarItem } from "@itwin/components-react";
1
+ import { ConditionalStringValue, } from "@itwin/appui-abstract";
3
2
  import { IconHelper } from "@itwin/core-react";
4
3
  import { CommandItemDef } from "../shared/CommandItemDef";
5
4
  import { CustomItemDef } from "../shared/CustomItemDef";
6
5
  import { ToolItemDef } from "../shared/ToolItemDef";
7
6
  import { GroupItemDef } from "./GroupItem";
7
+ import { isToolbarActionItem, isToolbarGroupItem } from "./ToolbarItem";
8
8
  /** Helper functions for defining an ToolbarComposer.
9
9
  * @public
10
10
  */
@@ -28,7 +28,7 @@ export class ToolbarHelper {
28
28
  isDisabled,
29
29
  internalData,
30
30
  badgeType,
31
- panelContentNode: itemDef.popupPanelNode,
31
+ panelContent: itemDef.popupPanelNode,
32
32
  ...overrides,
33
33
  };
34
34
  }
@@ -40,7 +40,7 @@ export class ToolbarHelper {
40
40
  const item = this.createToolbarItemFromItemDef(count, itemDef);
41
41
  count = count + 10;
42
42
  // istanbul ignore else
43
- if (ToolbarItemUtilities.isActionButton(item) || ToolbarItemUtilities.isGroupButton(item))
43
+ if (isToolbarActionItem(item) || isToolbarGroupItem(item))
44
44
  items.push(item);
45
45
  }
46
46
  return items;
@@ -57,10 +57,9 @@ export class ToolbarHelper {
57
57
  static createToolbarItemFromItemDef(itemPriority, itemDef, overrides) {
58
58
  const isHidden = itemDef.isHidden;
59
59
  const isDisabled = itemDef.isDisabled;
60
- const internalData = new Map(); // used to store ReactNode if iconSpec hold a ReactNode
61
- const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);
60
+ const icon = itemDef.iconSpec;
62
61
  const label = this.getStringOrConditionalString(itemDef.rawLabel);
63
- const badgeType = itemDef.badgeType;
62
+ const badge = itemDef.badgeType;
64
63
  // istanbul ignore else
65
64
  if (itemDef instanceof CommandItemDef) {
66
65
  return {
@@ -72,8 +71,7 @@ export class ToolbarHelper {
72
71
  isDisabled,
73
72
  isActive: itemDef.isActive,
74
73
  execute: itemDef.execute,
75
- badgeType,
76
- internalData,
74
+ badge,
77
75
  ...overrides,
78
76
  };
79
77
  }
@@ -92,8 +90,7 @@ export class ToolbarHelper {
92
90
  isDisabled,
93
91
  items: children,
94
92
  isActive: false,
95
- badgeType,
96
- internalData,
93
+ badge,
97
94
  ...overrides,
98
95
  };
99
96
  }
@@ -107,8 +104,7 @@ export class ToolbarHelper {
107
104
  isDisabled,
108
105
  isActive: itemDef.isActive,
109
106
  execute: itemDef.execute,
110
- badgeType,
111
- internalData,
107
+ badge,
112
108
  ...overrides,
113
109
  };
114
110
  }
@@ -126,10 +122,4 @@ export class ToolbarHelper {
126
122
  return items;
127
123
  }
128
124
  }
129
- /** CustomToolbarButton type guard.
130
- * @internal
131
- */
132
- ToolbarHelper.isCustomToolbarButton = (item) => {
133
- return isCustomToolbarItem(item);
134
- };
135
125
  //# sourceMappingURL=ToolbarHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarHelper.tsx"],"names":[],"mappings":"AAQA,OAAO,EAC4B,sBAAsB,EAAkE,oBAAoB,GAC9I,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,qEAAqE;IAC9D,MAAM,CAAC,iCAAiC,CAAC,YAAoB,EAAE,OAAsB,EAAE,SAA2C;QACvI,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC,CAAE,uDAAuD;QACrG,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEpC,uBAAuB;QACvB,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,YAAY;YACZ,IAAI;YACJ,KAAK;YACL,QAAQ,EAAE,IAAI;YACd,QAAQ;YACR,UAAU;YACV,YAAY;YACZ,SAAS;YACT,gBAAgB,EAAE,OAAO,CAAC,cAAc;YACxC,GAAG,SAAS;SACb,CAAC;IACJ,CAAC;IAED,qFAAqF;IAC9E,MAAM,CAAC,0BAA0B,CAAC,QAAsB;QAC7D,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,KAAK,GAAsC,EAAE,CAAC;QACpD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/D,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;YACnB,uBAAuB;YACvB,IAAI,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC;gBACvF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,4BAA4B,CAAC,QAAwD;QAClG,IAAI,QAAQ,YAAY,sBAAsB,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC5E,OAAO,QAAQ,CAAC;QAElB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,IAAgC;QAC7D,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,4DAA4D;IACrD,MAAM,CAAC,4BAA4B,CAAC,YAAoB,EAAE,OAAmB,EAAE,SAAgC;QACpH,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAe,CAAC,CAAE,uDAAuD;QACrG,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEpC,uBAAuB;QACvB,IAAI,OAAO,YAAY,cAAc,EAAE;YACrC,OAAO;gBACL,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,YAAY;gBACZ,IAAI;gBACJ,KAAK;gBACL,QAAQ;gBACR,UAAU;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS;gBACT,YAAY;gBACZ,GAAG,SAAS;aACb,CAAC;SACH;aAAM,IAAI,OAAO,YAAY,aAAa,EAAE;YAC3C,OAAO,aAAa,CAAC,iCAAiC,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SAC1F;aAAM,IAAI,OAAO,YAAY,YAAY,EAAE;YAC1C,MAAM,QAAQ,GAAsC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnG,OAAO;gBACL,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,YAAY;gBACZ,IAAI;gBACJ,KAAK;gBACL,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ;gBACR,UAAU;gBACV,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,KAAK;gBACf,SAAS;gBACT,YAAY;gBACZ,GAAG,SAAS;aACb,CAAC;SACH;aAAM,IAAI,OAAO,YAAY,WAAW,EAAE;YACzC,OAAO;gBACL,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,YAAY;gBACZ,IAAI;gBACJ,KAAK;gBACL,QAAQ;gBACR,UAAU;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS;gBACT,YAAY;gBACZ,GAAG,SAAS;aACb,CAAC;SACH;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;SACzE;IACH,CAAC;IAEM,MAAM,CAAC,8BAA8B,CAAC,QAAsB,EAAE,oBAAoB,GAAG,EAAE,EAAE,SAAgC;QAC9H,IAAI,YAAY,GAAG,oBAAoB,CAAC;QACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAmB,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,aAAa,CAAC,4BAA4B,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC1F,YAAY,GAAG,YAAY,GAAG,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;;AAED;;GAEG;AACW,mCAAqB,GAAG,CAAC,IAAuB,EAA6B,EAAE;IAC3F,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Toolbar\r\n */\r\nimport * as React from \"react\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalStringValue, CustomButtonDefinition, GroupButton, StringGetter, ToolbarItem, ToolbarItemUtilities,\r\n} from \"@itwin/appui-abstract\";\r\nimport { CustomToolbarItem, isCustomToolbarItem } from \"@itwin/components-react\";\r\nimport { IconHelper } from \"@itwin/core-react\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { GroupItemDef } from \"./GroupItem\";\r\n\r\n/** Helper functions for defining an ToolbarComposer.\r\n * @public\r\n */\r\nexport class ToolbarHelper {\r\n /** Construct CustomToolbarItem definitions given a CustomItemDef. */\r\n public static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): CustomToolbarItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const internalData = new Map<string, any>(); // used to store ReactNode if iconSpec hold a ReactNode\r\n const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badgeType = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isCustom: true,\r\n isHidden,\r\n isDisabled,\r\n internalData,\r\n badgeType,\r\n panelContentNode: itemDef.popupPanelNode,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */\r\n public static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ActionButton | GroupButton> {\r\n let count = 10;\r\n const items: Array<ActionButton | GroupButton> = [];\r\n for (const itemDef of itemDefs) {\r\n const item = this.createToolbarItemFromItemDef(count, itemDef);\r\n count = count + 10;\r\n // istanbul ignore else\r\n if (ToolbarItemUtilities.isActionButton(item) || ToolbarItemUtilities.isGroupButton(item))\r\n items.push(item);\r\n }\r\n return items;\r\n }\r\n\r\n private static getStringOrConditionalString(inString: string | StringGetter | ConditionalStringValue): string | ConditionalStringValue {\r\n if (inString instanceof ConditionalStringValue || typeof inString === \"string\")\r\n return inString;\r\n\r\n return inString();\r\n }\r\n\r\n public static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode {\r\n return IconHelper.getIconReactNode(item.icon, item.internalData);\r\n }\r\n\r\n /** Helper method to creates a generic toolbar item entry */\r\n public static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<ToolbarItem>): CommonToolbarItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const internalData = new Map<string, any>(); // used to store ReactNode if iconSpec hold a ReactNode\r\n const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badgeType = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n if (itemDef instanceof CommandItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badgeType,\r\n internalData,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof CustomItemDef) {\r\n return ToolbarHelper.createCustomDefinitionToolbarItem(itemPriority, itemDef, overrides);\r\n } else if (itemDef instanceof GroupItemDef) {\r\n const children: Array<ActionButton | GroupButton> = this.constructChildToolbarItems(itemDef.items);\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n panelLabel: itemDef.panelLabel,\r\n isHidden,\r\n isDisabled,\r\n items: children,\r\n isActive: false,\r\n badgeType,\r\n internalData,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof ToolItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badgeType,\r\n internalData,\r\n ...overrides,\r\n };\r\n } else {\r\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\r\n }\r\n }\r\n\r\n public static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority = 10, overrides?: Partial<ToolbarItem>): CommonToolbarItem[] {\r\n let itemPriority = startingItemPriority;\r\n const items = itemDefs.map((itemDef: AnyItemDef) => {\r\n const item = ToolbarHelper.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\r\n itemPriority = itemPriority + 10;\r\n return item;\r\n });\r\n return items;\r\n }\r\n\r\n /** CustomToolbarButton type guard.\r\n * @internal\r\n */\r\n public static isCustomToolbarButton = (item: CommonToolbarItem): item is CustomToolbarItem => {\r\n return isCustomToolbarItem(item);\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarHelper.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\nimport * as React from \"react\";\r\nimport {\r\n ActionButton, CommonToolbarItem, ConditionalStringValue, CustomButtonDefinition, GroupButton, StringGetter,\r\n} from \"@itwin/appui-abstract\";\r\nimport { IconHelper } from \"@itwin/core-react\";\r\nimport { AnyItemDef } from \"../shared/AnyItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { GroupItemDef } from \"./GroupItem\";\r\nimport { isToolbarActionItem, isToolbarGroupItem, ToolbarActionItem, ToolbarCustomItem, ToolbarGroupItem, ToolbarItem } from \"./ToolbarItem\";\r\n\r\n/** Helper functions for defining an ToolbarComposer.\r\n * @public\r\n */\r\nexport class ToolbarHelper {\r\n /** Construct CustomToolbarItem definitions given a CustomItemDef. */\r\n public static createCustomDefinitionToolbarItem(itemPriority: number, itemDef: CustomItemDef, overrides?: Partial<CustomButtonDefinition>): ToolbarCustomItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const internalData = new Map<string, any>(); // used to store ReactNode if iconSpec hold a ReactNode\r\n const icon = IconHelper.getIconData(itemDef.iconSpec, internalData);\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badgeType = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isCustom: true,\r\n isHidden,\r\n isDisabled,\r\n internalData,\r\n badgeType,\r\n panelContent: itemDef.popupPanelNode,\r\n ...overrides,\r\n };\r\n }\r\n\r\n /** Construct ActionButton and GroupButton definitions given an array to ItemDefs. */\r\n public static constructChildToolbarItems(itemDefs: AnyItemDef[]): Array<ToolbarActionItem | ToolbarGroupItem> {\r\n let count = 10;\r\n const items: Array<ToolbarActionItem | ToolbarGroupItem> = [];\r\n for (const itemDef of itemDefs) {\r\n const item = this.createToolbarItemFromItemDef(count, itemDef);\r\n count = count + 10;\r\n // istanbul ignore else\r\n if (isToolbarActionItem(item) || isToolbarGroupItem(item))\r\n items.push(item);\r\n }\r\n return items;\r\n }\r\n\r\n private static getStringOrConditionalString(inString: string | StringGetter | ConditionalStringValue): string | ConditionalStringValue {\r\n if (inString instanceof ConditionalStringValue || typeof inString === \"string\")\r\n return inString;\r\n\r\n return inString();\r\n }\r\n\r\n public static getIconReactNode(item: ActionButton | GroupButton): React.ReactNode {\r\n return IconHelper.getIconReactNode(item.icon, item.internalData);\r\n }\r\n\r\n /** Helper method to creates a generic toolbar item entry */\r\n public static createToolbarItemFromItemDef(itemPriority: number, itemDef: AnyItemDef, overrides?: Partial<CommonToolbarItem>): ToolbarItem {\r\n const isHidden = itemDef.isHidden;\r\n const isDisabled = itemDef.isDisabled;\r\n const icon = itemDef.iconSpec;\r\n const label = this.getStringOrConditionalString(itemDef.rawLabel);\r\n const badge = itemDef.badgeType;\r\n\r\n // istanbul ignore else\r\n if (itemDef instanceof CommandItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badge,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof CustomItemDef) {\r\n return ToolbarHelper.createCustomDefinitionToolbarItem(itemPriority, itemDef, overrides);\r\n } else if (itemDef instanceof GroupItemDef) {\r\n const children: Array<ToolbarActionItem | ToolbarGroupItem> = this.constructChildToolbarItems(itemDef.items);\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n panelLabel: itemDef.panelLabel,\r\n isHidden,\r\n isDisabled,\r\n items: children,\r\n isActive: false,\r\n badge,\r\n ...overrides,\r\n };\r\n } else if (itemDef instanceof ToolItemDef) {\r\n return {\r\n id: itemDef.id,\r\n itemPriority,\r\n icon,\r\n label,\r\n isHidden,\r\n isDisabled,\r\n isActive: itemDef.isActive,\r\n execute: itemDef.execute,\r\n badge,\r\n ...overrides,\r\n };\r\n } else {\r\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\r\n }\r\n }\r\n\r\n public static createToolbarItemsFromItemDefs(itemDefs: AnyItemDef[], startingItemPriority = 10, overrides?: Partial<CommonToolbarItem>): ToolbarItem[] {\r\n let itemPriority = startingItemPriority;\r\n const items = itemDefs.map((itemDef: AnyItemDef) => {\r\n const item = ToolbarHelper.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\r\n itemPriority = itemPriority + 10;\r\n return item;\r\n });\r\n return items;\r\n }\r\n}\r\n"]}
@@ -1,53 +1,104 @@
1
1
  /** @packageDocumentation
2
2
  * @module Toolbar
3
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";
4
+ /// <reference types="react" />
5
+ import { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from "@itwin/appui-abstract";
6
+ import { IconSpec } from "@itwin/core-react";
5
7
  /** Used to specify the usage of the toolbar which determine the toolbar position.
6
- * @public // TODO: 4.x cleanup
8
+ * @public
7
9
  */
8
- export declare type ToolbarUsage = UIA_ToolbarUsage;
9
- /** Used to specify the usage of the toolbar which determine the toolbar position.
10
- * @public // TODO: 4.x cleanup
11
- */
12
- export declare const ToolbarUsage: typeof UIA_ToolbarUsage;
13
- /** Used to specify the orientation of the toolbar.
14
- * @public // TODO: 4.x cleanup
15
- */
16
- export declare type ToolbarOrientation = UIA_ToolbarOrientation;
10
+ export declare enum ToolbarUsage {
11
+ /** Contains tools to Create Update and Delete content - in ninezone this is in top left of content area. */
12
+ ContentManipulation = 0,
13
+ /** Manipulate view/camera - in ninezone this is in top right of content area. */
14
+ ViewNavigation = 1
15
+ }
17
16
  /** Used to specify the orientation of the toolbar.
18
- * @public // TODO: 4.x cleanup
17
+ * @public
19
18
  */
20
- export declare const ToolbarOrientation: typeof UIA_ToolbarOrientation;
19
+ export declare enum ToolbarOrientation {
20
+ /** Horizontal toolbar. */
21
+ Horizontal = 0,
22
+ /** Vertical toolbar. */
23
+ Vertical = 1
24
+ }
21
25
  /** Describes the data needed to insert a UI items into an existing set of UI items.
22
- * @beta
26
+ * @public
23
27
  */
24
- export declare type CommonToolbarItem = UIA_ToolbarItem;
28
+ export interface CommonToolbarItem {
29
+ /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */
30
+ readonly id: string;
31
+ /** Describes badge. Renders no badge if not specified. */
32
+ readonly badge?: BadgeType;
33
+ /** Optional description */
34
+ readonly description?: string | ConditionalStringValue;
35
+ /** Defines if the item is active (shown with an active stripe/bar). */
36
+ readonly isActive?: boolean;
37
+ /** Describes if the item is visible or hidden. The default is for the item to be visible. */
38
+ readonly isHidden?: boolean | ConditionalBooleanValue;
39
+ /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */
40
+ readonly isDisabled?: boolean | ConditionalBooleanValue;
41
+ /** Specifies the item's grouping value. Items are sorted by group and then item priority. When
42
+ * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This
43
+ * allows extensions enough gaps to insert their own groups. If the value is not specified a groupPriority of 0 is used.
44
+ */
45
+ readonly groupPriority?: number;
46
+ /** Priority within a toolbar or group. */
47
+ readonly itemPriority: number;
48
+ }
25
49
  /** Describes the data needed to insert an action button into a toolbar.
26
- * @beta
50
+ * @public
27
51
  */
28
- export declare type ToolbarActionItem = ActionButton;
52
+ export interface ToolbarActionItem extends CommonToolbarItem {
53
+ /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
54
+ readonly icon: IconSpec;
55
+ /** label, shown as tool tip on a button or an item label in a group. */
56
+ readonly label: string | ConditionalStringValue;
57
+ /** function to run when the button is pressed. */
58
+ readonly execute: () => void;
59
+ /** Optional parent tool group to add the tool to. */
60
+ readonly parentGroupItemId?: string;
61
+ }
29
62
  /** Describes the data needed to insert a group button into a toolbar.
30
- * @beta
63
+ * @public
31
64
  */
32
- export declare type ToolbarGroupItem = GroupButton;
65
+ export interface ToolbarGroupItem extends CommonToolbarItem {
66
+ /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
67
+ readonly icon: IconSpec;
68
+ /** label, shown as tool tip on group button or a group button label in a group panel. */
69
+ readonly label: string | ConditionalStringValue;
70
+ /** label shown as the title in at top of group panel. */
71
+ readonly panelLabel?: string | ConditionalStringValue;
72
+ /** children of the group */
73
+ readonly items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;
74
+ /** Optional parent tool group to add the tool to. */
75
+ readonly parentGroupItemId?: string;
76
+ }
33
77
  /** Describes the data needed to insert a custom button into a toolbar.
34
- * @beta
78
+ * @public
35
79
  */
36
- export declare type ToolbarCustomItem = CustomButtonDefinition;
80
+ export interface ToolbarCustomItem extends CommonToolbarItem {
81
+ /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
82
+ readonly icon?: IconSpec;
83
+ /** label, shown as tool tip on group button or a group button label in a group panel. */
84
+ readonly label?: string | ConditionalStringValue;
85
+ /** defines the content to display in popup panel */
86
+ readonly panelContent?: React.ReactNode;
87
+ }
37
88
  /** Any Button Type that can be inserted into a toolbar.
38
- * @beta
89
+ * @public
39
90
  */
40
- export declare type ToolbarItem = UIA_CommonToolbarItem;
91
+ export declare type ToolbarItem = ToolbarActionItem | ToolbarGroupItem | ToolbarCustomItem;
41
92
  /** ToolbarActionItem type guard.
42
- * @beta
93
+ * @public
43
94
  */
44
95
  export declare function isToolbarActionItem(item: ToolbarItem): item is ToolbarActionItem;
45
96
  /** ToolbarGroupItem type guard.
46
- * @beta
97
+ * @public
47
98
  */
48
99
  export declare function isToolbarGroupItem(item: ToolbarItem): item is ToolbarGroupItem;
49
100
  /** ToolbarCustomItem type guard.
50
- * @beta
101
+ * @public
51
102
  */
52
103
  export declare function isToolbarCustomItem(item: ToolbarItem): item is ToolbarCustomItem;
53
104
  //# sourceMappingURL=ToolbarItem.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"ToolbarItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,oBAAY,YAAY;IACtB,4GAA4G;IAC5G,mBAAmB,IAAI;IACvB,iFAAiF;IACjF,cAAc,IAAI;CACnB;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,UAAU,IAAI;IACd,wBAAwB;IACxB,QAAQ,IAAI;CACb;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iIAAiI;IACjI,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,2BAA2B;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACvD,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACtD,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IACxD;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,sHAAsH;IACtH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,kDAAkD;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,qHAAqH;IACrH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,yFAAyF;IACzF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,yDAAyD;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACtD,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;IACpE,qDAAqD;IACrD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,qHAAqH;IACrH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,yFAAyF;IACzF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACjD,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,oBAAY,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAEnF;;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"}
@@ -5,31 +5,42 @@
5
5
  /** @packageDocumentation
6
6
  * @module Toolbar
7
7
  */
8
- import { ToolbarItemUtilities as UIA_ToolbarItemUtilities, ToolbarOrientation as UIA_ToolbarOrientation, ToolbarUsage as UIA_ToolbarUsage, } from "@itwin/appui-abstract";
9
8
  /** Used to specify the usage of the toolbar which determine the toolbar position.
10
- * @public // TODO: 4.x cleanup
9
+ * @public
11
10
  */
12
- export const ToolbarUsage = UIA_ToolbarUsage; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
11
+ export var ToolbarUsage;
12
+ (function (ToolbarUsage) {
13
+ /** Contains tools to Create Update and Delete content - in ninezone this is in top left of content area. */
14
+ ToolbarUsage[ToolbarUsage["ContentManipulation"] = 0] = "ContentManipulation";
15
+ /** Manipulate view/camera - in ninezone this is in top right of content area. */
16
+ ToolbarUsage[ToolbarUsage["ViewNavigation"] = 1] = "ViewNavigation";
17
+ })(ToolbarUsage || (ToolbarUsage = {}));
13
18
  /** Used to specify the orientation of the toolbar.
14
- * @public // TODO: 4.x cleanup
19
+ * @public
15
20
  */
16
- export const ToolbarOrientation = UIA_ToolbarOrientation; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
21
+ export var ToolbarOrientation;
22
+ (function (ToolbarOrientation) {
23
+ /** Horizontal toolbar. */
24
+ ToolbarOrientation[ToolbarOrientation["Horizontal"] = 0] = "Horizontal";
25
+ /** Vertical toolbar. */
26
+ ToolbarOrientation[ToolbarOrientation["Vertical"] = 1] = "Vertical";
27
+ })(ToolbarOrientation || (ToolbarOrientation = {}));
17
28
  /** ToolbarActionItem type guard.
18
- * @beta
29
+ * @public
19
30
  */
20
31
  export function isToolbarActionItem(item) {
21
- return UIA_ToolbarItemUtilities.isActionButton(item);
32
+ return "execute" in item;
22
33
  }
23
34
  /** ToolbarGroupItem type guard.
24
- * @beta
35
+ * @public
25
36
  */
26
37
  export function isToolbarGroupItem(item) {
27
- return UIA_ToolbarItemUtilities.isGroupButton(item);
38
+ return "items" in item;
28
39
  }
29
40
  /** ToolbarCustomItem type guard.
30
- * @beta
41
+ * @public
31
42
  */
32
43
  export function isToolbarCustomItem(item) {
33
- return UIA_ToolbarItemUtilities.isCustomDefinition(item);
44
+ return !isToolbarActionItem(item) && !isToolbarGroupItem(item);
34
45
  }
35
46
  //# sourceMappingURL=ToolbarItem.js.map