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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/lib/cjs/appui-react/_variables.scss +4 -5
  2. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -1
  3. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  5. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -2
  7. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/Calculator.scss +12 -14
  9. package/lib/cjs/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/MenuButton.js +2 -1
  11. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/SquareButton.scss +10 -25
  13. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +1 -1
  14. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/backstage/BackstageComposer.js +16 -19
  16. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  18. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +5 -5
  20. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +44 -13
  22. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageItem.js +4 -5
  24. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  26. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  27. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js +130 -0
  28. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  29. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  30. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  32. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  34. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  36. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/configurableui.scss +0 -3
  38. package/lib/cjs/appui-react/content/ContentLayout.scss +4 -4
  39. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +10 -7
  40. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  41. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +2 -1
  43. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  44. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  45. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -1
  47. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  48. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +3 -6
  49. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +4 -2
  51. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  52. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +9 -12
  53. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  54. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
  56. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  58. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  59. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +4 -1
  61. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  62. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +9 -8
  63. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/frontstage/StageUsage.js +10 -3
  65. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  66. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  67. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  69. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  70. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  72. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  73. package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
  74. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  75. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  76. package/lib/cjs/appui-react/messages/InputField.js +8 -7
  77. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  78. package/lib/cjs/appui-react/messages/InputField.scss +8 -8
  79. package/lib/cjs/appui-react/messages/MessageManager.d.ts +10 -1
  80. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/messages/MessageManager.js +28 -3
  82. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  83. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/messages/Pointer.js +1 -1
  85. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  86. package/lib/cjs/appui-react/messages/Pointer.scss +6 -6
  87. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +5 -2
  89. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  90. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  91. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  92. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  93. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +8 -6
  94. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  95. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  96. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  97. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +19 -10
  98. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  99. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -2
  101. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  102. package/lib/cjs/appui-react/pickers/ListPicker.scss +5 -5
  103. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/pickers/ViewSelector.js +3 -1
  105. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  106. package/lib/cjs/appui-react/popup/CardPopup.js +2 -2
  107. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  108. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +1 -1
  109. package/lib/cjs/appui-react/popup/PositionPopup.scss +1 -1
  110. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +3 -2
  111. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/popup/ToolbarPopup.js +3 -1
  113. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  114. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +20 -10
  116. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  117. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  119. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  120. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  121. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  122. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  123. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  125. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  126. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  127. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  128. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  129. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  130. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  132. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +8 -3
  134. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  135. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  136. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +6 -3
  138. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  139. package/lib/cjs/appui-react/statusbar/Indicator.scss +14 -15
  140. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  141. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -3
  143. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  144. package/lib/cjs/appui-react/statusbar/Separator.scss +1 -3
  145. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -0
  146. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  148. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  149. package/lib/cjs/appui-react/statusbar/StatusBar.scss +1 -3
  150. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  151. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +34 -35
  153. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  154. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  155. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -20
  157. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  158. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  159. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +28 -20
  161. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  162. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  163. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  164. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +135 -0
  165. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  166. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  167. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  169. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  170. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  171. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  172. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  173. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -3
  175. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  176. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/statusfields/MessageCenter.js +5 -2
  178. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  179. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  181. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  182. package/lib/cjs/appui-react/statusfields/SectionsField.scss +3 -4
  183. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +2 -1
  185. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  186. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +1 -1
  187. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -0
  188. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/statusfields/SnapMode.js +40 -2
  190. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  191. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +2 -1
  193. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  194. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -4
  196. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  197. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  198. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  199. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
  200. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  201. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  202. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +29 -32
  204. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  205. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  206. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +8 -18
  208. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  209. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  210. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +22 -11
  212. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  213. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  214. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  216. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  217. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  218. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  219. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +248 -0
  220. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  221. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  222. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  223. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js +26 -0
  224. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  225. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  226. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  228. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  229. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  230. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  232. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  233. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  234. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +13 -8
  235. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  236. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +3 -1
  238. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  239. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +3 -1
  241. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  242. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -2
  244. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  245. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  246. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  248. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  249. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  250. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  252. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  253. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +9 -65
  255. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  256. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  257. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +6 -5
  259. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  260. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  261. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +8 -34
  263. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  265. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  267. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  269. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -43
  271. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  272. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  273. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  275. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  277. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  279. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  281. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  284. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  285. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js +16 -0
  286. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  287. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  288. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -1
  289. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  290. package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -2
  291. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  292. package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
  293. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/Content.js +10 -12
  296. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/Frontstage.js +7 -5
  298. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  299. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/widget-panels/StatusBar.js +3 -2
  301. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  302. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  303. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  304. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  305. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +3 -3
  306. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  307. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
  308. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +3 -3
  310. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  311. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +2 -2
  312. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  314. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +4 -4
  315. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  316. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  318. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  319. package/lib/cjs/appui-react/widgets/Widget.d.ts +39 -0
  320. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -0
  321. package/lib/cjs/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  322. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -0
  323. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +4 -14
  324. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  326. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts +1 -1
  327. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  329. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +7 -5
  330. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/widgets/WidgetDef.js +30 -42
  332. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  333. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -15
  335. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +8 -7
  337. package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/widgets/WidgetState.js +9 -3
  339. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  340. package/lib/cjs/appui-react.d.ts +4 -4
  341. package/lib/cjs/appui-react.d.ts.map +1 -1
  342. package/lib/cjs/appui-react.js +4 -4
  343. package/lib/cjs/appui-react.js.map +1 -1
  344. package/lib/esm/appui-react/_variables.scss +4 -5
  345. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -1
  346. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  347. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  348. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  349. package/lib/esm/appui-react/accudraw/Calculator.js +3 -2
  350. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  351. package/lib/esm/appui-react/accudraw/Calculator.scss +12 -14
  352. package/lib/esm/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  353. package/lib/esm/appui-react/accudraw/MenuButton.js +2 -1
  354. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  355. package/lib/esm/appui-react/accudraw/SquareButton.scss +10 -25
  356. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -1
  357. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  358. package/lib/esm/appui-react/backstage/BackstageComposer.js +12 -15
  359. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  360. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  361. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  362. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +7 -7
  363. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  364. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +44 -13
  365. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  366. package/lib/esm/appui-react/backstage/BackstageItem.js +4 -5
  367. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  368. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  369. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  370. package/lib/esm/appui-react/backstage/BackstageItemsManager.js +126 -0
  371. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  372. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  373. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  374. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  375. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  376. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  377. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  378. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  379. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  380. package/lib/esm/appui-react/configurableui/configurableui.scss +0 -3
  381. package/lib/esm/appui-react/content/ContentLayout.scss +4 -4
  382. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +10 -7
  383. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  384. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  385. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +3 -2
  386. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  387. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  388. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  389. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -1
  390. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  391. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +3 -6
  392. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  393. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +5 -3
  394. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  395. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +9 -12
  396. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  397. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  398. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +3 -3
  399. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  400. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  401. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  402. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  403. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +4 -1
  404. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  405. package/lib/esm/appui-react/frontstage/StageUsage.d.ts +9 -8
  406. package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  407. package/lib/esm/appui-react/frontstage/StageUsage.js +10 -3
  408. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  409. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  410. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  411. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  412. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  413. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  414. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  415. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  416. package/lib/esm/appui-react/messages/ActivityMessage.js +2 -2
  417. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  418. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  419. package/lib/esm/appui-react/messages/InputField.js +9 -8
  420. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  421. package/lib/esm/appui-react/messages/InputField.scss +8 -8
  422. package/lib/esm/appui-react/messages/MessageManager.d.ts +10 -1
  423. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  424. package/lib/esm/appui-react/messages/MessageManager.js +29 -4
  425. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  426. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  427. package/lib/esm/appui-react/messages/Pointer.js +2 -2
  428. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  429. package/lib/esm/appui-react/messages/Pointer.scss +6 -6
  430. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  431. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +6 -3
  432. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  433. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  434. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  435. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  436. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +9 -7
  437. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  438. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  439. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  440. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +20 -11
  441. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  442. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  443. package/lib/esm/appui-react/pickers/ListPicker.js +3 -2
  444. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  445. package/lib/esm/appui-react/pickers/ListPicker.scss +5 -5
  446. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  447. package/lib/esm/appui-react/pickers/ViewSelector.js +4 -2
  448. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  449. package/lib/esm/appui-react/popup/CardPopup.js +3 -3
  450. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  451. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +1 -1
  452. package/lib/esm/appui-react/popup/PositionPopup.scss +1 -1
  453. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +3 -2
  454. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  455. package/lib/esm/appui-react/popup/ToolbarPopup.js +3 -1
  456. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  457. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  458. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +21 -11
  459. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  460. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  461. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  462. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  463. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  464. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  465. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  466. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  467. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  468. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  469. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  470. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  471. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  472. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  473. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  474. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  475. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  476. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +8 -3
  477. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  478. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  479. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  480. package/lib/esm/appui-react/stagepanels/StagePanelSection.js +6 -3
  481. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  482. package/lib/esm/appui-react/statusbar/Indicator.scss +14 -15
  483. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  484. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  485. package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -3
  486. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  487. package/lib/esm/appui-react/statusbar/Separator.scss +1 -3
  488. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -0
  489. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  490. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  491. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  492. package/lib/esm/appui-react/statusbar/StatusBar.scss +1 -3
  493. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  494. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  495. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -18
  496. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  497. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  498. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  499. package/lib/esm/appui-react/statusbar/StatusBarItem.js +32 -18
  500. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  501. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  502. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  503. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +28 -19
  504. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  505. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  506. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  507. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +131 -0
  508. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  509. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  510. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  511. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  512. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  514. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  515. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  516. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  517. package/lib/esm/appui-react/statusfields/ActivityCenter.js +6 -4
  518. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  519. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  520. package/lib/esm/appui-react/statusfields/MessageCenter.js +5 -2
  521. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  522. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  523. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  524. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  525. package/lib/esm/appui-react/statusfields/SectionsField.scss +3 -4
  526. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  527. package/lib/esm/appui-react/statusfields/SelectionInfo.js +2 -1
  528. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  529. package/lib/esm/appui-react/statusfields/SelectionScope.scss +1 -1
  530. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -0
  531. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  532. package/lib/esm/appui-react/statusfields/SnapMode.js +40 -2
  533. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  534. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  535. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -1
  536. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  537. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  538. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +6 -5
  539. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  540. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  541. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  542. package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
  543. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  544. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  545. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  546. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +25 -28
  547. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  548. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  549. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  550. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +9 -19
  551. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  552. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  553. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  554. package/lib/esm/appui-react/toolbar/ToolbarItem.js +22 -11
  555. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  556. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  557. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  558. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  559. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  560. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  561. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  562. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +244 -0
  563. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  564. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  565. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  566. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js +22 -0
  567. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  568. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  569. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  570. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  571. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  572. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  573. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  574. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  575. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  576. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  577. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +13 -8
  578. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  579. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  580. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +3 -1
  581. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  582. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  583. package/lib/esm/appui-react/tools/OpenSettingsTool.js +3 -1
  584. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  585. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  586. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -2
  587. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  588. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  589. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  590. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  591. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  592. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  593. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  594. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  595. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  596. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  597. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +7 -63
  598. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  599. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  600. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  601. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +4 -3
  602. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  603. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  604. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  605. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +6 -32
  606. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  607. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  608. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  609. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  610. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  611. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  612. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  613. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +5 -41
  614. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  615. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  616. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  617. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  618. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  619. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  620. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  621. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  622. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  623. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  624. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  625. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  626. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  627. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  628. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js +12 -0
  629. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  630. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  631. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -1
  632. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  633. package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -2
  634. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  635. package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
  636. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  637. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  638. package/lib/esm/appui-react/widget-panels/Content.js +10 -12
  639. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  640. package/lib/esm/appui-react/widget-panels/Frontstage.js +7 -5
  641. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  642. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  643. package/lib/esm/appui-react/widget-panels/StatusBar.js +3 -2
  644. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  645. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  646. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  647. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  648. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +3 -3
  649. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  650. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
  651. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  652. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +3 -3
  653. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  654. package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -1
  655. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  656. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  657. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +3 -3
  658. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  659. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  660. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  661. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  662. package/lib/esm/appui-react/widgets/Widget.d.ts +39 -0
  663. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -0
  664. package/lib/esm/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  665. package/lib/esm/appui-react/widgets/Widget.js.map +1 -0
  666. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +4 -14
  667. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  668. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  669. package/lib/esm/appui-react/widgets/WidgetControl.d.ts +1 -1
  670. package/lib/esm/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  671. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  672. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +7 -5
  673. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  674. package/lib/esm/appui-react/widgets/WidgetDef.js +22 -34
  675. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  677. package/lib/esm/appui-react/widgets/WidgetManager.js +2 -15
  678. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  679. package/lib/esm/appui-react/widgets/WidgetState.d.ts +8 -7
  680. package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -1
  681. package/lib/esm/appui-react/widgets/WidgetState.js +9 -3
  682. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  683. package/lib/esm/appui-react.d.ts +4 -4
  684. package/lib/esm/appui-react.d.ts.map +1 -1
  685. package/lib/esm/appui-react.js +4 -4
  686. package/lib/esm/appui-react.js.map +1 -1
  687. package/package.json +19 -31
  688. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +0 -12
  689. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  690. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +0 -1
  691. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +0 -12
  692. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  693. package/lib/esm/appui-react/widgets/WidgetProps.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposer.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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { BackstageItem, BackstageItemsManager, ConditionalBooleanValue, isStageLauncher, UiSyncEventArgs } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { BackstageSeparator, Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { BackstageComposerItem } from \"./BackstageComposerItem\";\r\nimport { useBackstageManager, useIsBackstageOpen } from \"./BackstageManager\";\r\nimport { useDefaultBackstageItems } from \"./useDefaultBackstageItems\";\r\nimport { useUiItemsProviderBackstageItems } from \"./useUiItemsProviderBackstageItems\";\r\nimport { toLayoutSafeAreaInsets } from \"../safearea/SafeAreaHelpers\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Private function to set up sync event monitoring of backstage items */\r\nfunction useBackstageItemSyncEffect(itemsManager: BackstageItemsManager, syncIdsOfInterest: string[]) {\r\n const isInitialMount = React.useRef(true);\r\n\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 if (isInitialMount.current) {\r\n isInitialMount.current = false;\r\n // initialize the display state of any items with syncIds/condition defined\r\n itemsManager.refreshAffectedItems(new Set(syncIdsOfInterest));\r\n }\r\n\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/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(stageItems: ReadonlyArray<BackstageItem>, addonItems: ReadonlyArray<BackstageItem>, hideSoloStageEntry: boolean) {\r\n let items: BackstageItem[] = [];\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\r\n if (hideSoloStageEntry) {\r\n // per user request don't show stage launcher if only one stage is available\r\n const numberOfFrontstageItems = items.reduce((accumulator, item) => accumulator + (isStageLauncher(item) ? 1 : 0), 0);\r\n if (1 === numberOfFrontstageItems)\r\n items = items.filter((item) => !isStageLauncher(item));\r\n }\r\n\r\n return items;\r\n}\r\n\r\n/** @internal */\r\nexport type GroupedItems = ReadonlyArray<ReadonlyArray<BackstageItem>>;\r\n\r\n/** @internal */\r\nexport const useGroupedItems = (items: ReadonlyArray<BackstageItem>): GroupedItems => {\r\n return React.useMemo(() => {\r\n const grouped = items.reduce<GroupedItems>((acc, item) => {\r\n if (ConditionalBooleanValue.getValue(item.isHidden))\r\n return acc;\r\n const groupIndex = acc.findIndex((group) => group[0].groupPriority === item.groupPriority);\r\n if (groupIndex >= 0)\r\n return [\r\n ...acc.slice(0, groupIndex),\r\n [\r\n ...acc[groupIndex],\r\n item,\r\n ],\r\n ...acc.slice(groupIndex + 1),\r\n ];\r\n return [\r\n ...acc,\r\n [\r\n item,\r\n ],\r\n ];\r\n }, []);\r\n const sortedGroups = grouped.reduce<GroupedItems>((acc, group) => {\r\n const sortedGroup = [...group].sort((a, b) => a.itemPriority - b.itemPriority);\r\n return [\r\n ...acc,\r\n sortedGroup,\r\n ];\r\n }, []);\r\n return [...sortedGroups].sort((a, b) => a[0].groupPriority - b[0].groupPriority);\r\n }, [items]);\r\n};\r\n\r\n/** Props of [[BackstageComposer]] component.\r\n * @public\r\n */\r\nexport interface BackstageComposerProps extends CommonProps {\r\n /** React node for an optional header item */\r\n readonly header?: React.ReactNode;\r\n /** Indicates whether to place an overlay over the frontstage when the backstage is displayed */\r\n readonly showOverlay?: boolean;\r\n /** List of static backstage items to show. Can be undefined in UiItemsProviders are used to populate backstage. */\r\n readonly items?: BackstageItem[];\r\n /** If true and only one stage launcher item is found, do not show entry in backstage */\r\n readonly hideSoloStageEntry?: boolean;\r\n}\r\n\r\n/** Backstage component composed from [[UiFramework.backstage]] items.\r\n * @public\r\n */\r\nexport function BackstageComposer(props: BackstageComposerProps) {\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(new BackstageItemsManager(props.items));\r\n const initialItems = React.useRef(props.items);\r\n\r\n React.useEffect(() => {\r\n if (initialItems.current !== props.items) {\r\n initialItems.current = props.items;\r\n setDefaultItemsManager(new BackstageItemsManager(props.items));\r\n }\r\n }, [props.items]);\r\n\r\n const manager = useBackstageManager();\r\n const isOpen = useIsBackstageOpen(manager);\r\n const safeAreaInsets = React.useContext(SafeAreaContext);\r\n const handleClose = React.useCallback(() => {\r\n manager.close();\r\n }, [manager]);\r\n\r\n const defaultItems = useDefaultBackstageItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useBackstageItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n const [addonItemsManager] = React.useState(new BackstageItemsManager());\r\n const addonItems = useUiItemsProviderBackstageItems(addonItemsManager);\r\n const addonSyncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useBackstageItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const combinedBackstageItems = React.useMemo(() => combineItems(defaultItems, addonItems, !!props.hideSoloStageEntry), [defaultItems, addonItems, props.hideSoloStageEntry]);\r\n const groups = useGroupedItems(combinedBackstageItems);\r\n\r\n return (\r\n <NZ_Backstage\r\n className={props.className}\r\n header={props.header}\r\n isOpen={isOpen}\r\n onClose={handleClose}\r\n safeAreaInsets={toLayoutSafeAreaInsets(safeAreaInsets)}\r\n showOverlay={props.showOverlay}\r\n style={props.style}\r\n >\r\n {groups.map((group, groupIndex) => (\r\n group.map((item, itemIndex) => {\r\n const composerItem = (\r\n <BackstageComposerItem\r\n item={item}\r\n key={item.id}\r\n />\r\n );\r\n return itemIndex === 0 && groupIndex > 0 ? (\r\n <React.Fragment key={groupIndex}>\r\n <BackstageSeparator />\r\n {composerItem}\r\n </React.Fragment>\r\n ) : composerItem;\r\n })\r\n ))}\r\n </NZ_Backstage>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"BackstageComposer.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposer.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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { ConditionalBooleanValue } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { BackstageSeparator, Backstage as NZ_Backstage } from \"@itwin/appui-layout-react\";\r\nimport { SafeAreaContext } from \"../safearea/SafeAreaContext\";\r\nimport { SyncUiEventDispatcher } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { BackstageComposerItem } from \"./BackstageComposerItem\";\r\nimport { useBackstageManager, useIsBackstageOpen } from \"./BackstageManager\";\r\nimport { useDefaultBackstageItems } from \"./useDefaultBackstageItems\";\r\nimport { useUiItemsProviderBackstageItems } from \"./useUiItemsProviderBackstageItems\";\r\nimport { toLayoutSafeAreaInsets } from \"../safearea/SafeAreaHelpers\";\r\nimport { BackstageItem, isBackstageStageLauncher } from \"./BackstageItem\";\r\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\r\n\r\n// cSpell:ignore safearea\r\n\r\n/** Private function to set up sync event monitoring of backstage items */\r\nfunction useBackstageItemSyncEffect(itemsManager: BackstageItemsManager, syncIdsOfInterest: string[]) {\r\n const isInitialMount = React.useRef(true);\r\n\r\n React.useEffect(() => {\r\n if (isInitialMount.current) {\r\n isInitialMount.current = false;\r\n // initialize the display state of any items with syncIds/condition defined\r\n itemsManager.refreshAffectedItems(new Set(syncIdsOfInterest));\r\n }\r\n\r\n return SyncUiEventDispatcher.onSyncUiEvent.addListener((args) => {\r\n if (0 === syncIdsOfInterest.length)\r\n return;\r\n\r\n // istanbul ignore else\r\n if (syncIdsOfInterest.some((value: string): boolean => args.eventIds.has(value.toLowerCase()))) {\r\n // process each item that has interest\r\n itemsManager.refreshAffectedItems(args.eventIds);\r\n }\r\n });\r\n }, [itemsManager, itemsManager.items, syncIdsOfInterest]);\r\n}\r\n\r\n/** local function to combine items from Stage and from Extensions */\r\nfunction combineItems(stageItems: ReadonlyArray<BackstageItem>, addonItems: ReadonlyArray<BackstageItem>, hideSoloStageEntry: boolean): ReadonlyArray<BackstageItem> {\r\n let items: Array<BackstageItem> = [];\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\r\n if (hideSoloStageEntry) {\r\n // per user request don't show stage launcher if only one stage is available\r\n const numberOfFrontstageItems = items.reduce((accumulator, item) => accumulator + (isBackstageStageLauncher(item) ? 1 : 0), 0);\r\n if (1 === numberOfFrontstageItems)\r\n items = items.filter((item) => !isBackstageStageLauncher(item));\r\n }\r\n\r\n return items;\r\n}\r\n\r\n/** @internal */\r\nexport type GroupedItems = ReadonlyArray<ReadonlyArray<BackstageItem>>;\r\n\r\n/** @internal */\r\nexport const useGroupedItems = (items: ReadonlyArray<BackstageItem>): GroupedItems => {\r\n return React.useMemo(() => {\r\n const grouped = items.reduce<GroupedItems>((acc, item) => {\r\n if (ConditionalBooleanValue.getValue(item.isHidden))\r\n return acc;\r\n const groupIndex = acc.findIndex((group) => group[0].groupPriority === item.groupPriority);\r\n if (groupIndex >= 0)\r\n return [\r\n ...acc.slice(0, groupIndex),\r\n [\r\n ...acc[groupIndex],\r\n item,\r\n ],\r\n ...acc.slice(groupIndex + 1),\r\n ];\r\n return [\r\n ...acc,\r\n [\r\n item,\r\n ],\r\n ];\r\n }, []);\r\n const sortedGroups = grouped.reduce<GroupedItems>((acc, group) => {\r\n const sortedGroup = [...group].sort((a, b) => a.itemPriority - b.itemPriority);\r\n return [\r\n ...acc,\r\n sortedGroup,\r\n ];\r\n }, []);\r\n return [...sortedGroups].sort((a, b) => a[0].groupPriority - b[0].groupPriority);\r\n }, [items]);\r\n};\r\n\r\n/** Props of [[BackstageComposer]] component.\r\n * @public\r\n */\r\nexport interface BackstageComposerProps extends CommonProps {\r\n /** React node for an optional header item */\r\n readonly header?: React.ReactNode;\r\n /** Indicates whether to place an overlay over the frontstage when the backstage is displayed */\r\n readonly showOverlay?: boolean;\r\n /** List of static backstage items to show. Can be undefined in UiItemsProviders are used to populate backstage. */\r\n readonly items?: BackstageItem[];\r\n /** If true and only one stage launcher item is found, do not show entry in backstage */\r\n readonly hideSoloStageEntry?: boolean;\r\n}\r\n\r\n/** Backstage component composed from [[UiFramework.backstage]] items.\r\n * @public\r\n */\r\nexport function BackstageComposer(props: BackstageComposerProps) {\r\n const [defaultItemsManager, setDefaultItemsManager] = React.useState(new BackstageItemsManager(props.items));\r\n const initialItems = React.useRef(props.items);\r\n\r\n React.useEffect(() => {\r\n if (initialItems.current !== props.items) {\r\n initialItems.current = props.items;\r\n setDefaultItemsManager(new BackstageItemsManager(props.items));\r\n }\r\n }, [props.items]);\r\n\r\n const manager = useBackstageManager();\r\n const isOpen = useIsBackstageOpen(manager);\r\n const safeAreaInsets = React.useContext(SafeAreaContext);\r\n const handleClose = React.useCallback(() => {\r\n manager.close();\r\n }, [manager]);\r\n\r\n const defaultItems = useDefaultBackstageItems(defaultItemsManager);\r\n const syncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(defaultItems), [defaultItems]);\r\n useBackstageItemSyncEffect(defaultItemsManager, syncIdsOfInterest);\r\n\r\n const [addonItemsManager] = React.useState(new BackstageItemsManager());\r\n const addonItems = useUiItemsProviderBackstageItems(addonItemsManager);\r\n const addonSyncIdsOfInterest = React.useMemo(() => BackstageItemsManager.getSyncIdsOfInterest(addonItems), [addonItems]);\r\n useBackstageItemSyncEffect(addonItemsManager, addonSyncIdsOfInterest);\r\n\r\n const combinedBackstageItems = React.useMemo(() => combineItems(defaultItems, addonItems, !!props.hideSoloStageEntry), [defaultItems, addonItems, props.hideSoloStageEntry]);\r\n const groups = useGroupedItems(combinedBackstageItems);\r\n return (\r\n <NZ_Backstage\r\n className={props.className}\r\n header={props.header}\r\n isOpen={isOpen}\r\n onClose={handleClose}\r\n safeAreaInsets={toLayoutSafeAreaInsets(safeAreaInsets)}\r\n showOverlay={props.showOverlay}\r\n style={props.style}\r\n >\r\n {groups.map((group, groupIndex) => (\r\n group.map((item, itemIndex) => {\r\n const composerItem = (\r\n <BackstageComposerItem\r\n item={item}\r\n key={item.id}\r\n />\r\n );\r\n return itemIndex === 0 && groupIndex > 0 ? (\r\n <React.Fragment key={groupIndex}>\r\n <BackstageSeparator />\r\n {composerItem}\r\n </React.Fragment>\r\n ) : composerItem;\r\n })\r\n ))}\r\n </NZ_Backstage>\r\n );\r\n}\r\n"]}
@@ -2,7 +2,7 @@
2
2
  * @module Backstage
3
3
  */
4
4
  /// <reference types="react" />
5
- import { BackstageActionItem, BackstageItem, BackstageStageLauncher } from "@itwin/appui-abstract";
5
+ import { BackstageActionItem, BackstageItem, BackstageStageLauncher } from "./BackstageItem";
6
6
  /** @internal */
7
7
  export interface BackstageComposerActionItemProps {
8
8
  readonly item: BackstageActionItem;
@@ -21,7 +21,6 @@ export declare function BackstageComposerStageLauncher({ item }: BackstageCompos
21
21
  export interface BackstageComposerItemProps {
22
22
  /** Backstage item to render */
23
23
  readonly item: BackstageItem;
24
- readonly providerId?: string;
25
24
  }
26
25
  /** Item of [[BackstageComposer]].
27
26
  * @internal
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAIH,OAAO,EACL,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAC3D,MAAM,uBAAuB,CAAC;AAO/B,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAuBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eA2B3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}
1
+ {"version":3,"file":"BackstageComposerItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAUH,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAA4B,MAAM,iBAAiB,CAAC;AAGvH,gBAAgB;AAChB,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED,gBAAgB;AAChB,wBAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAE,EAAE,gCAAgC,eAsBrF;AAED,gBAAgB;AAChB,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;CACvC;AAED,gBAAgB;AAChB,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,mCAAmC,eA0B3F;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,eAazE"}
@@ -16,15 +16,16 @@ const appui_layout_react_1 = require("@itwin/appui-layout-react");
16
16
  const BackstageManager_1 = require("./BackstageManager");
17
17
  const UiFramework_1 = require("../UiFramework");
18
18
  const FrontstageDef_1 = require("../frontstage/FrontstageDef");
19
+ const BackstageItem_1 = require("./BackstageItem");
20
+ const isProviderItem_1 = require("../ui-items-provider/isProviderItem");
19
21
  /** @internal */
20
22
  function BackstageComposerActionItem({ item }) {
21
23
  const manager = (0, BackstageManager_1.useBackstageManager)();
22
- const iconSpec = core_react_1.IconHelper.getIconReactNode(item.icon, item.internalData);
23
24
  const handleClick = React.useCallback(() => {
24
25
  manager.close();
25
26
  item.execute();
26
27
  }, [manager, item]);
27
- return (React.createElement(appui_layout_react_1.BackstageItem, { itemId: item.id, providerId: item.providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(core_react_1.Icon, { iconSpec: iconSpec }), isActive: appui_abstract_1.ConditionalBooleanValue.getValue(item.isActive), isDisabled: appui_abstract_1.ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: appui_abstract_1.ConditionalStringValue.getValue(item.subtitle), badge: core_react_1.BadgeUtilities.getComponentForBadgeType(item.badgeType) }, appui_abstract_1.ConditionalStringValue.getValue(item.label)));
28
+ return (React.createElement(appui_layout_react_1.BackstageItem, { itemId: item.id, providerId: (0, isProviderItem_1.isProviderItem)(item) ? item.providerId : undefined, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(core_react_1.Icon, { iconSpec: item.icon }), isActive: appui_abstract_1.ConditionalBooleanValue.getValue(item.isActive), isDisabled: appui_abstract_1.ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: appui_abstract_1.ConditionalStringValue.getValue(item.subtitle), badge: core_react_1.BadgeUtilities.getComponentForBadgeType(item.badge) }, appui_abstract_1.ConditionalStringValue.getValue(item.label)));
28
29
  }
29
30
  exports.BackstageComposerActionItem = BackstageComposerActionItem;
30
31
  /** @internal */
@@ -39,15 +40,14 @@ function BackstageComposerStageLauncher({ item }) {
39
40
  }, [manager, item.stageId]);
40
41
  const activeFrontstageId = (0, FrontstageDef_1.useActiveFrontstageId)();
41
42
  const isActive = appui_abstract_1.ConditionalBooleanValue.getValue((_a = item.isActive) !== null && _a !== void 0 ? _a : item.stageId === activeFrontstageId);
42
- const iconSpec = core_react_1.IconHelper.getIconReactNode(item.icon, item.internalData);
43
- return (React.createElement(appui_layout_react_1.BackstageItem, { itemId: item.id, providerId: item.providerId, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(core_react_1.Icon, { iconSpec: iconSpec }), isActive: isActive, isDisabled: appui_abstract_1.ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: appui_abstract_1.ConditionalStringValue.getValue(item.subtitle), badge: core_react_1.BadgeUtilities.getComponentForBadgeType(item.badgeType) }, appui_abstract_1.ConditionalStringValue.getValue(item.label)));
43
+ return (React.createElement(appui_layout_react_1.BackstageItem, { itemId: item.id, providerId: (0, isProviderItem_1.isProviderItem)(item) ? item.providerId : undefined, itemPriority: item.itemPriority, groupPriority: item.groupPriority, icon: React.createElement(core_react_1.Icon, { iconSpec: item.icon }), isActive: isActive, isDisabled: appui_abstract_1.ConditionalBooleanValue.getValue(item.isDisabled), onClick: handleClick, subtitle: appui_abstract_1.ConditionalStringValue.getValue(item.subtitle), badge: core_react_1.BadgeUtilities.getComponentForBadgeType(item.badge) }, appui_abstract_1.ConditionalStringValue.getValue(item.label)));
44
44
  }
45
45
  exports.BackstageComposerStageLauncher = BackstageComposerStageLauncher;
46
46
  /** Item of [[BackstageComposer]].
47
47
  * @internal
48
48
  */
49
49
  function BackstageComposerItem({ item }) {
50
- if ((0, appui_abstract_1.isStageLauncher)(item)) { // eslint-disable-line deprecation/deprecation
50
+ if ((0, BackstageItem_1.isBackstageStageLauncher)(item)) {
51
51
  return (React.createElement(BackstageComposerStageLauncher, { item: item }));
52
52
  }
53
53
  return (React.createElement(BackstageComposerActionItem, { item: item }));
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageComposerItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,sDAA6C;AAC7C,0DAE+B;AAC/B,kDAAqE;AACrE,kEAA8E;AAC9E,yDAAyD;AACzD,gDAA6C;AAC7C,+DAAoE;AAOpE,gBAAgB;AAChB,SAAgB,2BAA2B,CAAC,EAAE,IAAI,EAAoC;IACpF,MAAM,OAAO,GAAG,IAAA,sCAAmB,GAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,uBAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACpB,OAAO,CACL,oBAAC,kCAAgB,IACf,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,oBAAC,iBAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAClC,QAAQ,EAAE,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzD,UAAU,EAAE,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7D,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,uCAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxD,KAAK,EAAE,2BAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAE7D,uCAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3B,CACpB,CAAC;AACJ,CAAC;AAvBD,kEAuBC;AAOD,gBAAgB;AAChB,SAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAuC;;IAC1F,MAAM,OAAO,GAAG,IAAA,sCAAmB,GAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,yBAAW,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YACtD,OAAO,qBAAM,CAAC,QAAQ,CAAC,gCAAgC,EAAE,uBAAuB,IAAI,CAAC,OAAO,aAAa,CAAC,CAAC;QAC7G,KAAK,yBAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5B,MAAM,kBAAkB,GAAG,IAAA,qCAAqB,GAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,wCAAuB,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,IAAI,CAAC,OAAO,KAAK,kBAAkB,CAAC,CAAC;IACxG,MAAM,QAAQ,GAAG,uBAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3E,OAAO,CACL,oBAAC,kCAAgB,IACf,MAAM,EAAE,IAAI,CAAC,EAAE,EACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,IAAI,EAAE,oBAAC,iBAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAClC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,wCAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7D,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,uCAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxD,KAAK,EAAE,2BAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,CAAC,IAE7D,uCAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3B,CACpB,CAAC;AACJ,CAAC;AA3BD,wEA2BC;AAWD;;GAEG;AACH,SAAgB,qBAAqB,CAAC,EAAE,IAAI,EAA8B;IACxE,IAAI,IAAA,gCAAe,EAAC,IAAI,CAAC,EAAE,EAAE,8CAA8C;QACzE,OAAO,CACL,oBAAC,8BAA8B,IAC7B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;KACH;IACD,OAAO,CACL,oBAAC,2BAA2B,IAC1B,IAAI,EAAE,IAAI,GACV,CACH,CAAC;AACJ,CAAC;AAbD,sDAaC","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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport {\r\n BackstageActionItem, BackstageItem, BackstageStageLauncher, ConditionalBooleanValue, ConditionalStringValue, isStageLauncher,\r\n} from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, Icon, IconHelper } from \"@itwin/core-react\";\r\nimport { BackstageItem as NZ_BackstageItem } from \"@itwin/appui-layout-react\";\r\nimport { useBackstageManager } from \"./BackstageManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { useActiveFrontstageId } from \"../frontstage/FrontstageDef\";\r\n\r\n/** @internal */\r\nexport interface BackstageComposerActionItemProps {\r\n readonly item: BackstageActionItem; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerActionItem({ item }: BackstageComposerActionItemProps) {\r\n const manager = useBackstageManager();\r\n const iconSpec = IconHelper.getIconReactNode(item.icon, item.internalData);\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n item.execute();\r\n }, [manager, item]);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n providerId={item.providerId}\r\n itemPriority={item.itemPriority}\r\n groupPriority={item.groupPriority}\r\n icon={<Icon iconSpec={iconSpec} />}\r\n isActive={ConditionalBooleanValue.getValue(item.isActive)}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badgeType)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport interface BackstageComposerStageLauncherProps {\r\n readonly item: BackstageStageLauncher; // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerStageLauncher({ item }: BackstageComposerStageLauncherProps) {\r\n const manager = useBackstageManager();\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n if (!UiFramework.frontstages.hasFrontstage(item.stageId))\r\n return Logger.logError(\"BackstageComposerStageLauncher\", `Frontstage with id '${item.stageId}' not found`);\r\n void UiFramework.frontstages.setActiveFrontstage(item.stageId);\r\n }, [manager, item.stageId]);\r\n const activeFrontstageId = useActiveFrontstageId();\r\n const isActive = ConditionalBooleanValue.getValue(item.isActive ?? item.stageId === activeFrontstageId);\r\n const iconSpec = IconHelper.getIconReactNode(item.icon, item.internalData);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n providerId={item.providerId}\r\n itemPriority={item.itemPriority}\r\n groupPriority={item.groupPriority}\r\n icon={<Icon iconSpec={iconSpec} />}\r\n isActive={isActive}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badgeType)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** Props of [[BackstageComposerItem]] component.\r\n * @internal\r\n */\r\nexport interface BackstageComposerItemProps {\r\n /** Backstage item to render */\r\n readonly item: BackstageItem; // eslint-disable-line deprecation/deprecation\r\n readonly providerId?: string;\r\n}\r\n\r\n/** Item of [[BackstageComposer]].\r\n * @internal\r\n */\r\nexport function BackstageComposerItem({ item }: BackstageComposerItemProps) {\r\n if (isStageLauncher(item)) { // eslint-disable-line deprecation/deprecation\r\n return (\r\n <BackstageComposerStageLauncher\r\n item={item}\r\n />\r\n );\r\n }\r\n return (\r\n <BackstageComposerActionItem\r\n item={item}\r\n />\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"BackstageComposerItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageComposerItem.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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { BadgeUtilities, Icon } from \"@itwin/core-react\";\r\nimport { BackstageItem as NZ_BackstageItem } from \"@itwin/appui-layout-react\";\r\nimport { useBackstageManager } from \"./BackstageManager\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { useActiveFrontstageId } from \"../frontstage/FrontstageDef\";\r\nimport { BackstageActionItem, BackstageItem, BackstageStageLauncher, isBackstageStageLauncher } from \"./BackstageItem\";\r\nimport { isProviderItem } from \"../ui-items-provider/isProviderItem\";\r\n\r\n/** @internal */\r\nexport interface BackstageComposerActionItemProps {\r\n readonly item: BackstageActionItem;\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerActionItem({ item }: BackstageComposerActionItemProps) {\r\n const manager = useBackstageManager();\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n item.execute();\r\n }, [manager, item]);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n providerId={isProviderItem(item) ? item.providerId : undefined}\r\n itemPriority={item.itemPriority}\r\n groupPriority={item.groupPriority}\r\n icon={<Icon iconSpec={item.icon} />}\r\n isActive={ConditionalBooleanValue.getValue(item.isActive)}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badge)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** @internal */\r\nexport interface BackstageComposerStageLauncherProps {\r\n readonly item: BackstageStageLauncher;\r\n}\r\n\r\n/** @internal */\r\nexport function BackstageComposerStageLauncher({ item }: BackstageComposerStageLauncherProps) {\r\n const manager = useBackstageManager();\r\n const handleClick = React.useCallback(() => {\r\n manager.close();\r\n if (!UiFramework.frontstages.hasFrontstage(item.stageId))\r\n return Logger.logError(\"BackstageComposerStageLauncher\", `Frontstage with id '${item.stageId}' not found`);\r\n void UiFramework.frontstages.setActiveFrontstage(item.stageId);\r\n }, [manager, item.stageId]);\r\n const activeFrontstageId = useActiveFrontstageId();\r\n const isActive = ConditionalBooleanValue.getValue(item.isActive ?? item.stageId === activeFrontstageId);\r\n return (\r\n <NZ_BackstageItem\r\n itemId={item.id}\r\n providerId={isProviderItem(item) ? item.providerId : undefined}\r\n itemPriority={item.itemPriority}\r\n groupPriority={item.groupPriority}\r\n icon={<Icon iconSpec={item.icon} />}\r\n isActive={isActive}\r\n isDisabled={ConditionalBooleanValue.getValue(item.isDisabled)}\r\n onClick={handleClick}\r\n subtitle={ConditionalStringValue.getValue(item.subtitle)}\r\n badge={BadgeUtilities.getComponentForBadgeType(item.badge)}\r\n >\r\n {ConditionalStringValue.getValue(item.label)}\r\n </NZ_BackstageItem>\r\n );\r\n}\r\n\r\n/** Props of [[BackstageComposerItem]] component.\r\n * @internal\r\n */\r\nexport interface BackstageComposerItemProps {\r\n /** Backstage item to render */\r\n readonly item: BackstageItem;\r\n}\r\n\r\n/** Item of [[BackstageComposer]].\r\n * @internal\r\n */\r\nexport function BackstageComposerItem({ item }: BackstageComposerItemProps) {\r\n if (isBackstageStageLauncher(item)) {\r\n return (\r\n <BackstageComposerStageLauncher\r\n item={item}\r\n />\r\n );\r\n }\r\n return (\r\n <BackstageComposerActionItem\r\n item={item}\r\n />\r\n );\r\n}\r\n"]}
@@ -1,29 +1,60 @@
1
1
  /** @packageDocumentation
2
2
  * @module Backstage
3
3
  */
4
- import { BackstageActionItem as UIA_BackstageActionItem, BackstageItem as UIA_BackstageItem, BackstageStageLauncher as UIA_BackstageStageLauncher, CommonBackstageItem as UIA_CommonBackstageItem } from "@itwin/appui-abstract";
4
+ import { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from "@itwin/appui-abstract";
5
+ import { IconSpec } from "@itwin/core-react";
5
6
  /** Describes the data needed to insert a button into the backstage menu.
6
- * @beta
7
+ * @public
7
8
  */
8
- export declare type CommonBackstageItem = UIA_CommonBackstageItem;
9
+ export interface CommonBackstageItem {
10
+ /** Required unique id of the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */
11
+ readonly id: string;
12
+ /** Describes badge. Renders no badge if not specified. */
13
+ readonly badge?: BadgeType;
14
+ /** Specifies the item's grouping value. Items are sorted by group and then item priority. When
15
+ * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This
16
+ * allows extensions enough gaps to insert their own groups.
17
+ */
18
+ readonly groupPriority: number;
19
+ /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
20
+ readonly icon?: IconSpec;
21
+ /** Describes if the item is visible or hidden. The default is for the item to be visible. */
22
+ readonly isHidden?: boolean | ConditionalBooleanValue;
23
+ /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */
24
+ readonly isDisabled?: boolean | ConditionalBooleanValue;
25
+ /** Priority within a group (recommend using values 1 through 100). */
26
+ readonly itemPriority: number;
27
+ /** Label. */
28
+ readonly label: string | ConditionalStringValue;
29
+ /** Subtitle. */
30
+ readonly subtitle?: string | ConditionalStringValue;
31
+ /** Tooltip. */
32
+ readonly tooltip?: string | ConditionalStringValue;
33
+ /** Describes if the item is active. The default is for the item to be active if stageId matches activeFrontstageId */
34
+ readonly isActive?: boolean | ConditionalBooleanValue;
35
+ }
9
36
  /** Describes the data needed to insert an action button into the backstage menu.
10
- * @beta
37
+ * @public
11
38
  */
12
- export declare type BackstageActionItem = UIA_BackstageActionItem;
39
+ export interface BackstageActionItem extends CommonBackstageItem {
40
+ readonly execute: () => void;
41
+ }
13
42
  /** Describes the data needed to insert an action button into the backstage menu.
14
- * @beta
43
+ * @public
15
44
  */
16
- export declare type BackstageStageLauncher = UIA_BackstageStageLauncher;
45
+ export interface BackstageStageLauncher extends CommonBackstageItem {
46
+ readonly stageId: string;
47
+ }
17
48
  /** Describes the data needed to insert a button into the backstage menu.
18
- * @public TODO: 4.x cleanup
49
+ * @public
19
50
  */
20
- export declare type BackstageItem = UIA_BackstageItem;
51
+ export declare type BackstageItem = BackstageActionItem | BackstageStageLauncher;
21
52
  /** BackstageActionItem type guard.
22
- * @beta
53
+ * @public
23
54
  */
24
- export declare function isBackstageActionItem(item: BackstageItem): item is UIA_BackstageActionItem;
55
+ export declare function isBackstageActionItem(item: BackstageItem): item is BackstageActionItem;
25
56
  /** BackstageStageLauncher type guard.
26
- * @beta
57
+ * @public
27
58
  */
28
- export declare function isBackstageStageLauncher(item: BackstageItem): item is UIA_BackstageStageLauncher;
59
+ export declare function isBackstageStageLauncher(item: BackstageItem): item is BackstageStageLauncher;
29
60
  //# sourceMappingURL=BackstageItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAGL,mBAAmB,IAAI,uBAAuB,EAC9C,aAAa,IAAI,iBAAiB,EAClC,sBAAsB,IAAI,0BAA0B,EACpD,mBAAmB,IAAI,uBAAuB,EAC/C,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,oBAAY,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D;;GAEG;AACH,oBAAY,mBAAmB,GAAG,uBAAuB,CAAC;AAE1D;;GAEG;AACH,oBAAY,sBAAsB,GAAG,0BAA0B,CAAC;AAEhE;;GAEG;AACH,oBAAY,aAAa,GAAG,iBAAiB,CAAC;AAE9C;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,uBAAuB,CAE1F;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,0BAA0B,CAEhG"}
1
+ {"version":3,"file":"BackstageItem.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItem.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kIAAkI;IAClI,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,qHAAqH;IACrH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,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,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,aAAa;IACb,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAChD,gBAAgB;IAChB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACpD,eAAe;IACf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACnD,sHAAsH;IACtH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,oBAAY,aAAa,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAEzE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,mBAAmB,CAEtF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,IAAI,sBAAsB,CAE5F"}
@@ -8,19 +8,18 @@
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.isBackstageStageLauncher = exports.isBackstageActionItem = void 0;
11
- const appui_abstract_1 = require("@itwin/appui-abstract");
12
11
  /** BackstageActionItem type guard.
13
- * @beta
12
+ * @public
14
13
  */
15
14
  function isBackstageActionItem(item) {
16
- return (0, appui_abstract_1.isActionItem)(item); // eslint-disable-line deprecation/deprecation
15
+ return "execute" in item;
17
16
  }
18
17
  exports.isBackstageActionItem = isBackstageActionItem;
19
18
  /** BackstageStageLauncher type guard.
20
- * @beta
19
+ * @public
21
20
  */
22
21
  function isBackstageStageLauncher(item) {
23
- return (0, appui_abstract_1.isStageLauncher)(item); // eslint-disable-line deprecation/deprecation
22
+ return "stageId" in item;
24
23
  }
25
24
  exports.isBackstageStageLauncher = isBackstageStageLauncher;
26
25
  //# sourceMappingURL=BackstageItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackstageItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,0DAO+B;AAsB/B;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAmB;IACvD,OAAO,IAAA,6BAAY,EAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;AAC3E,CAAC;AAFD,sDAEC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,IAAmB;IAC1D,OAAO,IAAA,gCAAe,EAAC,IAAI,CAAC,CAAC,CAAC,8CAA8C;AAC9E,CAAC;AAFD,4DAEC","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 Backstage\r\n */\r\n\r\nimport {\r\n isActionItem,\r\n isStageLauncher,\r\n BackstageActionItem as UIA_BackstageActionItem,\r\n BackstageItem as UIA_BackstageItem,\r\n BackstageStageLauncher as UIA_BackstageStageLauncher,\r\n CommonBackstageItem as UIA_CommonBackstageItem,\r\n} from \"@itwin/appui-abstract\";\r\n\r\n/** Describes the data needed to insert a button into the backstage menu.\r\n * @beta\r\n */\r\nexport type CommonBackstageItem = UIA_CommonBackstageItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert an action button into the backstage menu.\r\n * @beta\r\n */\r\nexport type BackstageActionItem = UIA_BackstageActionItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert an action button into the backstage menu.\r\n * @beta\r\n */\r\nexport type BackstageStageLauncher = UIA_BackstageStageLauncher; // eslint-disable-line deprecation/deprecation\r\n\r\n/** Describes the data needed to insert a button into the backstage menu.\r\n * @public TODO: 4.x cleanup\r\n */\r\nexport type BackstageItem = UIA_BackstageItem; // eslint-disable-line deprecation/deprecation\r\n\r\n/** BackstageActionItem type guard.\r\n * @beta\r\n */\r\nexport function isBackstageActionItem(item: BackstageItem): item is UIA_BackstageActionItem { // eslint-disable-line deprecation/deprecation\r\n return isActionItem(item); // eslint-disable-line deprecation/deprecation\r\n}\r\n\r\n/** BackstageStageLauncher type guard.\r\n * @beta\r\n */\r\nexport function isBackstageStageLauncher(item: BackstageItem): item is UIA_BackstageStageLauncher { // eslint-disable-line deprecation/deprecation\r\n return isStageLauncher(item); // eslint-disable-line deprecation/deprecation\r\n}\r\n"]}
1
+ {"version":3,"file":"BackstageItem.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItem.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAuDH;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAmB;IACvD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,sDAEC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,IAAmB;IAC1D,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAFD,4DAEC","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 Backstage\r\n */\r\n\r\nimport { BadgeType, ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { IconSpec } from \"@itwin/core-react\";\r\n\r\n/** Describes the data needed to insert a button into the backstage menu.\r\n * @public\r\n */\r\nexport interface CommonBackstageItem {\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 /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\r\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\r\n * allows extensions enough gaps to insert their own groups.\r\n */\r\n readonly groupPriority: number;\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon?: IconSpec;\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 group (recommend using values 1 through 100). */\r\n readonly itemPriority: number;\r\n /** Label. */\r\n readonly label: string | ConditionalStringValue;\r\n /** Subtitle. */\r\n readonly subtitle?: string | ConditionalStringValue;\r\n /** Tooltip. */\r\n readonly tooltip?: string | ConditionalStringValue;\r\n /** Describes if the item is active. The default is for the item to be active if stageId matches activeFrontstageId */\r\n readonly isActive?: boolean | ConditionalBooleanValue;\r\n}\r\n\r\n/** Describes the data needed to insert an action button into the backstage menu.\r\n * @public\r\n */\r\nexport interface BackstageActionItem extends CommonBackstageItem {\r\n readonly execute: () => void;\r\n}\r\n\r\n/** Describes the data needed to insert an action button into the backstage menu.\r\n * @public\r\n */\r\nexport interface BackstageStageLauncher extends CommonBackstageItem {\r\n readonly stageId: string;\r\n}\r\n\r\n/** Describes the data needed to insert a button into the backstage menu.\r\n * @public\r\n */\r\nexport type BackstageItem = BackstageActionItem | BackstageStageLauncher;\r\n\r\n/** BackstageActionItem type guard.\r\n * @public\r\n */\r\nexport function isBackstageActionItem(item: BackstageItem): item is BackstageActionItem {\r\n return \"execute\" in item;\r\n}\r\n\r\n/** BackstageStageLauncher type guard.\r\n * @public\r\n */\r\nexport function isBackstageStageLauncher(item: BackstageItem): item is BackstageStageLauncher {\r\n return \"stageId\" in item;\r\n}\r\n"]}
@@ -0,0 +1,39 @@
1
+ /** @packageDocumentation
2
+ * @module Backstage
3
+ */
4
+ import { BeEvent } from "@itwin/core-bentley";
5
+ import { BackstageItem } from "./BackstageItem";
6
+ /** Arguments of [[BackstageItemsManager.onChanged]] event.
7
+ * @internal
8
+ */
9
+ export interface BackstageItemsChangedArgs {
10
+ readonly items: ReadonlyArray<BackstageItem>;
11
+ }
12
+ /**
13
+ * Controls backstage items.
14
+ * @internal
15
+ */
16
+ export declare class BackstageItemsManager {
17
+ private _items;
18
+ constructor(items?: ReadonlyArray<BackstageItem>);
19
+ private loadItemsInternal;
20
+ /** load items but do not fire onItemsChanged
21
+ * @internal
22
+ */
23
+ loadItems(items: ReadonlyArray<BackstageItem>): void;
24
+ /** Event raised when backstage items are changed.
25
+ * @internal
26
+ */
27
+ readonly onItemsChanged: BeEvent<(args: BackstageItemsChangedArgs) => void>;
28
+ get items(): ReadonlyArray<BackstageItem>;
29
+ set items(items: ReadonlyArray<BackstageItem>);
30
+ /** @internal */
31
+ add(itemOrItems: BackstageItem | ReadonlyArray<BackstageItem>): void;
32
+ /** @internal */
33
+ remove(itemIdOrItemIds: BackstageItem["id"] | ReadonlyArray<BackstageItem["id"]>): void;
34
+ /** @internal */
35
+ static getSyncIdsOfInterest(items: readonly BackstageItem[]): string[];
36
+ private internalRefreshAffectedItems;
37
+ refreshAffectedItems(eventIds: Set<string>): void;
38
+ }
39
+ //# sourceMappingURL=BackstageItemsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackstageItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItemsManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CAC9C;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAoC;gBAEtC,KAAK,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IAMhD,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;IAIpD;;OAEG;IACH,SAAgB,cAAc,iBAAsB,yBAAyB,KAAK,IAAI,EAAI;IAE1F,IAAW,KAAK,IAAI,aAAa,CAAC,aAAa,CAAC,CAE/C;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,EAInD;IAED,gBAAgB;IACT,GAAG,CAAC,WAAW,EAAE,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;IAiBpE,gBAAgB;IACT,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAOvF,gBAAgB;WACF,oBAAoB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,EAAE;IAc7E,OAAO,CAAC,4BAA4B;IA6B7B,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;CAWlD"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Backstage
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.BackstageItemsManager = void 0;
11
+ const appui_abstract_1 = require("@itwin/appui-abstract");
12
+ const core_bentley_1 = require("@itwin/core-bentley");
13
+ /**
14
+ * Controls backstage items.
15
+ * @internal
16
+ */
17
+ class BackstageItemsManager {
18
+ constructor(items) {
19
+ this._items = [];
20
+ /** Event raised when backstage items are changed.
21
+ * @internal
22
+ */
23
+ this.onItemsChanged = new core_bentley_1.BeEvent();
24
+ // istanbul ignore else
25
+ if (items)
26
+ this.loadItemsInternal(items, true, false);
27
+ }
28
+ loadItemsInternal(items, processConditions, sendItemChanged) {
29
+ if (processConditions && items) {
30
+ const eventIds = BackstageItemsManager.getSyncIdsOfInterest(items);
31
+ if (0 !== eventIds.length) {
32
+ const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));
33
+ // istanbul ignore else
34
+ if (itemsUpdated)
35
+ items = updatedItems;
36
+ }
37
+ }
38
+ this._items = items;
39
+ if (sendItemChanged)
40
+ this.onItemsChanged.raiseEvent({ items });
41
+ }
42
+ /** load items but do not fire onItemsChanged
43
+ * @internal
44
+ */
45
+ loadItems(items) {
46
+ this.loadItemsInternal(items, true, false);
47
+ }
48
+ get items() {
49
+ return this._items;
50
+ }
51
+ set items(items) {
52
+ // istanbul ignore else
53
+ if (items !== this._items)
54
+ this.loadItemsInternal(items, true, true);
55
+ }
56
+ /** @internal */
57
+ add(itemOrItems) {
58
+ let itemsToAdd;
59
+ if (!Array.isArray(itemOrItems))
60
+ itemsToAdd = [itemOrItems];
61
+ else {
62
+ itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);
63
+ }
64
+ itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);
65
+ if (itemsToAdd.length === 0)
66
+ return;
67
+ const items = [
68
+ ...this._items,
69
+ ...itemsToAdd,
70
+ ];
71
+ this.items = items;
72
+ }
73
+ /** @internal */
74
+ remove(itemIdOrItemIds) {
75
+ const items = this._items.filter((item) => {
76
+ return Array.isArray(itemIdOrItemIds) ? !itemIdOrItemIds.find((itemId) => itemId === item.id) : item.id !== itemIdOrItemIds;
77
+ });
78
+ this.items = items;
79
+ }
80
+ /** @internal */
81
+ static getSyncIdsOfInterest(items) {
82
+ const eventIds = new Set();
83
+ items.forEach((item) => {
84
+ for (const [, entry] of Object.entries(item)) {
85
+ if (entry instanceof appui_abstract_1.ConditionalBooleanValue) {
86
+ entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
87
+ }
88
+ else /* istanbul ignore else */ if (entry instanceof appui_abstract_1.ConditionalStringValue) {
89
+ entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
90
+ }
91
+ }
92
+ });
93
+ return [...eventIds.values()];
94
+ }
95
+ internalRefreshAffectedItems(items, eventIds) {
96
+ // istanbul ignore next
97
+ if (0 === eventIds.size)
98
+ return { itemsUpdated: false, updatedItems: [] };
99
+ let updateRequired = false;
100
+ const newItems = [];
101
+ for (const item of items) {
102
+ const updatedItem = { ...item };
103
+ for (const [, entry] of Object.entries(updatedItem)) {
104
+ if (entry instanceof appui_abstract_1.ConditionalBooleanValue) {
105
+ // istanbul ignore else
106
+ if (appui_abstract_1.ConditionalBooleanValue.refreshValue(entry, eventIds))
107
+ updateRequired = true;
108
+ }
109
+ else /* istanbul ignore else */ if (entry instanceof appui_abstract_1.ConditionalStringValue) {
110
+ // istanbul ignore else
111
+ if (appui_abstract_1.ConditionalStringValue.refreshValue(entry, eventIds))
112
+ updateRequired = true;
113
+ }
114
+ }
115
+ newItems.push(updatedItem);
116
+ }
117
+ return { itemsUpdated: updateRequired, updatedItems: newItems };
118
+ }
119
+ refreshAffectedItems(eventIds) {
120
+ // istanbul ignore next
121
+ if (0 === eventIds.size)
122
+ return;
123
+ const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);
124
+ // istanbul ignore else
125
+ if (itemsUpdated)
126
+ this.loadItemsInternal(updatedItems, false, true);
127
+ }
128
+ }
129
+ exports.BackstageItemsManager = BackstageItemsManager;
130
+ //# sourceMappingURL=BackstageItemsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackstageItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/BackstageItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Backstage\r\n */\r\n\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { BeEvent } from \"@itwin/core-bentley\";\r\nimport { BackstageItem } from \"./BackstageItem\";\r\n\r\n/** Arguments of [[BackstageItemsManager.onChanged]] event.\r\n * @internal\r\n */\r\nexport interface BackstageItemsChangedArgs {\r\n readonly items: ReadonlyArray<BackstageItem>;\r\n}\r\n\r\n/**\r\n * Controls backstage items.\r\n * @internal\r\n */\r\nexport class BackstageItemsManager {\r\n private _items: ReadonlyArray<BackstageItem> = [];\r\n\r\n constructor(items?: ReadonlyArray<BackstageItem>) {\r\n // istanbul ignore else\r\n if (items)\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n private loadItemsInternal(items: ReadonlyArray<BackstageItem>, processConditions: boolean, sendItemChanged: boolean) {\r\n if (processConditions && items) {\r\n const eventIds = BackstageItemsManager.getSyncIdsOfInterest(items);\r\n if (0 !== eventIds.length) {\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n items = updatedItems;\r\n }\r\n }\r\n\r\n this._items = items;\r\n if (sendItemChanged)\r\n this.onItemsChanged.raiseEvent({ items });\r\n }\r\n\r\n /** load items but do not fire onItemsChanged\r\n * @internal\r\n */\r\n public loadItems(items: ReadonlyArray<BackstageItem>) {\r\n this.loadItemsInternal(items, true, false);\r\n }\r\n\r\n /** Event raised when backstage items are changed.\r\n * @internal\r\n */\r\n public readonly onItemsChanged = new BeEvent<(args: BackstageItemsChangedArgs) => void>();\r\n\r\n public get items(): ReadonlyArray<BackstageItem> {\r\n return this._items;\r\n }\r\n\r\n public set items(items: ReadonlyArray<BackstageItem>) {\r\n // istanbul ignore else\r\n if (items !== this._items)\r\n this.loadItemsInternal(items, true, true);\r\n }\r\n\r\n /** @internal */\r\n public add(itemOrItems: BackstageItem | ReadonlyArray<BackstageItem>) {\r\n let itemsToAdd;\r\n if (!Array.isArray(itemOrItems))\r\n itemsToAdd = [itemOrItems];\r\n else {\r\n itemsToAdd = itemOrItems.filter((itemToAdd, index) => itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index);\r\n }\r\n itemsToAdd = itemsToAdd.filter((itemToAdd) => this._items.find((item) => item.id === itemToAdd.id) === undefined);\r\n if (itemsToAdd.length === 0)\r\n return;\r\n const items = [\r\n ...this._items,\r\n ...itemsToAdd,\r\n ];\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public remove(itemIdOrItemIds: BackstageItem[\"id\"] | ReadonlyArray<BackstageItem[\"id\"]>) {\r\n const items = this._items.filter((item) => {\r\n return Array.isArray(itemIdOrItemIds) ? !itemIdOrItemIds.find((itemId) => itemId === item.id) : item.id !== itemIdOrItemIds;\r\n });\r\n this.items = items;\r\n }\r\n\r\n /** @internal */\r\n public static getSyncIdsOfInterest(items: readonly BackstageItem[]): string[] {\r\n const eventIds = new Set<string>();\r\n items.forEach((item) => {\r\n for (const [, entry] of Object.entries(item)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n entry.syncEventIds.forEach((eventId: string) => eventIds.add(eventId.toLowerCase()));\r\n }\r\n }\r\n });\r\n return [...eventIds.values()];\r\n }\r\n\r\n private internalRefreshAffectedItems(items: readonly BackstageItem[], eventIds: Set<string>): { itemsUpdated: boolean, updatedItems: BackstageItem[] } {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return { itemsUpdated: false, updatedItems: [] };\r\n\r\n let updateRequired = false;\r\n\r\n const newItems: BackstageItem[] = [];\r\n for (const item of items) {\r\n const updatedItem = { ...item };\r\n\r\n for (const [, entry] of Object.entries(updatedItem)) {\r\n if (entry instanceof ConditionalBooleanValue) {\r\n // istanbul ignore else\r\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n } else /* istanbul ignore else */ if (entry instanceof ConditionalStringValue) {\r\n // istanbul ignore else\r\n if (ConditionalStringValue.refreshValue(entry, eventIds))\r\n updateRequired = true;\r\n }\r\n }\r\n\r\n newItems.push(updatedItem);\r\n }\r\n\r\n return { itemsUpdated: updateRequired, updatedItems: newItems };\r\n }\r\n\r\n public refreshAffectedItems(eventIds: Set<string>) {\r\n // istanbul ignore next\r\n if (0 === eventIds.size)\r\n return;\r\n\r\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(this.items, eventIds);\r\n\r\n // istanbul ignore else\r\n if (itemsUpdated)\r\n this.loadItemsInternal(updatedItems, false, true);\r\n }\r\n}\r\n"]}
@@ -1,7 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Backstage
3
3
  */
4
- import { BackstageItem, BackstageItemsManager } from "@itwin/appui-abstract";
4
+ import { BackstageItem } from "./BackstageItem";
5
+ import { BackstageItemsManager } from "./BackstageItemsManager";
5
6
  /** Hook that returns items from [[BackstageItemsManager]].
6
7
  * @internal
7
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaultBackstageItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useDefaultBackstageItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAA6B,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAExG;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAAa,qBAAqB,KAAG,SAAS,aAAa,EAoB/F,CAAC"}
1
+ {"version":3,"file":"useDefaultBackstageItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useDefaultBackstageItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAAa,qBAAqB,KAAG,SAAS,aAAa,EAgB/F,CAAC"}
@@ -23,13 +23,9 @@ const useDefaultBackstageItems = (manager) => {
23
23
  }
24
24
  }, [manager, manager.items]);
25
25
  React.useEffect(() => {
26
- const handleChanged = (args) => {
26
+ return manager.onItemsChanged.addListener((args) => {
27
27
  setItems(args.items);
28
- };
29
- manager.onItemsChanged.addListener(handleChanged);
30
- return () => {
31
- manager.onItemsChanged.removeListener(handleChanged);
32
- };
28
+ });
33
29
  }, [manager]);
34
30
  return items;
35
31
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useDefaultBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useDefaultBackstageItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAG/B;;GAEG;AACI,MAAM,wBAAwB,GAAG,CAAC,OAA8B,EAA4B,EAAE;IACnG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,CAAC,IAA+B,EAAE,EAAE;YACxD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AApBW,QAAA,wBAAwB,4BAoBnC","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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { BackstageItem, BackstageItemsChangedArgs, BackstageItemsManager } from \"@itwin/appui-abstract\";\r\n\r\n/** Hook that returns items from [[BackstageItemsManager]].\r\n * @internal\r\n */\r\nexport const useDefaultBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => { // eslint-disable-line deprecation/deprecation\r\n const [items, setItems] = React.useState(manager.items);\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 setItems(manager.items);\r\n }\r\n }, [manager, manager.items]);\r\n React.useEffect(() => {\r\n const handleChanged = (args: BackstageItemsChangedArgs) => {\r\n setItems(args.items);\r\n };\r\n manager.onItemsChanged.addListener(handleChanged);\r\n return () => {\r\n manager.onItemsChanged.removeListener(handleChanged);\r\n };\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}
1
+ {"version":3,"file":"useDefaultBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useDefaultBackstageItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAI/B;;GAEG;AACI,MAAM,wBAAwB,GAAG,CAAC,OAA8B,EAA4B,EAAE;IACnG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,CAAC,OAAO;YACxB,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;aAC5B;YACH,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,wBAAwB,4BAgBnC","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 Backstage\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { BackstageItem } from \"./BackstageItem\";\r\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\r\n\r\n/** Hook that returns items from [[BackstageItemsManager]].\r\n * @internal\r\n */\r\nexport const useDefaultBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => {\r\n const [items, setItems] = React.useState(manager.items);\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 setItems(manager.items);\r\n }\r\n }, [manager, manager.items]);\r\n React.useEffect(() => {\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module StatusBar
3
3
  */
4
- import { BackstageItemsManager } from "@itwin/appui-abstract";
5
4
  import { BackstageItem } from "./BackstageItem";
5
+ import { BackstageItemsManager } from "./BackstageItemsManager";
6
6
  /** Hook that returns items from [[BackstageItemsManager]].
7
7
  * @public
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useUiItemsProviderBackstageItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useUiItemsProviderBackstageItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAA6B,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEzF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;GAEG;AACH,eAAO,MAAM,gCAAgC,YAAa,qBAAqB,KAAG,SAAS,aAAa,EA2BvG,CAAC"}
1
+ {"version":3,"file":"useUiItemsProviderBackstageItems.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useUiItemsProviderBackstageItems.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,gCAAgC,YAAa,qBAAqB,KAAG,SAAS,aAAa,EAuBvG,CAAC"}
@@ -32,13 +32,9 @@ const useUiItemsProviderBackstageItems = (manager) => {
32
32
  }, [manager, uiItemProviderIds]);
33
33
  // handle item changes caused by calls to UiFramework.backstageManager
34
34
  React.useEffect(() => {
35
- const handleChanged = (args) => {
35
+ return manager.onItemsChanged.addListener((args) => {
36
36
  setItems(args.items);
37
- };
38
- manager.onItemsChanged.addListener(handleChanged);
39
- return () => {
40
- manager.onItemsChanged.removeListener(handleChanged);
41
- };
37
+ });
42
38
  }, [manager]);
43
39
  return items;
44
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useUiItemsProviderBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useUiItemsProviderBackstageItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAE/B,wFAAqF;AAErF,wEAAqE;AAErE;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAAC,OAA8B,EAA4B,EAAE;IAC3G,MAAM,iBAAiB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAA,EAAE,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,EAAE;YACxC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;YACnC,MAAM,cAAc,GAAG,+BAAc,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjC,sEAAsE;IACtE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,CAAC,IAA+B,EAAE,EAAE;YACxD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA3BW,QAAA,gCAAgC,oCA2B3C","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 { BackstageItemsChangedArgs, BackstageItemsManager } from \"@itwin/appui-abstract\";\r\nimport { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\r\nimport { BackstageItem } from \"./BackstageItem\";\r\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\r\n\r\n/** Hook that returns items from [[BackstageItemsManager]].\r\n * @public\r\n */\r\nexport const useUiItemsProviderBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => {\r\n const uiItemProviderIds = useAvailableUiItemsProviders();\r\n const [items, setItems] = React.useState(manager ? manager.items : /* istanbul ignore next */[]);\r\n const providersRef = React.useRef(\"\");\r\n // gathers items from registered extensions - dependent on when a UiItemsProvider is register or unregistered and if the\r\n // current stage's composer allows entries from extensions.\r\n React.useEffect(() => {\r\n const uiProviders = uiItemProviderIds.join(\"-\");\r\n // istanbul ignore else\r\n if (providersRef.current !== uiProviders) {\r\n providersRef.current = uiProviders;\r\n const backstageItems = UiItemsManager.getBackstageItems();\r\n manager.loadItems(backstageItems);\r\n setItems(manager.items);\r\n }\r\n }, [manager, uiItemProviderIds]);\r\n // handle item changes caused by calls to UiFramework.backstageManager\r\n React.useEffect(() => {\r\n const handleChanged = (args: BackstageItemsChangedArgs) => {\r\n setItems(args.items);\r\n };\r\n manager.onItemsChanged.addListener(handleChanged);\r\n return () => {\r\n manager.onItemsChanged.removeListener(handleChanged);\r\n };\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}
1
+ {"version":3,"file":"useUiItemsProviderBackstageItems.js","sourceRoot":"","sources":["../../../../src/appui-react/backstage/useUiItemsProviderBackstageItems.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,wFAAqF;AAErF,wEAAqE;AAGrE;;GAEG;AACI,MAAM,gCAAgC,GAAG,CAAC,OAA8B,EAA4B,EAAE;IAC3G,MAAM,iBAAiB,GAAG,IAAA,2DAA4B,GAAE,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAA,EAAE,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,wHAAwH;IACxH,2DAA2D;IAC3D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,uBAAuB;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,WAAW,EAAE;YACxC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC;YACnC,MAAM,cAAc,GAAG,+BAAc,CAAC,iBAAiB,EAAE,CAAC;YAC1D,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAClC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACjC,sEAAsE;IACtE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;YACjD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAvBW,QAAA,gCAAgC,oCAuB3C","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 { useAvailableUiItemsProviders } from \"../hooks/useAvailableUiItemsProviders\";\r\nimport { BackstageItem } from \"./BackstageItem\";\r\nimport { UiItemsManager } from \"../ui-items-provider/UiItemsManager\";\r\nimport { BackstageItemsManager } from \"./BackstageItemsManager\";\r\n\r\n/** Hook that returns items from [[BackstageItemsManager]].\r\n * @public\r\n */\r\nexport const useUiItemsProviderBackstageItems = (manager: BackstageItemsManager): readonly BackstageItem[] => {\r\n const uiItemProviderIds = useAvailableUiItemsProviders();\r\n const [items, setItems] = React.useState(manager ? manager.items : /* istanbul ignore next */[]);\r\n const providersRef = React.useRef(\"\");\r\n // gathers items from registered extensions - dependent on when a UiItemsProvider is register or unregistered and if the\r\n // current stage's composer allows entries from extensions.\r\n React.useEffect(() => {\r\n const uiProviders = uiItemProviderIds.join(\"-\");\r\n // istanbul ignore else\r\n if (providersRef.current !== uiProviders) {\r\n providersRef.current = uiProviders;\r\n const backstageItems = UiItemsManager.getBackstageItems();\r\n manager.loadItems(backstageItems);\r\n setItems(manager.items);\r\n }\r\n }, [manager, uiItemProviderIds]);\r\n // handle item changes caused by calls to UiFramework.backstageManager\r\n React.useEffect(() => {\r\n return manager.onItemsChanged.addListener((args) => {\r\n setItems(args.items);\r\n });\r\n }, [manager]);\r\n return items;\r\n};\r\n"]}