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

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 (709) 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/ConfigurableUiControl.d.ts +1 -1
  38. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js +1 -1
  39. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  40. package/lib/cjs/appui-react/configurableui/configurableui.scss +0 -3
  41. package/lib/cjs/appui-react/content/ContentLayout.scss +4 -4
  42. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +10 -7
  43. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -10
  44. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/content/FloatingViewportContent.js +15 -14
  46. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  47. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  48. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +2 -1
  50. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  51. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  52. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -1
  54. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  55. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +3 -6
  56. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +4 -2
  58. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  59. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +9 -12
  60. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  61. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
  63. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  64. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  65. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  66. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  67. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +4 -1
  68. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  69. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +9 -8
  70. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/frontstage/StageUsage.js +10 -3
  72. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  73. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  74. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  75. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  76. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  77. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  79. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  80. package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
  81. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  82. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  83. package/lib/cjs/appui-react/messages/InputField.js +8 -7
  84. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  85. package/lib/cjs/appui-react/messages/InputField.scss +8 -8
  86. package/lib/cjs/appui-react/messages/MessageManager.d.ts +10 -1
  87. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/messages/MessageManager.js +30 -5
  89. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  90. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/messages/Pointer.js +1 -1
  92. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  93. package/lib/cjs/appui-react/messages/Pointer.scss +6 -6
  94. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  95. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +5 -2
  96. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  97. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  98. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  99. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +8 -6
  101. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  102. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  103. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +19 -10
  105. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  106. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +1 -1
  107. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  108. package/lib/cjs/appui-react/pickers/ListPicker.js +4 -3
  109. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  110. package/lib/cjs/appui-react/pickers/ListPicker.scss +5 -5
  111. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/pickers/ViewSelector.js +3 -1
  113. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  114. package/lib/cjs/appui-react/popup/CardPopup.js +2 -2
  115. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  116. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +1 -1
  117. package/lib/cjs/appui-react/popup/PositionPopup.scss +1 -1
  118. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +3 -2
  119. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/popup/ToolbarPopup.js +3 -1
  121. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  122. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  123. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +20 -10
  124. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  125. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  127. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  128. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  129. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  130. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  131. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  133. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  134. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  136. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  137. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  138. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  140. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  141. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +8 -3
  142. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  143. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  144. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +6 -3
  146. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  147. package/lib/cjs/appui-react/statusbar/Indicator.scss +14 -15
  148. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  149. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -3
  151. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  152. package/lib/cjs/appui-react/statusbar/Separator.scss +1 -3
  153. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -0
  154. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  156. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  157. package/lib/cjs/appui-react/statusbar/StatusBar.scss +1 -3
  158. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  159. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +34 -35
  161. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  162. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  163. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -20
  165. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  166. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  167. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +28 -20
  169. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  170. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  171. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  172. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +135 -0
  173. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  174. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  175. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  176. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  177. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  178. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  179. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  181. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  182. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -3
  183. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  184. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  185. package/lib/cjs/appui-react/statusfields/MessageCenter.js +5 -2
  186. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  187. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  188. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  189. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  190. package/lib/cjs/appui-react/statusfields/SectionsField.scss +3 -4
  191. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +2 -1
  193. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  194. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +1 -1
  195. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -0
  196. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/statusfields/SnapMode.js +40 -2
  198. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  199. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  200. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +2 -1
  201. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  202. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -4
  204. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  205. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  206. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
  208. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  209. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  210. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +29 -32
  212. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  213. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  214. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +8 -18
  216. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  217. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  218. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  219. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +22 -11
  220. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  221. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  222. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  223. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  224. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  225. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  226. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  227. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +248 -0
  228. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  229. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  230. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  231. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js +26 -0
  232. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  233. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  234. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  235. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  236. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  237. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  238. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  239. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  240. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  241. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  242. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +13 -8
  243. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  244. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  245. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +3 -1
  246. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  247. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  248. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +3 -1
  249. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  250. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -2
  252. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  253. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  254. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  255. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  256. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  257. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  258. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  259. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  260. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  261. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +9 -65
  263. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  265. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +6 -5
  267. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  269. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +8 -34
  271. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  272. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  273. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  275. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  277. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -43
  279. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  281. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  283. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  284. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  285. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  287. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  288. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  289. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  290. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  291. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  292. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  293. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js +16 -0
  294. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  295. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  296. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -1
  297. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  298. package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -2
  299. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
  301. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  302. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/widget-panels/Content.js +10 -12
  304. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  305. package/lib/cjs/appui-react/widget-panels/Frontstage.js +7 -5
  306. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  307. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  308. package/lib/cjs/appui-react/widget-panels/StatusBar.js +3 -2
  309. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  311. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  312. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +4 -4
  314. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  315. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
  316. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +4 -4
  318. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  319. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +2 -2
  320. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  321. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  322. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +4 -4
  323. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  324. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  325. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  326. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  327. package/lib/cjs/appui-react/widgets/Widget.d.ts +39 -0
  328. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -0
  329. package/lib/cjs/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  330. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -0
  331. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +4 -14
  332. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  333. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts +1 -1
  335. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  337. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +7 -5
  338. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  339. package/lib/cjs/appui-react/widgets/WidgetDef.js +30 -42
  340. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  341. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -15
  343. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  344. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +8 -7
  345. package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -1
  346. package/lib/cjs/appui-react/widgets/WidgetState.js +9 -3
  347. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  348. package/lib/cjs/appui-react.d.ts +4 -4
  349. package/lib/cjs/appui-react.d.ts.map +1 -1
  350. package/lib/cjs/appui-react.js +4 -4
  351. package/lib/cjs/appui-react.js.map +1 -1
  352. package/lib/esm/appui-react/_variables.scss +4 -5
  353. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -1
  354. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  355. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  356. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  357. package/lib/esm/appui-react/accudraw/Calculator.js +3 -2
  358. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  359. package/lib/esm/appui-react/accudraw/Calculator.scss +12 -14
  360. package/lib/esm/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  361. package/lib/esm/appui-react/accudraw/MenuButton.js +2 -1
  362. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  363. package/lib/esm/appui-react/accudraw/SquareButton.scss +10 -25
  364. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -1
  365. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  366. package/lib/esm/appui-react/backstage/BackstageComposer.js +12 -15
  367. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  368. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  369. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  370. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +7 -7
  371. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  372. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +44 -13
  373. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  374. package/lib/esm/appui-react/backstage/BackstageItem.js +4 -5
  375. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  376. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  377. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  378. package/lib/esm/appui-react/backstage/BackstageItemsManager.js +126 -0
  379. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  380. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  381. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  382. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  383. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  384. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  385. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  386. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  387. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  388. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.d.ts +1 -1
  389. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js +1 -1
  390. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  391. package/lib/esm/appui-react/configurableui/configurableui.scss +0 -3
  392. package/lib/esm/appui-react/content/ContentLayout.scss +4 -4
  393. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +10 -7
  394. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -10
  395. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  396. package/lib/esm/appui-react/content/FloatingViewportContent.js +15 -14
  397. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  398. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  399. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  400. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +3 -2
  401. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  402. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  403. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  404. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -1
  405. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  406. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +3 -6
  407. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  408. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +5 -3
  409. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  410. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +9 -12
  411. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  412. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  413. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +3 -3
  414. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  415. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  416. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  417. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  418. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +4 -1
  419. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  420. package/lib/esm/appui-react/frontstage/StageUsage.d.ts +9 -8
  421. package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  422. package/lib/esm/appui-react/frontstage/StageUsage.js +10 -3
  423. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  424. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  425. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  426. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  427. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  428. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  429. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  430. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  431. package/lib/esm/appui-react/messages/ActivityMessage.js +2 -2
  432. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  433. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  434. package/lib/esm/appui-react/messages/InputField.js +9 -8
  435. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  436. package/lib/esm/appui-react/messages/InputField.scss +8 -8
  437. package/lib/esm/appui-react/messages/MessageManager.d.ts +10 -1
  438. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  439. package/lib/esm/appui-react/messages/MessageManager.js +31 -6
  440. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  441. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  442. package/lib/esm/appui-react/messages/Pointer.js +2 -2
  443. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  444. package/lib/esm/appui-react/messages/Pointer.scss +6 -6
  445. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  446. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +6 -3
  447. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  448. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  449. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  450. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  451. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +9 -7
  452. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  453. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  454. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  455. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +20 -11
  456. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  457. package/lib/esm/appui-react/pickers/ListPicker.d.ts +1 -1
  458. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  459. package/lib/esm/appui-react/pickers/ListPicker.js +4 -3
  460. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  461. package/lib/esm/appui-react/pickers/ListPicker.scss +5 -5
  462. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  463. package/lib/esm/appui-react/pickers/ViewSelector.js +4 -2
  464. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  465. package/lib/esm/appui-react/popup/CardPopup.js +3 -3
  466. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  467. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +1 -1
  468. package/lib/esm/appui-react/popup/PositionPopup.scss +1 -1
  469. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +3 -2
  470. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  471. package/lib/esm/appui-react/popup/ToolbarPopup.js +3 -1
  472. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  473. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  474. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +21 -11
  475. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  476. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  477. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  478. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  479. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  480. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  481. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  482. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  483. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  484. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  485. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  486. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  487. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  488. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  489. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  490. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  491. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  492. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +8 -3
  493. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  494. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  495. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  496. package/lib/esm/appui-react/stagepanels/StagePanelSection.js +6 -3
  497. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  498. package/lib/esm/appui-react/statusbar/Indicator.scss +14 -15
  499. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  500. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  501. package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -3
  502. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  503. package/lib/esm/appui-react/statusbar/Separator.scss +1 -3
  504. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -0
  505. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  506. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  507. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  508. package/lib/esm/appui-react/statusbar/StatusBar.scss +1 -3
  509. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  510. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  511. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -18
  512. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  514. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  515. package/lib/esm/appui-react/statusbar/StatusBarItem.js +32 -18
  516. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  517. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  518. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  519. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +28 -19
  520. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  521. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  522. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  523. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +131 -0
  524. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  525. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  526. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  527. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  528. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  529. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  530. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  531. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  532. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  533. package/lib/esm/appui-react/statusfields/ActivityCenter.js +6 -4
  534. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  535. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  536. package/lib/esm/appui-react/statusfields/MessageCenter.js +5 -2
  537. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  538. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  539. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  540. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  541. package/lib/esm/appui-react/statusfields/SectionsField.scss +3 -4
  542. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  543. package/lib/esm/appui-react/statusfields/SelectionInfo.js +2 -1
  544. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  545. package/lib/esm/appui-react/statusfields/SelectionScope.scss +1 -1
  546. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -0
  547. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  548. package/lib/esm/appui-react/statusfields/SnapMode.js +40 -2
  549. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  550. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  551. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -1
  552. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  553. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  554. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +6 -5
  555. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  556. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  557. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  558. package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
  559. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  560. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  561. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  562. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +25 -28
  563. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  564. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  565. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  566. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +9 -19
  567. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  568. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  569. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  570. package/lib/esm/appui-react/toolbar/ToolbarItem.js +22 -11
  571. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  572. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  573. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  574. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  575. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  576. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  577. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  578. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +244 -0
  579. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  580. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  581. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  582. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js +22 -0
  583. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  584. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  585. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  586. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  587. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  588. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  589. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  590. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  591. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  592. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  593. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +13 -8
  594. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  595. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  596. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +3 -1
  597. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  598. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  599. package/lib/esm/appui-react/tools/OpenSettingsTool.js +3 -1
  600. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  601. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  602. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -2
  603. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  604. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  605. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  606. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  607. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  608. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  609. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  610. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  611. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  612. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  613. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +7 -63
  614. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  615. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  616. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  617. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +4 -3
  618. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  619. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  620. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  621. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +6 -32
  622. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  623. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  624. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  625. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  626. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  627. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  628. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  629. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +5 -41
  630. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  631. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  632. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  633. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  634. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  635. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  636. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  637. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  638. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  639. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  640. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  641. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  642. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  643. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  644. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js +12 -0
  645. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  646. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  647. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -1
  648. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  649. package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -2
  650. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  651. package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
  652. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  653. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  654. package/lib/esm/appui-react/widget-panels/Content.js +10 -12
  655. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  656. package/lib/esm/appui-react/widget-panels/Frontstage.js +7 -5
  657. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  658. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  659. package/lib/esm/appui-react/widget-panels/StatusBar.js +3 -2
  660. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  661. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  662. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  663. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  664. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +4 -4
  665. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  666. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
  667. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  668. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +4 -4
  669. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  670. package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -1
  671. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  672. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  673. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +3 -3
  674. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  675. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  677. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  678. package/lib/esm/appui-react/widgets/Widget.d.ts +39 -0
  679. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -0
  680. package/lib/esm/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  681. package/lib/esm/appui-react/widgets/Widget.js.map +1 -0
  682. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +4 -14
  683. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  684. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  685. package/lib/esm/appui-react/widgets/WidgetControl.d.ts +1 -1
  686. package/lib/esm/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  687. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  688. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +7 -5
  689. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  690. package/lib/esm/appui-react/widgets/WidgetDef.js +22 -34
  691. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  692. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  693. package/lib/esm/appui-react/widgets/WidgetManager.js +2 -15
  694. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  695. package/lib/esm/appui-react/widgets/WidgetState.d.ts +8 -7
  696. package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -1
  697. package/lib/esm/appui-react/widgets/WidgetState.js +9 -3
  698. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  699. package/lib/esm/appui-react.d.ts +4 -4
  700. package/lib/esm/appui-react.d.ts.map +1 -1
  701. package/lib/esm/appui-react.js +4 -4
  702. package/lib/esm/appui-react.js.map +1 -1
  703. package/package.json +28 -46
  704. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +0 -12
  705. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  706. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +0 -1
  707. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +0 -12
  708. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  709. package/lib/esm/appui-react/widgets/WidgetProps.js.map +0 -1
@@ -21,19 +21,19 @@ const StatusBarItem_1 = require("./StatusBarItem");
21
21
  const useDefaultStatusBarItems_1 = require("./useDefaultStatusBarItems");
22
22
  const useUiItemsProviderStatusBarItems_1 = require("./useUiItemsProviderStatusBarItems");
23
23
  const LabelIndicator_1 = require("../statusbar/LabelIndicator");
24
- /* eslint-disable deprecation/deprecation */
24
+ const StatusBarItemsManager_1 = require("./StatusBarItemsManager");
25
+ const isProviderItem_1 = require("../ui-items-provider/isProviderItem");
25
26
  /** Private function to generate a value that will allow the proper order to be maintained when items are placed in overflow panel */
26
27
  function getCombinedSectionItemPriority(item) {
27
28
  let sectionValue = 0;
28
- if (item.section === appui_abstract_1.StatusBarSection.Center)
29
+ if (item.section === StatusBarItem_1.StatusBarSection.Center)
29
30
  sectionValue = 100000;
30
- else if (item.section === appui_abstract_1.StatusBarSection.Context)
31
+ else if (item.section === StatusBarItem_1.StatusBarSection.Context)
31
32
  sectionValue = 200000;
32
- else if (item.section === appui_abstract_1.StatusBarSection.Right)
33
+ else if (item.section === StatusBarItem_1.StatusBarSection.Right)
33
34
  sectionValue = 300000;
34
35
  return sectionValue + item.itemPriority;
35
36
  }
36
- // eslint-disable-next-line @typescript-eslint/naming-convention
37
37
  const DockedStatusBarEntryContext = React.createContext(null);
38
38
  DockedStatusBarEntryContext.displayName = "nz:DockedStatusBarEntryContext";
39
39
  /** @internal */
@@ -80,15 +80,13 @@ function useStatusBarItemSyncEffect(itemsManager, syncIdsOfInterest) {
80
80
  };
81
81
  }, [itemsManager, itemsManager.items, syncIdsOfInterest]);
82
82
  }
83
- /** function to produce a StatusBarItem component from an AbstractStatusBarLabelItem */
84
- function generateActionStatusLabelItem(item) {
85
- const label = appui_abstract_1.ConditionalStringValue.getValue(item.label);
86
- return (React.createElement(LabelIndicator_1.StatusBarLabelIndicator, { iconSpec: item.icon, label: label }));
83
+ function StatusBarLabelItemComponent(props) {
84
+ const label = appui_abstract_1.ConditionalStringValue.getValue(props.label);
85
+ return (React.createElement(LabelIndicator_1.StatusBarLabelIndicator, { iconSpec: props.icon, label: label }));
87
86
  }
88
- /** function to produce a StatusBarItem component from an AbstractStatusBarActionItem */
89
- function generateActionStatusBarItem(item) {
90
- const title = appui_abstract_1.ConditionalStringValue.getValue(item.tooltip);
91
- return (React.createElement(LabelIndicator_1.StatusBarLabelIndicator, { title: title, onClick: item.execute, iconSpec: item.icon }));
87
+ function StatusBarActionItemComponent(props) {
88
+ const title = appui_abstract_1.ConditionalStringValue.getValue(props.tooltip);
89
+ return (React.createElement(LabelIndicator_1.StatusBarLabelIndicator, { title: title, onClick: props.execute, iconSpec: props.icon }));
92
90
  }
93
91
  /** local function to combine items from Stage and from Extensions */
94
92
  function combineItems(stageItems, addonItems) {
@@ -156,7 +154,7 @@ function isItemInOverflow(id, overflowItemIds) {
156
154
  */
157
155
  function StatusBarComposer(props) {
158
156
  const { className, style, items, mainClassName, leftClassName, centerClassName, rightClassName } = props;
159
- const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new appui_abstract_1.StatusBarItemsManager(items));
157
+ const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new StatusBarItemsManager_1.StatusBarItemsManager(items));
160
158
  const [isOverflowPanelOpen, setIsOverflowPanelOpen] = React.useState(false);
161
159
  const containerWidth = React.useRef(undefined);
162
160
  const isInitialMount = React.useRef(true);
@@ -164,15 +162,15 @@ function StatusBarComposer(props) {
164
162
  if (isInitialMount.current)
165
163
  isInitialMount.current = false;
166
164
  else {
167
- setDefaultItemsManager(new appui_abstract_1.StatusBarItemsManager(items));
165
+ setDefaultItemsManager(new StatusBarItemsManager_1.StatusBarItemsManager(items));
168
166
  }
169
167
  }, [items]);
170
168
  const defaultItems = (0, useDefaultStatusBarItems_1.useDefaultStatusBarItems)(defaultItemsManager);
171
- const syncIdsOfInterest = React.useMemo(() => appui_abstract_1.StatusBarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);
169
+ const syncIdsOfInterest = React.useMemo(() => StatusBarItemsManager_1.StatusBarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);
172
170
  useStatusBarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);
173
- const [addonItemsManager] = React.useState(() => new appui_abstract_1.StatusBarItemsManager());
171
+ const [addonItemsManager] = React.useState(() => new StatusBarItemsManager_1.StatusBarItemsManager());
174
172
  const addonItems = (0, useUiItemsProviderStatusBarItems_1.useUiItemsProviderStatusBarItems)(addonItemsManager);
175
- const addonSyncIdsOfInterest = React.useMemo(() => appui_abstract_1.StatusBarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);
173
+ const addonSyncIdsOfInterest = React.useMemo(() => StatusBarItemsManager_1.StatusBarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);
176
174
  useStatusBarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);
177
175
  const statusBarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);
178
176
  const entryWidths = React.useRef(new Map());
@@ -209,38 +207,39 @@ function StatusBarComposer(props) {
209
207
  }, [calculateOverflow]);
210
208
  const getSectionName = (section) => {
211
209
  switch (section) {
212
- case appui_abstract_1.StatusBarSection.Center:
213
- case appui_abstract_1.StatusBarSection.Stage:
210
+ case StatusBarItem_1.StatusBarSection.Center:
211
+ case StatusBarItem_1.StatusBarSection.Stage:
214
212
  return "status-bar-center";
215
- case appui_abstract_1.StatusBarSection.Context:
213
+ case StatusBarItem_1.StatusBarSection.Context:
216
214
  return "status-bar-right-start";
217
- case appui_abstract_1.StatusBarSection.Right:
218
- case appui_abstract_1.StatusBarSection.Selection:
215
+ case StatusBarItem_1.StatusBarSection.Right:
216
+ case StatusBarItem_1.StatusBarSection.Selection:
219
217
  return "status-bar-right-end";
220
- case appui_abstract_1.StatusBarSection.Left:
221
- case appui_abstract_1.StatusBarSection.Message:
218
+ case StatusBarItem_1.StatusBarSection.Left:
219
+ case StatusBarItem_1.StatusBarSection.Message:
222
220
  return "status-bar-left";
223
221
  }
224
222
  };
225
223
  /** generate a wrapped status bar entry that will report its size. */
226
- const getComponent = React.useCallback((item, key, itemPriority, section, providerId) => {
224
+ const getComponent = React.useCallback((item, key, itemPriority, section) => {
225
+ const providerId = (0, isProviderItem_1.isProviderItem)(item) ? item.providerId : undefined;
227
226
  return (React.createElement(DockedStatusBarEntry, { key: key, entryKey: key, getOnResize: handleEntryResize },
228
227
  React.createElement(DockedStatusBarItem, { key: key, itemId: item.id, itemPriority: itemPriority, providerId: providerId, section: getSectionName(section) },
229
- (0, StatusBarItem_1.isStatusBarItem)(item) && item.reactNode,
230
- (0, appui_abstract_1.isAbstractStatusBarActionItem)(item) && generateActionStatusBarItem(item),
231
- (0, appui_abstract_1.isAbstractStatusBarLabelItem)(item) && generateActionStatusLabelItem(item))));
228
+ (0, StatusBarItem_1.isStatusBarCustomItem)(item) && item.content,
229
+ (0, StatusBarItem_1.isStatusBarActionItem)(item) && React.createElement(StatusBarActionItemComponent, { ...item }),
230
+ (0, StatusBarItem_1.isStatusBarLabelItem)(item) && React.createElement(StatusBarLabelItemComponent, { ...item }))));
232
231
  }, [handleEntryResize]);
233
232
  const getSectionItems = React.useCallback((section) => {
234
233
  const sectionItems = statusBarItems
235
234
  .filter((item) => item.section === section && !isItemInOverflow(item.id, overflown) && !appui_abstract_1.ConditionalBooleanValue.getValue(item.isHidden))
236
235
  .sort((a, b) => a.itemPriority - b.itemPriority);
237
- return sectionItems.map((sectionItem) => (React.createElement(React.Fragment, { key: sectionItem.id }, getComponent(sectionItem, sectionItem.id, sectionItem.itemPriority, sectionItem.section, sectionItem.providerId))));
236
+ return sectionItems.map((sectionItem) => (React.createElement(React.Fragment, { key: sectionItem.id }, getComponent(sectionItem, sectionItem.id, sectionItem.itemPriority, sectionItem.section))));
238
237
  }, [statusBarItems, overflown, getComponent]);
239
238
  const getOverflowItems = React.useCallback(() => {
240
239
  const itemsInOverflow = statusBarItems
241
240
  .filter((item) => isItemInOverflow(item.id, overflown) && !appui_abstract_1.ConditionalBooleanValue.getValue(item.isHidden))
242
241
  .sort((a, b) => getCombinedSectionItemPriority(a) - getCombinedSectionItemPriority(b)).reverse();
243
- return itemsInOverflow.map((item) => (React.createElement(React.Fragment, { key: item.id }, getComponent(item, item.id, item.itemPriority, item.section, item.providerId))));
242
+ return itemsInOverflow.map((item) => (React.createElement(React.Fragment, { key: item.id }, getComponent(item, item.id, item.itemPriority, item.section))));
244
243
  }, [statusBarItems, overflown, getComponent]);
245
244
  const handleContainerResize = React.useCallback((w) => {
246
245
  if ((undefined === containerWidth.current) || Math.abs(containerWidth.current - w) > 2) {
@@ -260,10 +259,10 @@ function StatusBarComposer(props) {
260
259
  const handleOnClose = React.useCallback(() => {
261
260
  setIsOverflowPanelOpen(false);
262
261
  }, []);
263
- const leftItems = React.useMemo(() => getSectionItems(appui_abstract_1.StatusBarSection.Left), [getSectionItems]);
264
- const centerItems = React.useMemo(() => getSectionItems(appui_abstract_1.StatusBarSection.Center), [getSectionItems]);
265
- const rightItems = React.useMemo(() => getSectionItems(appui_abstract_1.StatusBarSection.Right), [getSectionItems]);
266
- const contextItems = React.useMemo(() => getSectionItems(appui_abstract_1.StatusBarSection.Context), [getSectionItems]);
262
+ const leftItems = React.useMemo(() => getSectionItems(StatusBarItem_1.StatusBarSection.Left), [getSectionItems]);
263
+ const centerItems = React.useMemo(() => getSectionItems(StatusBarItem_1.StatusBarSection.Center), [getSectionItems]);
264
+ const rightItems = React.useMemo(() => getSectionItems(StatusBarItem_1.StatusBarSection.Right), [getSectionItems]);
265
+ const contextItems = React.useMemo(() => getSectionItems(StatusBarItem_1.StatusBarSection.Context), [getSectionItems]);
267
266
  const overflowItems = React.useMemo(() => getOverflowItems(), [getOverflowItems]);
268
267
  const containerClassName = (0, classnames_1.default)("uifw-statusbar-docked", className);
269
268
  return (React.createElement("div", { className: containerClassName, ref: refs, style: style, role: "presentation" },
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarComposer.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 StatusBar\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n AbstractStatusBarActionItem, AbstractStatusBarLabelItem, CommonStatusBarItem, ConditionalBooleanValue, ConditionalStringValue,\r\n isAbstractStatusBarActionItem, isAbstractStatusBarLabelItem, StatusBarItemsManager, StatusBarSection, UiSyncEventArgs,\r\n} from \"@itwin/appui-abstract\";\r\nimport { CommonProps, useRefs, useResizeObserver } from \"@itwin/core-react\";\r\nimport { eqlOverflown } from \"@itwin/appui-layout-react\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { StatusBarOverflow } from \"./Overflow\";\r\nimport { StatusBarOverflowPanel } from \"./OverflowPanel\";\r\nimport { StatusBarCenterSection, StatusBarLeftSection, StatusBarRightSection, StatusBarSpaceBetween } from \"./StatusBar\";\r\nimport { isStatusBarItem } from \"./StatusBarItem\";\r\nimport { useDefaultStatusBarItems } from \"./useDefaultStatusBarItems\";\r\nimport { useUiItemsProviderStatusBarItems } from \"./useUiItemsProviderStatusBarItems\";\r\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Private function to generate a value that will allow the proper order to be maintained when items are placed in overflow panel */\r\nfunction getCombinedSectionItemPriority(item: CommonStatusBarItem) {\r\n let sectionValue = 0;\r\n if (item.section === StatusBarSection.Center)\r\n sectionValue = 100000;\r\n else if (item.section === StatusBarSection.Context)\r\n sectionValue = 200000;\r\n else if (item.section === StatusBarSection.Right)\r\n sectionValue = 300000;\r\n return sectionValue + item.itemPriority;\r\n}\r\n\r\ninterface DockedStatusBarEntryContextArg {\r\n readonly isOverflown: boolean;\r\n readonly onResize: (w: number) => void;\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst DockedStatusBarEntryContext = React.createContext<DockedStatusBarEntryContextArg>(null!);\r\nDockedStatusBarEntryContext.displayName = \"nz:DockedStatusBarEntryContext\";\r\n\r\n/** @internal */\r\nexport function useStatusBarEntry() {\r\n return React.useContext(DockedStatusBarEntryContext);\r\n}\r\n\r\n/** Properties of [[DockedStatusBarItem]] component.\r\n * @internal future\r\n */\r\nexport interface StatusBarItemProps extends CommonProps {\r\n /** Tool setting content. */\r\n children?: React.ReactNode;\r\n itemPriority?: number;\r\n providerId?: string;\r\n section?: string;\r\n}\r\n\r\n/** Used in [[StatusBarComposer]] component to display a statusbar item.\r\n * @internal future\r\n */\r\nexport function DockedStatusBarItem(props: StatusBarItemProps) {\r\n const { onResize } = useStatusBarEntry();\r\n const ref = useResizeObserver<HTMLDivElement>(onResize);\r\n const className = classnames(\r\n \"uifw-statusbar-item-container\",\r\n props.className,\r\n );\r\n return (\r\n <div\r\n data-item-id={props.itemId}\r\n data-item-type=\"status-bar-item\"\r\n data-item-location={props.section}\r\n data-item-priority={props.itemPriority}\r\n data-item-provider-id={props.providerId}\r\n className={className}\r\n ref={ref}\r\n style={props.style}\r\n >\r\n {props.children}\r\n </div>\r\n );\r\n}\r\n\r\ninterface DockedStatusBarEntryProps {\r\n children?: React.ReactNode;\r\n entryKey: string;\r\n getOnResize: (key: string) => (w: number) => void;\r\n}\r\n\r\n/** Wrapper for status bar entries so their size can be used to determine if the status bar container can display them or if they will need to be placed in an overflow panel. */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, no-shadow\r\nfunction DockedStatusBarEntry({ children, entryKey, getOnResize }: DockedStatusBarEntryProps) {\r\n const onResize = React.useMemo(() => getOnResize(entryKey), [getOnResize, entryKey]);\r\n const entry = React.useMemo<DockedStatusBarEntryContextArg>(() => ({\r\n isOverflown: false,\r\n onResize,\r\n }), [onResize]);\r\n return (\r\n <DockedStatusBarEntryContext.Provider value={entry}>\r\n {children}\r\n </DockedStatusBarEntryContext.Provider>\r\n );\r\n}\r\n\r\n/** Private function to set up sync event monitoring of statusbar items */\r\nfunction useStatusBarItemSyncEffect(itemsManager: StatusBarItemsManager, 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 itemsManager.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n // Note: that items with conditions have condition run when loaded into the items manager\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [itemsManager, itemsManager.items, syncIdsOfInterest]);\r\n}\r\n\r\n/** function to produce a StatusBarItem component from an AbstractStatusBarLabelItem */\r\nfunction generateActionStatusLabelItem(item: AbstractStatusBarLabelItem): React.ReactNode {\r\n const label = ConditionalStringValue.getValue(item.label);\r\n return (\r\n <StatusBarLabelIndicator\r\n iconSpec={item.icon}\r\n label={label}\r\n />\r\n );\r\n}\r\n\r\n/** function to produce a StatusBarItem component from an AbstractStatusBarActionItem */\r\nfunction generateActionStatusBarItem(item: AbstractStatusBarActionItem): React.ReactNode {\r\n const title = ConditionalStringValue.getValue(item.tooltip);\r\n return (\r\n <StatusBarLabelIndicator\r\n title={title}\r\n onClick={item.execute}\r\n iconSpec={item.icon}\r\n />\r\n );\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(stageItems: ReadonlyArray<CommonStatusBarItem>, addonItems: ReadonlyArray<CommonStatusBarItem>) {\r\n const items: CommonStatusBarItem[] = [];\r\n if (stageItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n stageItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n if (addonItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n addonItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n return items;\r\n}\r\n\r\n/** local function to ensure a width value is defined for a status bar entries. */\r\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\r\n for (const [, val] of map) {\r\n // istanbul ignore next\r\n if (val === undefined)\r\n return undefined;\r\n }\r\n return map as Map<string, T>;\r\n}\r\n\r\n/** Returns a subset of docked entry keys that exceed given width and should be placed in overflow panel. */\r\nfunction getItemToPlaceInOverflow(width: number, docked: ReadonlyArray<readonly [string, number]>, overflowWidth: number) {\r\n let settingsWidth = 0;\r\n\r\n let i = 0;\r\n for (; i < docked.length; i++) {\r\n const w = docked[i][1];\r\n const newSettingsWidth = settingsWidth + w;\r\n if (newSettingsWidth > width) {\r\n settingsWidth += overflowWidth;\r\n break;\r\n }\r\n settingsWidth = newSettingsWidth;\r\n }\r\n\r\n let j = i;\r\n for (; j > 0; j--) {\r\n if (settingsWidth <= width)\r\n break;\r\n const w = docked[j][1];\r\n settingsWidth -= w;\r\n }\r\n\r\n const overflowItems = new Array<string>();\r\n for (i = j; i < docked.length; i++) {\r\n overflowItems.push(docked[i][0]);\r\n }\r\n return overflowItems;\r\n}\r\n\r\nfunction isItemInOverflow(id: string, overflowItemIds: ReadonlyArray<string> | undefined) {\r\n if (!overflowItemIds || 0 === overflowItemIds.length)\r\n return false;\r\n return !!overflowItemIds.find((value) => value === id);\r\n}\r\n\r\n/** Properties for the [[StatusBarComposer]] React components\r\n * @public\r\n */\r\nexport interface StatusBarComposerProps extends CommonProps {\r\n /** Status Bar items */\r\n items: CommonStatusBarItem[];\r\n\r\n /** CSS class name override for the overall Status Bar */\r\n mainClassName?: string;\r\n /** CSS class name override for the left section */\r\n leftClassName?: string;\r\n /** CSS class name override for the center section */\r\n centerClassName?: string;\r\n /** CSS class name override for the right section */\r\n rightClassName?: string;\r\n}\r\n\r\n/** Component to load components into the [[StatusBar]].\r\n * @public\r\n */\r\nexport function StatusBarComposer(props: StatusBarComposerProps) {\r\n const { className, style, items, mainClassName, leftClassName, centerClassName, rightClassName } = props;\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new StatusBarItemsManager(items));\r\n const [isOverflowPanelOpen, setIsOverflowPanelOpen] = React.useState(false);\r\n const containerWidth = React.useRef<number | undefined>(undefined);\r\n\r\n const isInitialMount = React.useRef(true);\r\n React.useEffect(() => {\r\n if (isInitialMount.current)\r\n isInitialMount.current = false;\r\n else {\r\n setDefaultItemsManager(new StatusBarItemsManager(items));\r\n }\r\n }, [items]);\r\n const defaultItems = useDefaultStatusBarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => StatusBarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useStatusBarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n const [addonItemsManager] = React.useState(() => new StatusBarItemsManager());\r\n const addonItems = useUiItemsProviderStatusBarItems(addonItemsManager);\r\n const addonSyncIdsOfInterest = React.useMemo(() => StatusBarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useStatusBarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const statusBarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n const entryWidths = React.useRef(new Map<string, number | undefined>());\r\n const overflowWidth = React.useRef<number | undefined>(undefined);\r\n const [overflown, setOverflown] = React.useState<ReadonlyArray<string>>();\r\n\r\n const calculateOverflow = React.useCallback(() => {\r\n const widths = verifiedMapEntries(entryWidths.current);\r\n if (containerWidth.current === undefined ||\r\n widths === undefined ||\r\n overflowWidth.current === undefined\r\n ) {\r\n setOverflown(new Array<string>());\r\n return;\r\n }\r\n\r\n // Calculate overflow.\r\n const newOverflown = getItemToPlaceInOverflow(containerWidth.current, [...widths.entries()], overflowWidth.current);\r\n if (!eqlOverflown(overflown, newOverflown)) {\r\n setOverflown(newOverflown);\r\n // istanbul ignore next\r\n if (0 === newOverflown.length && isOverflowPanelOpen)\r\n setIsOverflowPanelOpen(false);\r\n }\r\n }, [isOverflowPanelOpen, overflown]);\r\n\r\n const handleOverflowResize = React.useCallback((w: number) => {\r\n const calculate = overflowWidth.current !== w;\r\n overflowWidth.current = w;\r\n calculate && calculateOverflow();\r\n }, [calculateOverflow]);\r\n\r\n const handleEntryResize = React.useCallback((key: string) => (w: number) => {\r\n const oldW = entryWidths.current.get(key);\r\n if ((undefined === oldW) || Math.abs(oldW - w) > 2) {\r\n entryWidths.current.set(key, w);\r\n calculateOverflow();\r\n }\r\n }, [calculateOverflow]);\r\n\r\n const getSectionName = (section: StatusBarSection) => {\r\n switch (section) {\r\n case StatusBarSection.Center:\r\n case StatusBarSection.Stage:\r\n return \"status-bar-center\";\r\n case StatusBarSection.Context:\r\n return \"status-bar-right-start\";\r\n case StatusBarSection.Right:\r\n case StatusBarSection.Selection:\r\n return \"status-bar-right-end\";\r\n case StatusBarSection.Left:\r\n case StatusBarSection.Message:\r\n return \"status-bar-left\";\r\n }\r\n };\r\n\r\n /** generate a wrapped status bar entry that will report its size. */\r\n const getComponent = React.useCallback((item: CommonStatusBarItem, key: string, itemPriority: number,\r\n section: StatusBarSection, providerId?: string): React.ReactNode => {\r\n return (\r\n <DockedStatusBarEntry\r\n key={key}\r\n entryKey={key}\r\n getOnResize={handleEntryResize}\r\n >\r\n <DockedStatusBarItem key={key} itemId={item.id} itemPriority={itemPriority} providerId={providerId} section={getSectionName(section)} >\r\n {isStatusBarItem(item) && item.reactNode}\r\n {isAbstractStatusBarActionItem(item) && generateActionStatusBarItem(item)}\r\n {isAbstractStatusBarLabelItem(item) && generateActionStatusLabelItem(item)}\r\n </DockedStatusBarItem>\r\n </DockedStatusBarEntry>\r\n );\r\n }, [handleEntryResize]);\r\n\r\n const getSectionItems = React.useCallback((section: StatusBarSection): React.ReactNode[] => {\r\n const sectionItems = statusBarItems\r\n .filter((item) => item.section as number === section && !isItemInOverflow(item.id, overflown) && !ConditionalBooleanValue.getValue(item.isHidden))\r\n .sort((a, b) => a.itemPriority - b.itemPriority);\r\n\r\n return sectionItems.map((sectionItem) => (\r\n <React.Fragment key={sectionItem.id}>\r\n {getComponent(sectionItem, sectionItem.id, sectionItem.itemPriority, sectionItem.section, sectionItem.providerId)}\r\n </React.Fragment>\r\n ));\r\n }, [statusBarItems, overflown, getComponent]);\r\n\r\n const getOverflowItems = React.useCallback((): React.ReactNode[] => {\r\n const itemsInOverflow = statusBarItems\r\n .filter((item) => isItemInOverflow(item.id, overflown) && !ConditionalBooleanValue.getValue(item.isHidden))\r\n .sort((a, b) => getCombinedSectionItemPriority(a) - getCombinedSectionItemPriority(b)).reverse();\r\n\r\n return itemsInOverflow.map((item) => (\r\n <React.Fragment key={item.id}>\r\n {getComponent(item, item.id, item.itemPriority, item.section, item.providerId)}\r\n </React.Fragment>\r\n ));\r\n }, [statusBarItems, overflown, getComponent]);\r\n\r\n const handleContainerResize = React.useCallback((w: number) => {\r\n if ((undefined === containerWidth.current) || Math.abs(containerWidth.current - w) > 2) {\r\n containerWidth.current = w;\r\n calculateOverflow();\r\n }\r\n }, [calculateOverflow]);\r\n\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const targetRef = React.useRef<HTMLDivElement>(null);\r\n const resizeObserverRef = useResizeObserver(handleContainerResize);\r\n // allow both the containerRef and the resize observer function that takes a ref to be processed when the ref is set.\r\n const refs = useRefs(containerRef, resizeObserverRef);\r\n\r\n const onOverflowClick = React.useCallback(() => {\r\n setIsOverflowPanelOpen((prev) => !prev);\r\n }, []);\r\n // istanbul ignore next\r\n const handleOnClose = React.useCallback(() => {\r\n setIsOverflowPanelOpen(false);\r\n }, []);\r\n const leftItems = React.useMemo(() => getSectionItems(StatusBarSection.Left), [getSectionItems]);\r\n const centerItems = React.useMemo(() => getSectionItems(StatusBarSection.Center), [getSectionItems]);\r\n const rightItems = React.useMemo(() => getSectionItems(StatusBarSection.Right), [getSectionItems]);\r\n const contextItems = React.useMemo(() => getSectionItems(StatusBarSection.Context), [getSectionItems]);\r\n const overflowItems = React.useMemo(() => getOverflowItems(), [getOverflowItems]);\r\n\r\n const containerClassName = classnames(\r\n \"uifw-statusbar-docked\",\r\n className,\r\n );\r\n\r\n return (\r\n <div\r\n className={containerClassName}\r\n ref={refs}\r\n style={style}\r\n role=\"presentation\"\r\n >\r\n <StatusBarSpaceBetween className={mainClassName}>\r\n <StatusBarLeftSection className={leftClassName}>\r\n {leftItems}\r\n </StatusBarLeftSection>\r\n <StatusBarCenterSection className={centerClassName}>\r\n {centerItems}\r\n {contextItems}\r\n </StatusBarCenterSection>\r\n <StatusBarRightSection className={rightClassName}>\r\n {rightItems}\r\n {(!overflown || overflown.length > 0) && (\r\n <>\r\n <StatusBarOverflow\r\n onClick={onOverflowClick}\r\n onResize={handleOverflowResize}\r\n ref={targetRef}\r\n />\r\n {overflowItems.length > 0 && isOverflowPanelOpen && targetRef.current &&\r\n <StatusBarOverflowPanel\r\n onClose={handleOnClose}\r\n open={true}\r\n target={targetRef.current}\r\n >\r\n <div className=\"uifw-statusbar-overflow-items-container\" data-testid=\"uifw-statusbar-overflow-items-container\">\r\n {overflowItems.map((overflowEntry) => overflowEntry)}\r\n </div>\r\n </StatusBarOverflowPanel>\r\n }\r\n </>\r\n )}\r\n\r\n </StatusBarRightSection>\r\n </StatusBarSpaceBetween>\r\n </div>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"StatusBarComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarComposer.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 StatusBar\r\n */\r\n\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, useRefs, useResizeObserver } from \"@itwin/core-react\";\r\nimport { eqlOverflown } from \"@itwin/appui-layout-react\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { StatusBarOverflow } from \"./Overflow\";\r\nimport { StatusBarOverflowPanel } from \"./OverflowPanel\";\r\nimport { StatusBarCenterSection, StatusBarLeftSection, StatusBarRightSection, StatusBarSpaceBetween } from \"./StatusBar\";\r\nimport { isStatusBarActionItem, isStatusBarCustomItem, isStatusBarLabelItem, StatusBarActionItem, StatusBarItem, StatusBarLabelItem, StatusBarSection } from \"./StatusBarItem\";\r\nimport { useDefaultStatusBarItems } from \"./useDefaultStatusBarItems\";\r\nimport { useUiItemsProviderStatusBarItems } from \"./useUiItemsProviderStatusBarItems\";\r\nimport { StatusBarLabelIndicator } from \"../statusbar/LabelIndicator\";\r\nimport { StatusBarItemsManager } from \"./StatusBarItemsManager\";\r\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\r\n\r\n/** Private function to generate a value that will allow the proper order to be maintained when items are placed in overflow panel */\r\nfunction getCombinedSectionItemPriority(item: StatusBarItem) {\r\n let sectionValue = 0;\r\n if (item.section === StatusBarSection.Center)\r\n sectionValue = 100000;\r\n else if (item.section === StatusBarSection.Context)\r\n sectionValue = 200000;\r\n else if (item.section === StatusBarSection.Right)\r\n sectionValue = 300000;\r\n return sectionValue + item.itemPriority;\r\n}\r\n\r\ninterface DockedStatusBarEntryContextArg {\r\n readonly isOverflown: boolean;\r\n readonly onResize: (w: number) => void;\r\n}\r\n\r\nconst DockedStatusBarEntryContext = React.createContext<DockedStatusBarEntryContextArg>(null!);\r\nDockedStatusBarEntryContext.displayName = \"nz:DockedStatusBarEntryContext\";\r\n\r\n/** @internal */\r\nexport function useStatusBarEntry() {\r\n return React.useContext(DockedStatusBarEntryContext);\r\n}\r\n\r\n/** Properties of [[DockedStatusBarItem]] component.\r\n * @internal future\r\n */\r\nexport interface StatusBarItemProps extends CommonProps {\r\n /** Tool setting content. */\r\n children?: React.ReactNode;\r\n itemPriority?: number;\r\n providerId?: string;\r\n section?: string;\r\n}\r\n\r\n/** Used in [[StatusBarComposer]] component to display a statusbar item.\r\n * @internal future\r\n */\r\nexport function DockedStatusBarItem(props: StatusBarItemProps) {\r\n const { onResize } = useStatusBarEntry();\r\n const ref = useResizeObserver<HTMLDivElement>(onResize);\r\n const className = classnames(\r\n \"uifw-statusbar-item-container\",\r\n props.className,\r\n );\r\n return (\r\n <div\r\n data-item-id={props.itemId}\r\n data-item-type=\"status-bar-item\"\r\n data-item-location={props.section}\r\n data-item-priority={props.itemPriority}\r\n data-item-provider-id={props.providerId}\r\n className={className}\r\n ref={ref}\r\n style={props.style}\r\n >\r\n {props.children}\r\n </div>\r\n );\r\n}\r\n\r\ninterface DockedStatusBarEntryProps {\r\n children?: React.ReactNode;\r\n entryKey: string;\r\n getOnResize: (key: string) => (w: number) => void;\r\n}\r\n\r\n/** Wrapper for status bar entries so their size can be used to determine if the status bar container can display them or if they will need to be placed in an overflow panel. */\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, no-shadow\r\nfunction DockedStatusBarEntry({ children, entryKey, getOnResize }: DockedStatusBarEntryProps) {\r\n const onResize = React.useMemo(() => getOnResize(entryKey), [getOnResize, entryKey]);\r\n const entry = React.useMemo<DockedStatusBarEntryContextArg>(() => ({\r\n isOverflown: false,\r\n onResize,\r\n }), [onResize]);\r\n return (\r\n <DockedStatusBarEntryContext.Provider value={entry}>\r\n {children}\r\n </DockedStatusBarEntryContext.Provider>\r\n );\r\n}\r\n\r\n/** Private function to set up sync event monitoring of statusbar items */\r\nfunction useStatusBarItemSyncEffect(itemsManager: StatusBarItemsManager, 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 itemsManager.refreshAffectedItems(args.eventIds);\r\n }\r\n };\r\n\r\n // Note: that items with conditions have condition run when loaded into the items manager\r\n SyncUiEventDispatcher.onSyncUiEvent.addListener(handleSyncUiEvent);\r\n return () => {\r\n SyncUiEventDispatcher.onSyncUiEvent.removeListener(handleSyncUiEvent);\r\n };\r\n }, [itemsManager, itemsManager.items, syncIdsOfInterest]);\r\n}\r\n\r\nfunction StatusBarLabelItemComponent(props: StatusBarLabelItem) {\r\n const label = ConditionalStringValue.getValue(props.label);\r\n return (\r\n <StatusBarLabelIndicator\r\n iconSpec={props.icon}\r\n label={label}\r\n />\r\n );\r\n}\r\n\r\nfunction StatusBarActionItemComponent(props: StatusBarActionItem) {\r\n const title = ConditionalStringValue.getValue(props.tooltip);\r\n return (\r\n <StatusBarLabelIndicator\r\n title={title}\r\n onClick={props.execute}\r\n iconSpec={props.icon}\r\n />\r\n );\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(stageItems: ReadonlyArray<StatusBarItem>, addonItems: ReadonlyArray<StatusBarItem>) {\r\n const items: StatusBarItem[] = [];\r\n if (stageItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n stageItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n if (addonItems.length) {\r\n // Walk through each and ensure no duplicate ids are added.\r\n addonItems.forEach((srcItem) => {\r\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\r\n items.push(srcItem);\r\n }\r\n });\r\n }\r\n return items;\r\n}\r\n\r\n/** local function to ensure a width value is defined for a status bar entries. */\r\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\r\n for (const [, val] of map) {\r\n // istanbul ignore next\r\n if (val === undefined)\r\n return undefined;\r\n }\r\n return map as Map<string, T>;\r\n}\r\n\r\n/** Returns a subset of docked entry keys that exceed given width and should be placed in overflow panel. */\r\nfunction getItemToPlaceInOverflow(width: number, docked: ReadonlyArray<readonly [string, number]>, overflowWidth: number) {\r\n let settingsWidth = 0;\r\n\r\n let i = 0;\r\n for (; i < docked.length; i++) {\r\n const w = docked[i][1];\r\n const newSettingsWidth = settingsWidth + w;\r\n if (newSettingsWidth > width) {\r\n settingsWidth += overflowWidth;\r\n break;\r\n }\r\n settingsWidth = newSettingsWidth;\r\n }\r\n\r\n let j = i;\r\n for (; j > 0; j--) {\r\n if (settingsWidth <= width)\r\n break;\r\n const w = docked[j][1];\r\n settingsWidth -= w;\r\n }\r\n\r\n const overflowItems = new Array<string>();\r\n for (i = j; i < docked.length; i++) {\r\n overflowItems.push(docked[i][0]);\r\n }\r\n return overflowItems;\r\n}\r\n\r\nfunction isItemInOverflow(id: string, overflowItemIds: ReadonlyArray<string> | undefined) {\r\n if (!overflowItemIds || 0 === overflowItemIds.length)\r\n return false;\r\n return !!overflowItemIds.find((value) => value === id);\r\n}\r\n\r\n/** Properties for the [[StatusBarComposer]] React components\r\n * @public\r\n */\r\nexport interface StatusBarComposerProps extends CommonProps {\r\n /** Status Bar items */\r\n items: StatusBarItem[];\r\n\r\n /** CSS class name override for the overall Status Bar */\r\n mainClassName?: string;\r\n /** CSS class name override for the left section */\r\n leftClassName?: string;\r\n /** CSS class name override for the center section */\r\n centerClassName?: string;\r\n /** CSS class name override for the right section */\r\n rightClassName?: string;\r\n}\r\n\r\n/** Component to load components into the [[StatusBar]].\r\n * @public\r\n */\r\nexport function StatusBarComposer(props: StatusBarComposerProps) {\r\n const { className, style, items, mainClassName, leftClassName, centerClassName, rightClassName } = props;\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(() => new StatusBarItemsManager(items));\r\n const [isOverflowPanelOpen, setIsOverflowPanelOpen] = React.useState(false);\r\n const containerWidth = React.useRef<number | undefined>(undefined);\r\n\r\n const isInitialMount = React.useRef(true);\r\n React.useEffect(() => {\r\n if (isInitialMount.current)\r\n isInitialMount.current = false;\r\n else {\r\n setDefaultItemsManager(new StatusBarItemsManager(items));\r\n }\r\n }, [items]);\r\n const defaultItems = useDefaultStatusBarItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => StatusBarItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useStatusBarItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n const [addonItemsManager] = React.useState(() => new StatusBarItemsManager());\r\n const addonItems = useUiItemsProviderStatusBarItems(addonItemsManager);\r\n const addonSyncIdsOfInterest = React.useMemo(() => StatusBarItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useStatusBarItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const statusBarItems = React.useMemo(() => combineItems(defaultItems, addonItems), [defaultItems, addonItems]);\r\n const entryWidths = React.useRef(new Map<string, number | undefined>());\r\n const overflowWidth = React.useRef<number | undefined>(undefined);\r\n const [overflown, setOverflown] = React.useState<ReadonlyArray<string>>();\r\n\r\n const calculateOverflow = React.useCallback(() => {\r\n const widths = verifiedMapEntries(entryWidths.current);\r\n if (containerWidth.current === undefined ||\r\n widths === undefined ||\r\n overflowWidth.current === undefined\r\n ) {\r\n setOverflown(new Array<string>());\r\n return;\r\n }\r\n\r\n // Calculate overflow.\r\n const newOverflown = getItemToPlaceInOverflow(containerWidth.current, [...widths.entries()], overflowWidth.current);\r\n if (!eqlOverflown(overflown, newOverflown)) {\r\n setOverflown(newOverflown);\r\n // istanbul ignore next\r\n if (0 === newOverflown.length && isOverflowPanelOpen)\r\n setIsOverflowPanelOpen(false);\r\n }\r\n }, [isOverflowPanelOpen, overflown]);\r\n\r\n const handleOverflowResize = React.useCallback((w: number) => {\r\n const calculate = overflowWidth.current !== w;\r\n overflowWidth.current = w;\r\n calculate && calculateOverflow();\r\n }, [calculateOverflow]);\r\n\r\n const handleEntryResize = React.useCallback((key: string) => (w: number) => {\r\n const oldW = entryWidths.current.get(key);\r\n if ((undefined === oldW) || Math.abs(oldW - w) > 2) {\r\n entryWidths.current.set(key, w);\r\n calculateOverflow();\r\n }\r\n }, [calculateOverflow]);\r\n\r\n const getSectionName = (section: StatusBarSection) => {\r\n switch (section) {\r\n case StatusBarSection.Center:\r\n case StatusBarSection.Stage:\r\n return \"status-bar-center\";\r\n case StatusBarSection.Context:\r\n return \"status-bar-right-start\";\r\n case StatusBarSection.Right:\r\n case StatusBarSection.Selection:\r\n return \"status-bar-right-end\";\r\n case StatusBarSection.Left:\r\n case StatusBarSection.Message:\r\n return \"status-bar-left\";\r\n }\r\n };\r\n\r\n /** generate a wrapped status bar entry that will report its size. */\r\n const getComponent = React.useCallback((item: StatusBarItem, key: string, itemPriority: number,\r\n section: StatusBarSection): React.ReactNode => {\r\n const providerId = isProviderItem(item) ? item.providerId : undefined;\r\n return (\r\n <DockedStatusBarEntry\r\n key={key}\r\n entryKey={key}\r\n getOnResize={handleEntryResize}\r\n >\r\n <DockedStatusBarItem key={key} itemId={item.id} itemPriority={itemPriority} providerId={providerId} section={getSectionName(section)} >\r\n {isStatusBarCustomItem(item) && item.content}\r\n {isStatusBarActionItem(item) && <StatusBarActionItemComponent {...item} />}\r\n {isStatusBarLabelItem(item) && <StatusBarLabelItemComponent {...item} />}\r\n </DockedStatusBarItem>\r\n </DockedStatusBarEntry>\r\n );\r\n }, [handleEntryResize]);\r\n\r\n const getSectionItems = React.useCallback((section: StatusBarSection): React.ReactNode[] => {\r\n const sectionItems = statusBarItems\r\n .filter((item) => item.section as number === section && !isItemInOverflow(item.id, overflown) && !ConditionalBooleanValue.getValue(item.isHidden))\r\n .sort((a, b) => a.itemPriority - b.itemPriority);\r\n\r\n return sectionItems.map((sectionItem) => (\r\n <React.Fragment key={sectionItem.id}>\r\n {getComponent(sectionItem, sectionItem.id, sectionItem.itemPriority, sectionItem.section)}\r\n </React.Fragment>\r\n ));\r\n }, [statusBarItems, overflown, getComponent]);\r\n\r\n const getOverflowItems = React.useCallback((): React.ReactNode[] => {\r\n const itemsInOverflow = statusBarItems\r\n .filter((item) => isItemInOverflow(item.id, overflown) && !ConditionalBooleanValue.getValue(item.isHidden))\r\n .sort((a, b) => getCombinedSectionItemPriority(a) - getCombinedSectionItemPriority(b)).reverse();\r\n\r\n return itemsInOverflow.map((item) => (\r\n <React.Fragment key={item.id}>\r\n {getComponent(item, item.id, item.itemPriority, item.section)}\r\n </React.Fragment>\r\n ));\r\n }, [statusBarItems, overflown, getComponent]);\r\n\r\n const handleContainerResize = React.useCallback((w: number) => {\r\n if ((undefined === containerWidth.current) || Math.abs(containerWidth.current - w) > 2) {\r\n containerWidth.current = w;\r\n calculateOverflow();\r\n }\r\n }, [calculateOverflow]);\r\n\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const targetRef = React.useRef<HTMLDivElement>(null);\r\n const resizeObserverRef = useResizeObserver(handleContainerResize);\r\n // allow both the containerRef and the resize observer function that takes a ref to be processed when the ref is set.\r\n const refs = useRefs(containerRef, resizeObserverRef);\r\n\r\n const onOverflowClick = React.useCallback(() => {\r\n setIsOverflowPanelOpen((prev) => !prev);\r\n }, []);\r\n // istanbul ignore next\r\n const handleOnClose = React.useCallback(() => {\r\n setIsOverflowPanelOpen(false);\r\n }, []);\r\n const leftItems = React.useMemo(() => getSectionItems(StatusBarSection.Left), [getSectionItems]);\r\n const centerItems = React.useMemo(() => getSectionItems(StatusBarSection.Center), [getSectionItems]);\r\n const rightItems = React.useMemo(() => getSectionItems(StatusBarSection.Right), [getSectionItems]);\r\n const contextItems = React.useMemo(() => getSectionItems(StatusBarSection.Context), [getSectionItems]);\r\n const overflowItems = React.useMemo(() => getOverflowItems(), [getOverflowItems]);\r\n\r\n const containerClassName = classnames(\r\n \"uifw-statusbar-docked\",\r\n className,\r\n );\r\n\r\n return (\r\n <div\r\n className={containerClassName}\r\n ref={refs}\r\n style={style}\r\n role=\"presentation\"\r\n >\r\n <StatusBarSpaceBetween className={mainClassName}>\r\n <StatusBarLeftSection className={leftClassName}>\r\n {leftItems}\r\n </StatusBarLeftSection>\r\n <StatusBarCenterSection className={centerClassName}>\r\n {centerItems}\r\n {contextItems}\r\n </StatusBarCenterSection>\r\n <StatusBarRightSection className={rightClassName}>\r\n {rightItems}\r\n {(!overflown || overflown.length > 0) && (\r\n <>\r\n <StatusBarOverflow\r\n onClick={onOverflowClick}\r\n onResize={handleOverflowResize}\r\n ref={targetRef}\r\n />\r\n {overflowItems.length > 0 && isOverflowPanelOpen && targetRef.current &&\r\n <StatusBarOverflowPanel\r\n onClose={handleOnClose}\r\n open={true}\r\n target={targetRef.current}\r\n >\r\n <div className=\"uifw-statusbar-overflow-items-container\" data-testid=\"uifw-statusbar-overflow-items-container\">\r\n {overflowItems.map((overflowEntry) => overflowEntry)}\r\n </div>\r\n </StatusBarOverflowPanel>\r\n }\r\n </>\r\n )}\r\n\r\n </StatusBarRightSection>\r\n </StatusBarSpaceBetween>\r\n </div>\r\n );\r\n}\r\n"]}
@@ -2,66 +2,98 @@
2
2
  * @module StatusBar
3
3
  */
4
4
  import * as React from "react";
5
- import { AbstractStatusBarActionItem, AbstractStatusBarCustomItem, AbstractStatusBarItem, AbstractStatusBarLabelItem, CommonStatusBarItem as UIA_CommonStatusBarItem, StatusBarLabelSide as UIA_StatusBarLabelSide, StatusBarSection as UIA_StatusBarSection } from "@itwin/appui-abstract";
5
+ import { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from "@itwin/appui-abstract";
6
+ import { IconSpec } from "@itwin/core-react";
6
7
  /** Status bar Groups/Sections from Left to Right
7
- * @beta
8
- */
9
- export declare type StatusBarSection = UIA_StatusBarSection;
10
- /** Status bar Groups/Sections from Left to Right
11
- * @beta
12
- */
13
- export declare const StatusBarSection: typeof UIA_StatusBarSection;
14
- /** Defines which side of Icon where label is placed
15
- * @beta
8
+ * @public
16
9
  */
17
- export declare type StatusBarLabelSide = UIA_StatusBarLabelSide;
10
+ export declare enum StatusBarSection {
11
+ /** area for tool assistance and messages */
12
+ Message = 0,
13
+ /** area for tool assistance and messages */
14
+ Left = 0,
15
+ /** items specific to stage/task */
16
+ Stage = 1,
17
+ /** items specific to stage/task */
18
+ Center = 1,
19
+ /** Select scope and selection info */
20
+ Selection = 2,
21
+ /** Select scope and selection info */
22
+ Right = 2,
23
+ /** items that only show based on context */
24
+ Context = 3
25
+ }
18
26
  /** Defines which side of Icon where label is placed
19
- * @beta
27
+ * @public
20
28
  */
21
- export declare const StatusBarLabelSide: typeof UIA_StatusBarLabelSide;
29
+ export declare enum StatusBarLabelSide {
30
+ /** Label is placed left side of icon. This is the default if not specified */
31
+ Left = 0,
32
+ /** Label is placed on right side of icon. */
33
+ Right = 1
34
+ }
22
35
  /** Describes the data needed to insert a button into the status bar.
23
- * @beta
36
+ * @public
24
37
  */
25
- export declare type CommonStatusBarItem = AbstractStatusBarItem;
38
+ export interface CommonStatusBarItem {
39
+ /** Required unique id of the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */
40
+ readonly id: string;
41
+ /** Describes badge. Renders no badge if not specified. */
42
+ readonly badge?: BadgeType;
43
+ /** Describes if the item is visible or hidden. The default is for the item to be visible. */
44
+ readonly isHidden?: boolean | ConditionalBooleanValue;
45
+ /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */
46
+ readonly isDisabled?: boolean | ConditionalBooleanValue;
47
+ /** Priority within a section (recommend using values 1 through 100). */
48
+ readonly itemPriority: number;
49
+ /** status bar section */
50
+ readonly section: StatusBarSection;
51
+ }
26
52
  /** Describes the data needed to insert an action item into the status bar.
27
- * @beta
53
+ * @public
28
54
  */
29
- export declare type StatusBarActionItem = AbstractStatusBarActionItem;
55
+ export interface StatusBarActionItem extends CommonStatusBarItem {
56
+ /** method to execute when icon is pressed */
57
+ readonly execute: () => void;
58
+ /** Icon of a status bar item. */
59
+ readonly icon?: IconSpec;
60
+ /** Label. */
61
+ readonly label?: string | ConditionalStringValue;
62
+ /** tooltip. */
63
+ readonly tooltip?: string | ConditionalStringValue;
64
+ }
30
65
  /** Describes the data needed to insert a label item with an optional icon into the status bar.
31
- * @beta
32
- */
33
- export declare type StatusBarLabelItem = AbstractStatusBarLabelItem;
34
- /** Describes the data needed to insert an item into the StatusBar.
35
- * @deprecated in 3.6. Use [[StatusBarCustomItem]] instead.
36
66
  * @public
37
67
  */
38
- export interface StatusBarItem extends AbstractStatusBarCustomItem {
39
- /** React node for the StatusBar item. */
40
- readonly reactNode: React.ReactNode;
68
+ export interface StatusBarLabelItem extends CommonStatusBarItem {
69
+ /** Icon of a status bar item. */
70
+ readonly icon?: IconSpec;
71
+ /** Label. */
72
+ readonly label: string | ConditionalStringValue;
73
+ /** Defines which side of icon to display label if icon is defined. */
74
+ readonly labelSide?: StatusBarLabelSide;
41
75
  }
42
76
  /** Describes the data needed to insert an item into the StatusBar.
43
- * @beta
77
+ * @public
44
78
  */
45
- export declare type StatusBarCustomItem = StatusBarItem;
79
+ export interface StatusBarCustomItem extends CommonStatusBarItem {
80
+ /** Content of the StatusBar item. */
81
+ readonly content: React.ReactNode;
82
+ }
46
83
  /** Describes the data needed to insert a button into the status bar.
47
- * @public // TODO: 4.x cleanup
84
+ * @public
48
85
  */
49
- export declare type AnyStatusBarItem = UIA_CommonStatusBarItem;
86
+ export declare type StatusBarItem = StatusBarActionItem | StatusBarLabelItem | StatusBarCustomItem;
50
87
  /** StatusBarActionItem type guard.
51
- * @beta
88
+ * @public
52
89
  */
53
- export declare function isStatusBarActionItem(item: AnyStatusBarItem): item is StatusBarActionItem;
90
+ export declare function isStatusBarActionItem(item: StatusBarItem): item is StatusBarActionItem;
54
91
  /** StatusBarLabelItem type guard.
55
- * @beta
92
+ * @public
56
93
  */
57
- export declare function isStatusBarLabelItem(item: AnyStatusBarItem): item is StatusBarLabelItem;
94
+ export declare function isStatusBarLabelItem(item: StatusBarItem): item is StatusBarLabelItem;
58
95
  /** StatusBarCustomItem type guard.
59
- * @beta
60
- */
61
- export declare function isStatusBarCustomItem(item: AnyStatusBarItem): item is StatusBarCustomItem;
62
- /** StatusBarItem type guard.
63
- * @deprecated in 3.6. Use [[isStatusBarCustomItem]] instead.
64
96
  * @public
65
97
  */
66
- export declare const isStatusBarItem: (item: UIA_CommonStatusBarItem) => item is StatusBarItem;
98
+ export declare function isStatusBarCustomItem(item: StatusBarItem): item is StatusBarCustomItem;
67
99
  //# sourceMappingURL=StatusBarItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBarItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAI1B,mBAAmB,IAAI,uBAAuB,EAC9C,kBAAkB,IAAI,sBAAsB,EAC5C,gBAAgB,IAAI,oBAAoB,EACzC,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,oBAAY,gBAAgB,GAAG,oBAAoB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,gBAAgB,6BAAuB,CAAC;AAErD;;GAEG;AACH,oBAAY,kBAAkB,GAAG,sBAAsB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,kBAAkB,+BAAyB,CAAC;AAEzD;;GAEG;AACH,oBAAY,mBAAmB,GAAG,qBAAqB,CAAC;AAExD;;GAEG;AACH,oBAAY,mBAAmB,GAAG,2BAA2B,CAAC;AAE9D;;GAEG;AACH,oBAAY,kBAAkB,GAAG,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,2BAA2B;IAChE,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED;;GAEG;AACH,oBAAY,mBAAmB,GAAG,aAAa,CAAC;AAEhD;;GAEG;AAEH,oBAAY,gBAAgB,GAAG,uBAAuB,CAAC;AAEvD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,IAAI,mBAAmB,CAEzF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,IAAI,kBAAkB,CAEvF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,IAAI,mBAAmB,CAEzF;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAU,uBAAuB,0BAE5D,CAAC"}
1
+ {"version":3,"file":"StatusBarItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,4CAA4C;IAC5C,OAAO,IAAI;IACX,4CAA4C;IAC5C,IAAI,IAAI;IACR,mCAAmC;IACnC,KAAK,IAAI;IACT,mCAAmC;IACnC,MAAM,IAAI;IACV,sCAAsC;IACtC,SAAS,IAAI;IACb,sCAAsC;IACtC,KAAK,IAAI;IACT,4CAA4C;IAC5C,OAAO,IAAI;CACZ;AAED;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,8EAA8E;IAC9E,IAAI,IAAA;IACJ,6CAA6C;IAC7C,KAAK,IAAA;CACN;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kIAAkI;IAClI,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,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,wEAAwE;IACxE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,yBAAyB;IACzB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,aAAa;IACb,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACjD,eAAe;IACf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,iCAAiC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CACnC;AAED;;GAEG;AACH,oBAAY,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAE3F;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,mBAAmB,CAEtF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,kBAAkB,CAEpF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,mBAAmB,CAEtF"}
@@ -7,43 +7,56 @@
7
7
  * @module StatusBar
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.isStatusBarItem = exports.isStatusBarCustomItem = exports.isStatusBarLabelItem = exports.isStatusBarActionItem = exports.StatusBarLabelSide = exports.StatusBarSection = void 0;
11
- const appui_abstract_1 = require("@itwin/appui-abstract");
10
+ exports.isStatusBarCustomItem = exports.isStatusBarLabelItem = exports.isStatusBarActionItem = exports.StatusBarLabelSide = exports.StatusBarSection = void 0;
12
11
  /** Status bar Groups/Sections from Left to Right
13
- * @beta
12
+ * @public
14
13
  */
15
- exports.StatusBarSection = appui_abstract_1.StatusBarSection; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
14
+ var StatusBarSection;
15
+ (function (StatusBarSection) {
16
+ /** area for tool assistance and messages */
17
+ StatusBarSection[StatusBarSection["Message"] = 0] = "Message";
18
+ /** area for tool assistance and messages */
19
+ StatusBarSection[StatusBarSection["Left"] = 0] = "Left";
20
+ /** items specific to stage/task */
21
+ StatusBarSection[StatusBarSection["Stage"] = 1] = "Stage";
22
+ /** items specific to stage/task */
23
+ StatusBarSection[StatusBarSection["Center"] = 1] = "Center";
24
+ /** Select scope and selection info */
25
+ StatusBarSection[StatusBarSection["Selection"] = 2] = "Selection";
26
+ /** Select scope and selection info */
27
+ StatusBarSection[StatusBarSection["Right"] = 2] = "Right";
28
+ /** items that only show based on context */
29
+ StatusBarSection[StatusBarSection["Context"] = 3] = "Context";
30
+ })(StatusBarSection = exports.StatusBarSection || (exports.StatusBarSection = {}));
16
31
  /** Defines which side of Icon where label is placed
17
- * @beta
32
+ * @public
18
33
  */
19
- exports.StatusBarLabelSide = appui_abstract_1.StatusBarLabelSide; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation
34
+ var StatusBarLabelSide;
35
+ (function (StatusBarLabelSide) {
36
+ /** Label is placed left side of icon. This is the default if not specified */
37
+ StatusBarLabelSide[StatusBarLabelSide["Left"] = 0] = "Left";
38
+ /** Label is placed on right side of icon. */
39
+ StatusBarLabelSide[StatusBarLabelSide["Right"] = 1] = "Right";
40
+ })(StatusBarLabelSide = exports.StatusBarLabelSide || (exports.StatusBarLabelSide = {}));
20
41
  /** StatusBarActionItem type guard.
21
- * @beta
42
+ * @public
22
43
  */
23
44
  function isStatusBarActionItem(item) {
24
- return (0, appui_abstract_1.isAbstractStatusBarActionItem)(item); // eslint-disable-line deprecation/deprecation
45
+ return "execute" in item;
25
46
  }
26
47
  exports.isStatusBarActionItem = isStatusBarActionItem;
27
48
  /** StatusBarLabelItem type guard.
28
- * @beta
49
+ * @public
29
50
  */
30
51
  function isStatusBarLabelItem(item) {
31
- return (0, appui_abstract_1.isAbstractStatusBarLabelItem)(item); // eslint-disable-line deprecation/deprecation
52
+ return !isStatusBarActionItem(item) && "label" in item;
32
53
  }
33
54
  exports.isStatusBarLabelItem = isStatusBarLabelItem;
34
55
  /** StatusBarCustomItem type guard.
35
- * @beta
56
+ * @public
36
57
  */
37
58
  function isStatusBarCustomItem(item) {
38
- return (0, exports.isStatusBarItem)(item); // eslint-disable-line deprecation/deprecation
59
+ return "content" in item;
39
60
  }
40
61
  exports.isStatusBarCustomItem = isStatusBarCustomItem;
41
- /** StatusBarItem type guard.
42
- * @deprecated in 3.6. Use [[isStatusBarCustomItem]] instead.
43
- * @public
44
- */
45
- const isStatusBarItem = (item) => {
46
- return (0, appui_abstract_1.isAbstractStatusBarCustomItem)(item) && ("reactNode" in item); // eslint-disable-line deprecation/deprecation
47
- };
48
- exports.isStatusBarItem = isStatusBarItem;
49
62
  //# sourceMappingURL=StatusBarItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAGH,0DAW+B;AAO/B;;GAEG;AACU,QAAA,gBAAgB,GAAG,iCAAoB,CAAC,CAAC,+EAA+E;AAOrI;;GAEG;AACU,QAAA,kBAAkB,GAAG,mCAAsB,CAAC,CAAC,+EAA+E;AAqCzI;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAsB;IAC1D,OAAO,IAAA,8CAA6B,EAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;AAC5F,CAAC;AAFD,sDAEC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAsB;IACzD,OAAO,IAAA,6CAA4B,EAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;AAC3F,CAAC;AAFD,oDAEC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAsB;IAC1D,OAAO,IAAA,uBAAe,EAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;AAC9E,CAAC;AAFD,sDAEC;AAED;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,IAA6B,EAAyB,EAAE;IACtF,OAAO,IAAA,8CAA6B,EAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,8CAA8C;AACrH,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B","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 StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport {\r\n AbstractStatusBarActionItem,\r\n AbstractStatusBarCustomItem,\r\n AbstractStatusBarItem,\r\n AbstractStatusBarLabelItem,\r\n isAbstractStatusBarActionItem,\r\n isAbstractStatusBarCustomItem,\r\n isAbstractStatusBarLabelItem,\r\n CommonStatusBarItem as UIA_CommonStatusBarItem,\r\n StatusBarLabelSide as UIA_StatusBarLabelSide,\r\n StatusBarSection as UIA_StatusBarSection,\r\n} from \"@itwin/appui-abstract\";\r\n\r\n/** Status bar Groups/Sections from Left to Right\r\n * @beta\r\n */\r\nexport type StatusBarSection = UIA_StatusBarSection; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Status bar Groups/Sections from Left to Right\r\n * @beta\r\n */\r\nexport const StatusBarSection = UIA_StatusBarSection; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation\r\n\r\n/** Defines which side of Icon where label is placed\r\n * @beta\r\n */\r\nexport type StatusBarLabelSide = UIA_StatusBarLabelSide; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Defines which side of Icon where label is placed\r\n * @beta\r\n */\r\nexport const StatusBarLabelSide = UIA_StatusBarLabelSide; // eslint-disable-line @typescript-eslint/no-redeclare, deprecation/deprecation\r\n\r\n/** Describes the data needed to insert a button into the status bar.\r\n * @beta\r\n */\r\nexport type CommonStatusBarItem = AbstractStatusBarItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert an action item into the status bar.\r\n * @beta\r\n */\r\nexport type StatusBarActionItem = AbstractStatusBarActionItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert a label item with an optional icon into the status bar.\r\n * @beta\r\n */\r\nexport type StatusBarLabelItem = AbstractStatusBarLabelItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert an item into the StatusBar.\r\n * @deprecated in 3.6. Use [[StatusBarCustomItem]] instead.\r\n * @public\r\n */\r\nexport interface StatusBarItem extends AbstractStatusBarCustomItem { // eslint-disable-line deprecation/deprecation\r\n /** React node for the StatusBar item. */\r\n readonly reactNode: React.ReactNode;\r\n}\r\n\r\n/** Describes the data needed to insert an item into the StatusBar.\r\n * @beta\r\n */\r\nexport type StatusBarCustomItem = StatusBarItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert a button into the status bar.\r\n * @public // TODO: 4.x cleanup\r\n */\r\n// eslint-disable-next-line deprecation/deprecation\r\nexport type AnyStatusBarItem = UIA_CommonStatusBarItem; // TODO: Rename to StatusBarItem.\r\n\r\n/** StatusBarActionItem type guard.\r\n * @beta\r\n */\r\nexport function isStatusBarActionItem(item: AnyStatusBarItem): item is StatusBarActionItem {\r\n return isAbstractStatusBarActionItem(item); // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** StatusBarLabelItem type guard.\r\n * @beta\r\n */\r\nexport function isStatusBarLabelItem(item: AnyStatusBarItem): item is StatusBarLabelItem {\r\n return isAbstractStatusBarLabelItem(item); // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** StatusBarCustomItem type guard.\r\n * @beta\r\n */\r\nexport function isStatusBarCustomItem(item: AnyStatusBarItem): item is StatusBarCustomItem {\r\n return isStatusBarItem(item); // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** StatusBarItem type guard.\r\n * @deprecated in 3.6. Use [[isStatusBarCustomItem]] instead.\r\n * @public\r\n */\r\nexport const isStatusBarItem = (item: UIA_CommonStatusBarItem): item is StatusBarItem => { // eslint-disable-line deprecation/deprecation\r\n return isAbstractStatusBarCustomItem(item) && (\"reactNode\" in item); // eslint-disable-line deprecation/deprecation\r\n};\r\n"]}
1
+ {"version":3,"file":"StatusBarItem.js","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAMH;;GAEG;AACH,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B,4CAA4C;IAC5C,6DAAW,CAAA;IACX,4CAA4C;IAC5C,uDAAQ,CAAA;IACR,mCAAmC;IACnC,yDAAS,CAAA;IACT,mCAAmC;IACnC,2DAAU,CAAA;IACV,sCAAsC;IACtC,iEAAa,CAAA;IACb,sCAAsC;IACtC,yDAAS,CAAA;IACT,4CAA4C;IAC5C,6DAAW,CAAA;AACb,CAAC,EAfW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAe3B;AAED;;GAEG;AACH,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,8EAA8E;IAC9E,2DAAI,CAAA;IACJ,6CAA6C;IAC7C,6DAAK,CAAA;AACP,CAAC,EALW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAK7B;AA2DD;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAmB;IACvD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,sDAEC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAmB;IACtD,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC;AACzD,CAAC;AAFD,oDAEC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAmB;IACvD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,sDAEC","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 StatusBar\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { IconSpec } from \"@itwin/core-react\";\r\n\r\n/** Status bar Groups/Sections from Left to Right\r\n * @public\r\n */\r\nexport enum StatusBarSection {\r\n /** area for tool assistance and messages */\r\n Message = 0,\r\n /** area for tool assistance and messages */\r\n Left = 0,\r\n /** items specific to stage/task */\r\n Stage = 1,\r\n /** items specific to stage/task */\r\n Center = 1,\r\n /** Select scope and selection info */\r\n Selection = 2,\r\n /** Select scope and selection info */\r\n Right = 2,\r\n /** items that only show based on context */\r\n Context = 3,\r\n}\r\n\r\n/** Defines which side of Icon where label is placed\r\n * @public\r\n */\r\nexport enum StatusBarLabelSide {\r\n /** Label is placed left side of icon. This is the default if not specified */\r\n Left,\r\n /** Label is placed on right side of icon. */\r\n Right,\r\n}\r\n\r\n/** Describes the data needed to insert a button into the status bar.\r\n * @public\r\n */\r\nexport interface CommonStatusBarItem {\r\n /** Required unique id of the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\r\n readonly id: string;\r\n /** Describes badge. Renders no badge if not specified. */\r\n readonly badge?: BadgeType;\r\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\r\n readonly isHidden?: boolean | ConditionalBooleanValue;\r\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\r\n readonly isDisabled?: boolean | ConditionalBooleanValue;\r\n /** Priority within a section (recommend using values 1 through 100). */\r\n readonly itemPriority: number;\r\n /** status bar section */\r\n readonly section: StatusBarSection;\r\n}\r\n\r\n/** Describes the data needed to insert an action item into the status bar.\r\n * @public\r\n */\r\nexport interface StatusBarActionItem extends CommonStatusBarItem {\r\n /** method to execute when icon is pressed */\r\n readonly execute: () => void;\r\n /** Icon of a status bar item. */\r\n readonly icon?: IconSpec;\r\n /** Label. */\r\n readonly label?: string | ConditionalStringValue;\r\n /** tooltip. */\r\n readonly tooltip?: string | ConditionalStringValue;\r\n}\r\n\r\n/** Describes the data needed to insert a label item with an optional icon into the status bar.\r\n * @public\r\n */\r\nexport interface StatusBarLabelItem extends CommonStatusBarItem {\r\n /** Icon of a status bar item. */\r\n readonly icon?: IconSpec;\r\n /** Label. */\r\n readonly label: string | ConditionalStringValue;\r\n /** Defines which side of icon to display label if icon is defined. */\r\n readonly labelSide?: StatusBarLabelSide;\r\n}\r\n\r\n/** Describes the data needed to insert an item into the StatusBar.\r\n * @public\r\n */\r\nexport interface StatusBarCustomItem extends CommonStatusBarItem {\r\n /** Content of the StatusBar item. */\r\n readonly content: React.ReactNode;\r\n}\r\n\r\n/** Describes the data needed to insert a button into the status bar.\r\n * @public\r\n */\r\nexport type StatusBarItem = StatusBarActionItem | StatusBarLabelItem | StatusBarCustomItem;\r\n\r\n/** StatusBarActionItem type guard.\r\n * @public\r\n */\r\nexport function isStatusBarActionItem(item: StatusBarItem): item is StatusBarActionItem {\r\n return \"execute\" in item;\r\n}\r\n\r\n/** StatusBarLabelItem type guard.\r\n * @public\r\n */\r\nexport function isStatusBarLabelItem(item: StatusBarItem): item is StatusBarLabelItem {\r\n return !isStatusBarActionItem(item) && \"label\" in item;\r\n}\r\n\r\n/** StatusBarCustomItem type guard.\r\n * @public\r\n */\r\nexport function isStatusBarCustomItem(item: StatusBarItem): item is StatusBarCustomItem {\r\n return \"content\" in item;\r\n}\r\n"]}
@@ -2,18 +2,9 @@
2
2
  * @module StatusBar
3
3
  */
4
4
  import * as React from "react";
5
- import { ConditionalStringValue, StatusBarSection as UIA_StatusBarSection } from "@itwin/appui-abstract";
6
- import { StatusBarActionItem, StatusBarCustomItem, StatusBarItem, StatusBarLabelItem, StatusBarSection } from "./StatusBarItem";
7
- /** Utility methods for creating and maintaining StatusBar items.
8
- * @public
9
- */
10
- export declare class StatusBarItemUtilities {
11
- /** Creates a StatusBar item
12
- * @deprecated Use [[StatusBarItemUtilities.createCustomItem]] instead.
13
- */
14
- static createStatusBarItem: (id: string, section: UIA_StatusBarSection, itemPriority: number, reactNode: React.ReactNode, itemProps?: Partial<StatusBarItem> | undefined) => StatusBarItem;
15
- }
16
- /** Helper class to create Abstract StatusBar Item definitions.
5
+ import { ConditionalStringValue } from "@itwin/appui-abstract";
6
+ import { StatusBarActionItem, StatusBarCustomItem, StatusBarLabelItem, StatusBarLabelSide, StatusBarSection } from "./StatusBarItem";
7
+ /** Utility functions for creating and maintaining StatusBar items.
17
8
  * @public
18
9
  */
19
10
  export declare namespace StatusBarItemUtilities {
@@ -24,10 +15,10 @@ export declare namespace StatusBarItemUtilities {
24
15
  /** Creates a StatusBar item to display a label.
25
16
  * @beta
26
17
  */
27
- function createLabelItem(id: string, section: StatusBarSection, itemPriority: number, icon: string | ConditionalStringValue, label: string | ConditionalStringValue, labelSide?: import("@itwin/appui-abstract").StatusBarLabelSide, overrides?: Partial<StatusBarLabelItem>): StatusBarLabelItem;
18
+ function createLabelItem(id: string, section: StatusBarSection, itemPriority: number, icon: string | ConditionalStringValue, label: string | ConditionalStringValue, labelSide?: StatusBarLabelSide, overrides?: Partial<StatusBarLabelItem>): StatusBarLabelItem;
28
19
  /** Creates a StatusBar item to display a custom content.
29
20
  * @beta
30
21
  */
31
- function createCustomItem(id: string, section: StatusBarSection, itemPriority: number, reactNode: React.ReactNode, overrides?: Partial<StatusBarCustomItem>): StatusBarCustomItem;
22
+ function createCustomItem(id: string, section: StatusBarSection, itemPriority: number, content: React.ReactNode, overrides?: Partial<StatusBarCustomItem>): StatusBarCustomItem;
32
23
  }
33
24
  //# sourceMappingURL=StatusBarItemUtilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBarItemUtilities.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItemUtilities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkC,sBAAsB,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzI,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAsB,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpJ;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,OAAc,mBAAmB,OAAQ,MAAM,WAAW,oBAAoB,gBAAgB,MAAM,aAAa,MAAM,SAAS,qDAAuC,aAAa,CAIjL;CACJ;AAED;;GAEG;AACH,yBAAiB,sBAAsB,CAAC;IACtC;;OAEG;IACH,SAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,sBAAsB,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAEjQ;IAED;;OAEG;IACH,SAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,EAAE,SAAS,qDAA2B,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAE7Q;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAEvL;CACF"}
1
+ {"version":3,"file":"StatusBarItemUtilities.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/statusbar/StatusBarItemUtilities.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAErI;;GAEG;AACH,yBAAiB,sBAAsB,CAAC;IACtC;;OAEG;IACH,SAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,sBAAsB,EAAE,OAAO,EAAE,MAAM,GAAG,sBAAsB,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAUjQ;IAED;;OAEG;IACH,SAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,EAAE,SAAS,qBAA2B,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAU7Q;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAQrL;CACF"}