@itwin/appui-react 4.6.4 → 4.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/CHANGELOG.md +26 -3
  2. package/lib/cjs/appui-react/UiFramework.d.ts +29 -14
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +28 -15
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +4 -7
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +3 -3
  11. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +8 -0
  13. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js +8 -0
  15. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +3 -4
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.js +11 -12
  21. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +9 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +9 -1
  25. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  26. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +2 -2
  27. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +16 -11
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  30. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts +2 -4
  31. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/childwindow/PopoutWidget.js +6 -3
  33. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +3 -1
  36. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/configurableui/state.js +5 -2
  39. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  40. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  41. package/lib/cjs/appui-react/content/IModelViewport.js +2 -0
  42. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  43. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
  44. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  45. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +3 -3
  46. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  47. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +2 -2
  48. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  50. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +6 -8
  51. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  52. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +26 -16
  53. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  54. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +1 -1
  56. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  58. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +1 -2
  59. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  60. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
  61. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  62. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  63. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +42 -2
  64. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  65. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +9 -3
  66. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts.map +1 -1
  67. package/lib/cjs/appui-react/messages/AppNotificationManager.js +9 -3
  68. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  69. package/lib/cjs/appui-react/messages/MessageManager.d.ts +10 -0
  70. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/messages/MessageManager.js +51 -6
  72. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  73. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +1 -3
  75. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  76. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +0 -15
  77. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +8 -8
  79. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  80. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  81. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  82. package/lib/cjs/appui-react/pickers/ViewSelector.js +2 -3
  83. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  84. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  85. package/lib/cjs/appui-react/popup/CardPopup.js +2 -2
  86. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  87. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +7 -6
  89. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  90. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +2 -2
  92. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  93. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  94. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +2 -2
  95. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  96. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  97. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  98. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  99. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +47 -0
  100. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -0
  101. package/lib/cjs/appui-react/preview/PreviewFeatures.js +95 -0
  102. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -0
  103. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +9 -2
  104. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts.map +1 -1
  105. package/lib/cjs/appui-react/safearea/SafeAreaContext.js +9 -2
  106. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  107. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  108. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +10 -10
  109. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  110. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +2 -3
  111. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +9 -6
  113. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  114. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -28
  115. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/statusbar/StatusBar.js +1 -69
  117. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  118. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  119. package/lib/cjs/appui-react/statusfields/MessageCenter.js +1 -3
  120. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  121. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/statusfields/SectionsField.js +1 -3
  123. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  124. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +4 -7
  125. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/statusfields/SelectionScope.js +2 -7
  127. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  128. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  129. package/lib/cjs/appui-react/statusfields/SnapMode.js +8 -10
  130. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  131. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +8 -4
  133. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  134. package/lib/cjs/appui-react/theme/ThemeManager.d.ts +38 -7
  135. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  136. package/lib/cjs/appui-react/theme/ThemeManager.js +52 -11
  137. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  138. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/toolbar/Toolbar.js +12 -1
  140. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  141. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +21 -0
  142. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  144. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +7 -7
  146. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  147. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts +10 -1
  148. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  149. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +12 -4
  150. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  151. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +1 -2
  153. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  154. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +1 -2
  156. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  157. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  158. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +2 -3
  159. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  160. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +15 -0
  161. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
  162. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +133 -105
  163. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  164. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +10 -4
  165. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  166. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +80 -65
  167. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  168. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +30 -4
  169. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  170. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  171. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +11 -2
  172. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  173. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +9 -1
  174. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  175. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +5 -4
  176. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/uistate/AppUiSettings.js +2 -2
  178. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  179. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +10 -1
  180. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  181. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +10 -1
  182. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  183. package/lib/cjs/appui-react/utils/matchesWords.d.ts +22 -0
  184. package/lib/cjs/appui-react/utils/matchesWords.d.ts.map +1 -0
  185. package/lib/cjs/appui-react/utils/matchesWords.js +103 -0
  186. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -0
  187. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  188. package/lib/cjs/appui-react/widget-panels/Frontstage.js +25 -13
  189. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  190. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -0
  191. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +4 -1
  192. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  193. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +11 -5
  194. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  195. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  196. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -7
  197. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  198. package/lib/cjs/appui-react/widgets/Widget.d.ts +23 -1
  199. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  200. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  201. package/lib/cjs/appui-react.d.ts +1 -0
  202. package/lib/cjs/appui-react.d.ts.map +1 -1
  203. package/lib/cjs/appui-react.js +3 -0
  204. package/lib/cjs/appui-react.js.map +1 -1
  205. package/lib/esm/appui-react/UiFramework.d.ts +29 -14
  206. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  207. package/lib/esm/appui-react/UiFramework.js +29 -16
  208. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  209. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  210. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +4 -7
  211. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  212. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  213. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +3 -3
  214. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  215. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +8 -0
  216. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts.map +1 -1
  217. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js +8 -0
  218. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  219. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  220. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +3 -4
  221. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  222. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  223. package/lib/esm/appui-react/accudraw/Calculator.js +11 -12
  224. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  225. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +9 -1
  226. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  227. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +9 -1
  228. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  229. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +2 -2
  230. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  231. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +16 -11
  232. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  233. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts +2 -4
  234. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts.map +1 -1
  235. package/lib/esm/appui-react/childwindow/PopoutWidget.js +6 -3
  236. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  237. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  238. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +3 -1
  239. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  240. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  241. package/lib/esm/appui-react/configurableui/state.js +5 -2
  242. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  243. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  244. package/lib/esm/appui-react/content/IModelViewport.js +2 -0
  245. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  246. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -1
  247. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  248. package/lib/esm/appui-react/feedback/ValidationTextbox.js +3 -3
  249. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  250. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts +2 -2
  251. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.d.ts.map +1 -1
  252. package/lib/esm/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  253. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +6 -8
  254. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  255. package/lib/esm/appui-react/frontstage/FrontstageDef.js +27 -17
  256. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  257. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  258. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -2
  259. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  260. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  261. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +1 -2
  262. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  263. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +2 -2
  264. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  265. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  266. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +41 -1
  267. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  268. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +9 -3
  269. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts.map +1 -1
  270. package/lib/esm/appui-react/messages/AppNotificationManager.js +9 -3
  271. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  272. package/lib/esm/appui-react/messages/MessageManager.d.ts +10 -0
  273. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  274. package/lib/esm/appui-react/messages/MessageManager.js +52 -7
  275. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  276. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  277. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +1 -3
  278. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  279. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +0 -15
  280. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  281. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +9 -9
  282. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  283. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  284. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  285. package/lib/esm/appui-react/pickers/ViewSelector.js +2 -3
  286. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  287. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  288. package/lib/esm/appui-react/popup/CardPopup.js +2 -2
  289. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  290. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  291. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +6 -5
  292. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  293. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  294. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +2 -2
  295. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  296. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  297. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +2 -2
  298. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  299. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  300. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  301. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  302. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +47 -0
  303. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -0
  304. package/lib/esm/appui-react/preview/PreviewFeatures.js +90 -0
  305. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -0
  306. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +9 -2
  307. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts.map +1 -1
  308. package/lib/esm/appui-react/safearea/SafeAreaContext.js +9 -2
  309. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  310. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  311. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +11 -11
  312. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  313. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +2 -3
  314. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  315. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +9 -6
  316. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  317. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -28
  318. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  319. package/lib/esm/appui-react/statusbar/StatusBar.js +1 -69
  320. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  321. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  322. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -4
  323. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  324. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  325. package/lib/esm/appui-react/statusfields/SectionsField.js +1 -3
  326. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  327. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +4 -7
  328. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  329. package/lib/esm/appui-react/statusfields/SelectionScope.js +2 -7
  330. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  331. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  332. package/lib/esm/appui-react/statusfields/SnapMode.js +8 -10
  333. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  334. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  335. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +8 -4
  336. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  337. package/lib/esm/appui-react/theme/ThemeManager.d.ts +38 -7
  338. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  339. package/lib/esm/appui-react/theme/ThemeManager.js +51 -10
  340. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  341. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  342. package/lib/esm/appui-react/toolbar/Toolbar.js +11 -0
  343. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  344. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +21 -0
  345. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  346. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  347. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  348. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +8 -8
  349. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  350. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts +10 -1
  351. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  352. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +12 -4
  353. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  354. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  355. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +1 -2
  356. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  357. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  358. package/lib/esm/appui-react/tools/OpenSettingsTool.js +1 -2
  359. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  360. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  361. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +2 -3
  362. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  363. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +15 -0
  364. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts.map +1 -1
  365. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +131 -104
  366. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  367. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +10 -4
  368. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  369. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +81 -66
  370. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  371. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +30 -4
  372. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  373. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  374. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +11 -2
  375. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  376. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +9 -1
  377. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  378. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +5 -4
  379. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  380. package/lib/esm/appui-react/uistate/AppUiSettings.js +2 -2
  381. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  382. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +10 -1
  383. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  384. package/lib/esm/appui-react/uistate/useUiStateStorage.js +10 -1
  385. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  386. package/lib/esm/appui-react/utils/matchesWords.d.ts +22 -0
  387. package/lib/esm/appui-react/utils/matchesWords.d.ts.map +1 -0
  388. package/lib/esm/appui-react/utils/matchesWords.js +99 -0
  389. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -0
  390. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  391. package/lib/esm/appui-react/widget-panels/Frontstage.js +27 -15
  392. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  393. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -0
  394. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +4 -1
  395. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  396. package/lib/esm/appui-react/widget-panels/ToolSettings.js +9 -4
  397. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  398. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  399. package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -7
  400. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  401. package/lib/esm/appui-react/widgets/Widget.d.ts +23 -1
  402. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  403. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  404. package/lib/esm/appui-react.d.ts +1 -0
  405. package/lib/esm/appui-react.d.ts.map +1 -1
  406. package/lib/esm/appui-react.js +1 -0
  407. package/lib/esm/appui-react.js.map +1 -1
  408. package/lib/public/locales/en/UiFramework.json +6 -4
  409. package/package.json +13 -11
@@ -7,7 +7,7 @@
7
7
  * @module UiProvider
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.createAbstractUiItemsManagerAdapter = void 0;
10
+ exports.createGetPropertyAdapter = exports.createAbstractUiItemsManagerAdapter = void 0;
11
11
  /* eslint-disable deprecation/deprecation, @typescript-eslint/ban-ts-comment */
12
12
  const abstract = require("@itwin/appui-abstract");
13
13
  const core_bentley_1 = require("@itwin/core-bentley");
@@ -60,14 +60,14 @@ class AbstractUiItemsManagerAdapter {
60
60
  return this._adaptee.registeredProviderIds;
61
61
  }
62
62
  register(provider, overrides) {
63
- const abstractProvider = new UiItemsProviderToAbstractAdapter(provider);
63
+ const abstractProvider = createUiItemsProviderToAbstractAdapter(provider);
64
64
  return this._adaptee.register(abstractProvider, overrides);
65
65
  }
66
66
  getUiItemsProvider(providerId) {
67
67
  const abstractProvider = this._adaptee.getUiItemsProvider(providerId);
68
68
  if (!abstractProvider)
69
69
  return undefined;
70
- const provider = new AbstractToUiItemsProviderAdapter(abstractProvider);
70
+ const provider = createAbstractToUiItemsProviderAdapter(abstractProvider);
71
71
  return provider;
72
72
  }
73
73
  getBackstageItems() {
@@ -139,110 +139,97 @@ class AbstractUiItemsManagerAdapter {
139
139
  return widgets;
140
140
  }
141
141
  }
142
- class UiItemsProviderToAbstractAdapter {
143
- get id() {
144
- return this._adaptee.id;
145
- }
146
- constructor(_adaptee) {
147
- this._adaptee = _adaptee;
148
- }
149
- onUnregister() {
150
- this._adaptee.onUnregister?.();
151
- }
152
- provideBackstageItems() {
153
- if (!this._adaptee.provideBackstageItems)
154
- return [];
155
- const items = this._adaptee.provideBackstageItems();
156
- const abstractItems = items.map((item) => toAbstractBackstageItem(item));
157
- return abstractItems;
158
- }
159
- provideStatusBarItems(stageId, stageUsage, _stageAppData) {
160
- if (!this._adaptee.provideStatusBarItems)
161
- return [];
162
- const items = this._adaptee.provideStatusBarItems(stageId, stageUsage);
163
- const abstractItems = items.map((item) => toAbstractStatusBarItem(item));
164
- return abstractItems;
165
- }
166
- provideToolbarButtonItems(stageId, stageUsage, usage, orientation, _stageAppData) {
167
- if (!this._adaptee.provideToolbarItems)
168
- return [];
169
- const items = this._adaptee.provideToolbarItems(stageId, stageUsage, usage, orientation);
170
- const abstractItems = items.map((item) => toAbstractToolbarItem(item));
171
- return abstractItems;
172
- }
173
- provideWidgets(stageId, stageUsage, abstractLocation, abstractSection, _zoneLocation, _stageAppData) {
174
- if (!this._adaptee.provideWidgets)
175
- return [];
176
- const location = fromAbstractStagePanelLocation(abstractLocation);
177
- const section = abstractSection === undefined
178
- ? undefined
179
- : fromAbstractStagePanelSection(abstractSection);
180
- const widgets = this._adaptee.provideWidgets(stageId, stageUsage, location, section);
181
- const abstractWidgets = widgets.map((widget) => toAbstractWidget(widget));
182
- return abstractWidgets;
183
- }
142
+ function createUiItemsProviderToAbstractAdapter(adaptee) {
143
+ const { id, onUnregister, provideBackstageItems, provideStatusBarItems, provideWidgets, ...other } = adaptee;
144
+ const provider = createGetPropertyAdapter(adaptee);
145
+ return {
146
+ id: adaptee.id,
147
+ onUnregister: adaptee.onUnregister,
148
+ provideBackstageItems: () => {
149
+ const items = provider.provideBackstageItems();
150
+ const abstractItems = items.map((item) => toAbstractBackstageItem(item));
151
+ return abstractItems;
152
+ },
153
+ provideStatusBarItems: (stageId, stageUsage, _stageAppData) => {
154
+ const items = provider.provideStatusBarItems(stageId, stageUsage);
155
+ const abstractItems = items.map((item) => toAbstractStatusBarItem(item));
156
+ return abstractItems;
157
+ },
158
+ provideToolbarButtonItems: (stageId, stageUsage, usage, orientation, _stageAppData) => {
159
+ const items = provider.provideToolbarItems(stageId, stageUsage, usage, orientation);
160
+ const abstractItems = items.map((item) => toAbstractToolbarItem(item));
161
+ return abstractItems;
162
+ },
163
+ provideWidgets: (stageId, stageUsage, abstractLocation, abstractSection, _zoneLocation, _stageAppData) => {
164
+ const location = fromAbstractStagePanelLocation(abstractLocation);
165
+ const section = abstractSection === undefined
166
+ ? undefined
167
+ : fromAbstractStagePanelSection(abstractSection);
168
+ const items = provider.provideWidgets(stageId, stageUsage, location, section);
169
+ const abstractWidgets = items.map((item) => toAbstractWidget(item));
170
+ return abstractWidgets;
171
+ },
172
+ ...other,
173
+ };
184
174
  }
185
- class AbstractToUiItemsProviderAdapter {
186
- get id() {
187
- return this._adaptee.id;
188
- }
189
- constructor(_adaptee) {
190
- this._adaptee = _adaptee;
191
- }
192
- onUnregister() {
193
- this._adaptee.onUnregister?.();
194
- }
195
- provideBackstageItems() {
196
- if (!this._adaptee.provideBackstageItems)
197
- return [];
198
- const abstractItems = this._adaptee.provideBackstageItems();
199
- // @ts-ignore Possibly 'any'
200
- const items = abstractItems.map((abstractItem) => fromAbstractBackstageItem(abstractItem));
201
- return items;
202
- }
203
- provideStatusBarItems(stageId, stageUsage) {
204
- if (!this._adaptee.provideStatusBarItems)
205
- return [];
206
- const abstractItems = this._adaptee.provideStatusBarItems(stageId, stageUsage);
207
- // @ts-ignore Possibly 'any'
208
- const items = abstractItems.map((abstractItem) => fromAbstractStatusBarItem(abstractItem));
209
- return items;
210
- }
211
- provideWidgets(stageId, stageUsage, location, section) {
212
- if (!this._adaptee.provideWidgets)
213
- return [];
214
- const abstractLocations = toAbstractStagePanelLocation(location);
215
- const abstractSections = section === undefined
216
- ? [undefined]
217
- : toAbstractStagePanelSection(section);
218
- const combos = [];
219
- abstractLocations.forEach((abstractLocation) => {
220
- abstractSections.forEach((abstractSection) => {
221
- combos.push([abstractLocation, abstractSection]);
175
+ function createAbstractToUiItemsProviderAdapter(adaptee) {
176
+ const { id, onUnregister, provideBackstageItems, provideStatusBarItems, provideWidgets, ...other } = adaptee;
177
+ return {
178
+ id: adaptee.id,
179
+ onUnregister: adaptee.onUnregister,
180
+ provideBackstageItems: () => {
181
+ if (!adaptee.provideBackstageItems)
182
+ return [];
183
+ const abstractItems = adaptee.provideBackstageItems();
184
+ // @ts-ignore Possibly 'any'
185
+ const items = abstractItems.map((abstractItem) => fromAbstractBackstageItem(abstractItem));
186
+ return items;
187
+ },
188
+ provideStatusBarItems: (stageId, stageUsage) => {
189
+ if (!adaptee.provideStatusBarItems)
190
+ return [];
191
+ const abstractItems = adaptee.provideStatusBarItems(stageId, stageUsage);
192
+ // @ts-ignore Possibly 'any'
193
+ const items = abstractItems.map((abstractItem) => fromAbstractStatusBarItem(abstractItem));
194
+ return items;
195
+ },
196
+ provideWidgets: (stageId, stageUsage, location, section) => {
197
+ if (!adaptee.provideWidgets)
198
+ return [];
199
+ const abstractLocations = toAbstractStagePanelLocation(location);
200
+ const abstractSections = section === undefined
201
+ ? [undefined]
202
+ : toAbstractStagePanelSection(section);
203
+ const combos = [];
204
+ abstractLocations.forEach((abstractLocation) => {
205
+ abstractSections.forEach((abstractSection) => {
206
+ combos.push([abstractLocation, abstractSection]);
207
+ });
222
208
  });
223
- });
224
- let abstractWidgets = combos.reduce((acc, [abstractLocation, abstractSection]) => {
225
- (0, core_bentley_1.assert)(!!this._adaptee.provideWidgets);
226
- const w = this._adaptee.provideWidgets(stageId, stageUsage, abstractLocation, abstractSection);
227
- acc.push(...w);
228
- return acc;
229
- }, []);
230
- abstractWidgets = abstractWidgets.reduce((acc, abstractWidget) => {
231
- if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))
232
- acc.push(abstractWidget);
233
- return acc;
234
- }, []);
235
- const widgets = abstractWidgets.map((abstractWidget) => fromAbstractWidget(abstractWidget));
236
- return widgets;
237
- }
238
- provideToolbarItems(stageId, stageUsage, usage, orientation) {
239
- if (!this._adaptee.provideToolbarButtonItems)
240
- return [];
241
- const abstractItems = this._adaptee.provideToolbarButtonItems(stageId, stageUsage, usage, orientation);
242
- // @ts-ignore Possibly 'any'
243
- const items = abstractItems.map((abstractItem) => fromAbstractToolbarItem(abstractItem));
244
- return items;
245
- }
209
+ let abstractWidgets = combos.reduce((acc, [abstractLocation, abstractSection]) => {
210
+ (0, core_bentley_1.assert)(!!adaptee.provideWidgets);
211
+ const w = adaptee.provideWidgets(stageId, stageUsage, abstractLocation, abstractSection);
212
+ acc.push(...w);
213
+ return acc;
214
+ }, []);
215
+ abstractWidgets = abstractWidgets.reduce((acc, abstractWidget) => {
216
+ if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))
217
+ acc.push(abstractWidget);
218
+ return acc;
219
+ }, []);
220
+ const widgets = abstractWidgets.map((abstractWidget) => fromAbstractWidget(abstractWidget));
221
+ return widgets;
222
+ },
223
+ provideToolbarItems: (stageId, stageUsage, usage, orientation) => {
224
+ if (!adaptee.provideToolbarButtonItems)
225
+ return [];
226
+ const abstractItems = adaptee.provideToolbarButtonItems(stageId, stageUsage, usage, orientation);
227
+ // @ts-ignore Possibly 'any'
228
+ const items = abstractItems.map((abstractItem) => fromAbstractToolbarItem(abstractItem));
229
+ return items;
230
+ },
231
+ ...other,
232
+ };
246
233
  }
247
234
  function toAbstractBackstageItem(item) {
248
235
  let abstractItem = getOriginalData(item);
@@ -530,4 +517,45 @@ function getOriginalData(obj) {
530
517
  function setOriginalData(obj, data) {
531
518
  obj[originalDataSymbol] = data;
532
519
  }
520
+ /** Maps items of existing `get` properties to `provide` properties, otherwise uses `provide` properties.
521
+ * @internal
522
+ */
523
+ function createGetPropertyAdapter(provider) {
524
+ return {
525
+ ...provider,
526
+ provideBackstageItems: () => {
527
+ return (provider.getBackstageItems?.() ??
528
+ provider.provideBackstageItems?.() ??
529
+ []);
530
+ },
531
+ provideStatusBarItems: (stageId, stageUsage) => {
532
+ return (provider.getStatusBarItems?.() ??
533
+ provider.provideStatusBarItems?.(stageId, stageUsage) ??
534
+ []);
535
+ },
536
+ provideToolbarItems: (stageId, stageUsage, usage, orientation) => {
537
+ if (provider.getToolbarItems) {
538
+ return provider.getToolbarItems().filter((item) => {
539
+ const layout = item.layouts?.standard;
540
+ if (!layout)
541
+ return false;
542
+ return layout.usage === usage && layout.orientation === orientation;
543
+ });
544
+ }
545
+ return (provider.provideToolbarItems?.(stageId, stageUsage, usage, orientation) ?? []);
546
+ },
547
+ provideWidgets: (stageId, stageUsage, location, section) => {
548
+ if (provider.getWidgets) {
549
+ return provider.getWidgets().filter((item) => {
550
+ const layout = item.layouts?.standard;
551
+ if (!layout)
552
+ return false;
553
+ return layout.location === location && layout.section === section;
554
+ });
555
+ }
556
+ return (provider.provideWidgets?.(stageId, stageUsage, location, section) ?? []);
557
+ },
558
+ };
559
+ }
560
+ exports.createGetPropertyAdapter = createGetPropertyAdapter;
533
561
  //# sourceMappingURL=AbstractUiItemsManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\n/* eslint-disable deprecation/deprecation, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n ToolbarOrientation as AbstractToolbarOrientation,\n // @ts-ignore Removed in 4.0\n ToolbarUsage as AbstractToolbarUsage,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport type { Widget } from \"../widgets/Widget\";\nimport type { ProviderItem } from \"./ProviderItem\";\nimport type { UiItemsProvider } from \"./UiItemsProvider\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem\";\nimport type { BackstageItem } from \"../backstage/BackstageItem\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem\";\n\nconst _abstract = abstract;\n\n// @ts-ignore Removed in 4.0\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getWidgets\"\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = new UiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = new AbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nclass UiItemsProviderToAbstractAdapter implements AbstractUiItemsProvider {\n public get id(): string {\n return this._adaptee.id;\n }\n\n constructor(private readonly _adaptee: UiItemsProvider) {}\n\n public onUnregister() {\n this._adaptee.onUnregister?.();\n }\n\n public provideBackstageItems() {\n if (!this._adaptee.provideBackstageItems) return [];\n\n const items = this._adaptee.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n }\n\n public provideStatusBarItems(\n stageId: string,\n stageUsage: string,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideStatusBarItems) return [];\n\n const items = this._adaptee.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n }\n\n public provideToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: AbstractToolbarUsage,\n orientation: AbstractToolbarOrientation,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideToolbarItems) return [];\n\n const items = this._adaptee.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n }\n\n public provideWidgets(\n stageId: string,\n stageUsage: string,\n abstractLocation: AbstractStagePanelLocation,\n abstractSection?: AbstractStagePanelSection | undefined,\n _zoneLocation?: any,\n _stageAppData?: any\n ) {\n if (!this._adaptee.provideWidgets) return [];\n\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const widgets = this._adaptee.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = widgets.map((widget) => toAbstractWidget(widget));\n return abstractWidgets;\n }\n}\n\nclass AbstractToUiItemsProviderAdapter implements UiItemsProvider {\n public get id(): string {\n return this._adaptee.id;\n }\n\n constructor(private readonly _adaptee: AbstractUiItemsProvider) {}\n\n public onUnregister() {\n this._adaptee.onUnregister?.();\n }\n\n public provideBackstageItems() {\n if (!this._adaptee.provideBackstageItems) return [];\n\n const abstractItems = this._adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n }\n\n public provideStatusBarItems(stageId: string, stageUsage: string) {\n if (!this._adaptee.provideStatusBarItems) return [];\n\n const abstractItems = this._adaptee.provideStatusBarItems(\n stageId,\n stageUsage\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n }\n\n public provideWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection\n ) {\n if (!this._adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!this._adaptee.provideWidgets);\n const w = this._adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n }\n\n public provideToolbarItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ) {\n if (!this._adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = this._adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n }\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: () => widget.content,\n allowedPanelTargets,\n badgeType: widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: Object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: Object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n"]}
1
+ {"version":3,"file":"AbstractUiItemsManager.js","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/AbstractUiItemsManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module UiProvider\n */\n\n/* eslint-disable deprecation/deprecation, @typescript-eslint/ban-ts-comment */\n\nimport * as abstract from \"@itwin/appui-abstract\";\nimport type { BeUiEvent } from \"@itwin/core-bentley\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { IconSpec } from \"@itwin/core-react\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type {\n // @ts-ignore Removed in 4.0\n BackstageItem as AbstractBackstageItem,\n // @ts-ignore Removed in 4.0\n CommonStatusBarItem as AbstractStatusBarItem,\n CommonToolbarItem as AbstractToolbarItem,\n // @ts-ignore Removed in 4.0\n UiItemsManager as AbstractUiItemsManagerType,\n // @ts-ignore Removed in 4.0\n UiItemsProvider as AbstractUiItemsProvider,\n // @ts-ignore Removed in 4.0\n AbstractWidgetProps as AbstractWidget,\n} from \"@itwin/appui-abstract\";\nimport type {\n UiItemsManager,\n UiItemsProviderOverrides,\n UiItemsProviderRegisteredEventArgs,\n} from \"./UiItemsManager\";\nimport { StagePanelLocation } from \"../stagepanels/StagePanelLocation\";\nimport { StagePanelSection } from \"../stagepanels/StagePanelSection\";\nimport type { Widget } from \"../widgets/Widget\";\nimport type { ProviderItem } from \"./ProviderItem\";\nimport type { UiItemsProvider } from \"./UiItemsProvider\";\nimport type {\n ToolbarItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"../toolbar/ToolbarItem\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n} from \"../toolbar/ToolbarItem\";\nimport type { BackstageItem } from \"../backstage/BackstageItem\";\nimport type { StatusBarItem } from \"../statusbar/StatusBarItem\";\nimport { isStatusBarCustomItem } from \"../statusbar/StatusBarItem\";\n\nconst _abstract = abstract;\n\n// @ts-ignore Removed in 4.0\nconst AbstractUiItemsManager: typeof AbstractUiItemsManagerType | undefined =\n _abstract.UiItemsManager;\n// @ts-ignore Removed in 4.0\nconst isAbstractStatusBarCustomItem = _abstract.isAbstractStatusBarCustomItem;\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelLocation = _abstract.StagePanelLocation;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelLocation = _abstract.StagePanelLocation; // eslint-disable-line @typescript-eslint/no-redeclare\n// @ts-ignore Removed in 4.0\ntype AbstractStagePanelSection = _abstract.StagePanelSection;\n// @ts-ignore Removed in 4.0\nconst AbstractStagePanelSection = _abstract.StagePanelSection; // eslint-disable-line @typescript-eslint/no-redeclare\n\nconst AbstractToolbarItemUtilities = abstract.ToolbarItemUtilities;\n\nconst originalDataSymbol = Symbol(\"originalData\");\n\n/** @internal */\nexport function createAbstractUiItemsManagerAdapter() {\n if (!AbstractUiItemsManager) return undefined;\n return new AbstractUiItemsManagerAdapter(AbstractUiItemsManager);\n}\n\ntype Target = Pick<\n typeof UiItemsManager,\n | \"getWidgets\"\n | \"getToolbarButtonItems\"\n | \"getStatusBarItems\"\n | \"getBackstageItems\"\n | \"register\"\n | \"getUiItemsProvider\"\n | \"registeredProviderIds\"\n | \"hasRegisteredProviders\"\n | \"unregister\"\n | \"onUiProviderRegisteredEvent\"\n | \"clearAllProviders\"\n>;\n\nclass AbstractUiItemsManagerAdapter implements Target {\n constructor(private readonly _adaptee: typeof AbstractUiItemsManagerType) {}\n\n public clearAllProviders(): void {\n return this._adaptee.clearAllProviders();\n }\n\n public get onUiProviderRegisteredEvent(): BeUiEvent<UiItemsProviderRegisteredEventArgs> {\n if (!(\"emit\" in this._adaptee.onUiProviderRegisteredEvent)) {\n (this._adaptee.onUiProviderRegisteredEvent as any).emit = (\n args: UiItemsProviderRegisteredEventArgs\n ) => {\n this._adaptee.onUiProviderRegisteredEvent.raiseEvent(args);\n };\n }\n return this._adaptee\n .onUiProviderRegisteredEvent as BeUiEvent<UiItemsProviderRegisteredEventArgs>;\n }\n\n public unregister(providerId: string): void {\n return this._adaptee.unregister(providerId);\n }\n\n public get hasRegisteredProviders(): boolean {\n return this._adaptee.hasRegisteredProviders;\n }\n\n public get registeredProviderIds(): string[] {\n return this._adaptee.registeredProviderIds;\n }\n\n public register(\n provider: UiItemsProvider,\n overrides?: UiItemsProviderOverrides | undefined\n ): void {\n const abstractProvider = createUiItemsProviderToAbstractAdapter(provider);\n return this._adaptee.register(abstractProvider, overrides);\n }\n\n public getUiItemsProvider(providerId: string): UiItemsProvider | undefined {\n const abstractProvider = this._adaptee.getUiItemsProvider(providerId);\n if (!abstractProvider) return undefined;\n\n const provider = createAbstractToUiItemsProviderAdapter(abstractProvider);\n return provider;\n }\n\n public getBackstageItems(): readonly ProviderItem<BackstageItem>[] {\n const abstractItems = this._adaptee.getBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractBackstageItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getStatusBarItems(\n stageId: string,\n stageUsage: string\n ): readonly ProviderItem<StatusBarItem>[] {\n const abstractItems = this._adaptee.getStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractStatusBarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ? abstractItem.providerId : \"\",\n };\n });\n return items;\n }\n\n public getToolbarButtonItems(\n stageId: string,\n stageUsage: string,\n usage: ToolbarUsage,\n orientation: ToolbarOrientation\n ): readonly ProviderItem<ToolbarItem>[] {\n const abstractItems = this._adaptee.getToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) => {\n const item = fromAbstractToolbarItem(abstractItem);\n return {\n ...item,\n providerId: abstractItem.providerId ?? \"\",\n };\n });\n return items;\n }\n\n public getWidgets(\n stageId: string,\n stageUsage: string,\n location: StagePanelLocation,\n section?: StagePanelSection | undefined\n ): readonly ProviderItem<Widget>[] {\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n const w = this._adaptee.getWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets\n // @ts-ignore Possibly 'any'\n .map((abstractWidget) => {\n const widget = fromAbstractWidget(abstractWidget);\n return {\n ...widget,\n providerId: abstractWidget.providerId ?? \"\",\n };\n });\n return widgets;\n }\n}\n\nfunction createUiItemsProviderToAbstractAdapter(\n adaptee: UiItemsProvider\n): AbstractUiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n const provider = createGetPropertyAdapter(adaptee);\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n const items = provider.provideBackstageItems();\n const abstractItems = items.map((item) => toAbstractBackstageItem(item));\n return abstractItems;\n },\n provideStatusBarItems: (stageId, stageUsage, _stageAppData) => {\n const items = provider.provideStatusBarItems(stageId, stageUsage);\n const abstractItems = items.map((item) => toAbstractStatusBarItem(item));\n return abstractItems;\n },\n provideToolbarButtonItems: (\n stageId,\n stageUsage,\n usage,\n orientation,\n _stageAppData\n ) => {\n const items = provider.provideToolbarItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n const abstractItems = items.map((item) => toAbstractToolbarItem(item));\n return abstractItems;\n },\n provideWidgets: (\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection,\n _zoneLocation,\n _stageAppData\n ) => {\n const location = fromAbstractStagePanelLocation(abstractLocation);\n const section =\n abstractSection === undefined\n ? undefined\n : fromAbstractStagePanelSection(abstractSection);\n const items = provider.provideWidgets(\n stageId,\n stageUsage,\n location,\n section\n );\n const abstractWidgets = items.map((item) => toAbstractWidget(item));\n return abstractWidgets;\n },\n ...other,\n };\n}\n\nfunction createAbstractToUiItemsProviderAdapter(\n adaptee: AbstractUiItemsProvider\n): UiItemsProvider {\n const {\n id,\n onUnregister,\n provideBackstageItems,\n provideStatusBarItems,\n provideWidgets,\n ...other\n } = adaptee;\n return {\n id: adaptee.id,\n onUnregister: adaptee.onUnregister,\n provideBackstageItems: () => {\n if (!adaptee.provideBackstageItems) return [];\n\n const abstractItems = adaptee.provideBackstageItems();\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractBackstageItem(abstractItem)\n );\n return items;\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n if (!adaptee.provideStatusBarItems) return [];\n\n const abstractItems = adaptee.provideStatusBarItems(stageId, stageUsage);\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractStatusBarItem(abstractItem)\n );\n return items;\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (!adaptee.provideWidgets) return [];\n\n const abstractLocations = toAbstractStagePanelLocation(location);\n const abstractSections =\n section === undefined\n ? ([undefined] as const)\n : toAbstractStagePanelSection(section);\n const combos: [\n AbstractStagePanelLocation,\n AbstractStagePanelSection | undefined\n ][] = [];\n abstractLocations.forEach((abstractLocation) => {\n abstractSections.forEach((abstractSection) => {\n combos.push([abstractLocation, abstractSection]);\n });\n });\n let abstractWidgets = combos.reduce<AbstractWidget[]>(\n (acc, [abstractLocation, abstractSection]) => {\n assert(!!adaptee.provideWidgets);\n const w = adaptee.provideWidgets(\n stageId,\n stageUsage,\n abstractLocation,\n abstractSection\n );\n acc.push(...w);\n return acc;\n },\n []\n );\n abstractWidgets = abstractWidgets.reduce<AbstractWidget[]>(\n (acc, abstractWidget) => {\n if (-1 === acc.findIndex((w) => w.id === abstractWidget.id))\n acc.push(abstractWidget);\n return acc;\n },\n []\n );\n const widgets = abstractWidgets.map((abstractWidget) =>\n fromAbstractWidget(abstractWidget)\n );\n return widgets;\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (!adaptee.provideToolbarButtonItems) return [];\n\n const abstractItems = adaptee.provideToolbarButtonItems(\n stageId,\n stageUsage,\n usage,\n orientation\n );\n // @ts-ignore Possibly 'any'\n const items = abstractItems.map((abstractItem) =>\n fromAbstractToolbarItem(abstractItem)\n );\n return items;\n },\n ...other,\n };\n}\n\nfunction toAbstractBackstageItem(item: BackstageItem): AbstractBackstageItem {\n let abstractItem = getOriginalData<AbstractBackstageItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractStatusBarItem(item: StatusBarItem): AbstractStatusBarItem {\n let abstractItem = getOriginalData<AbstractStatusBarItem>(item);\n if (abstractItem) return abstractItem;\n\n if (isStatusBarCustomItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n reactNode: item.content,\n } as AbstractStatusBarItem;\n } else {\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractToolbarItem(item: ToolbarItem): AbstractToolbarItem {\n let abstractItem = getOriginalData<AbstractToolbarItem>(item);\n if (abstractItem) return abstractItem;\n\n const internalData = new Map();\n const icon = IconHelper.getIconData(item.icon, internalData);\n if (isToolbarActionItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n };\n } else if (isToolbarGroupItem(item)) {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n icon,\n internalData,\n parentToolGroupId: item.parentGroupItemId,\n items: item.items.map((i) => toAbstractToolbarItem(i)) as any,\n };\n } else {\n abstractItem = {\n ...item,\n badgeType: item.badge,\n isCustom: true,\n icon,\n internalData,\n };\n }\n setOriginalData(abstractItem, item);\n return abstractItem;\n}\n\nfunction toAbstractWidget(widget: Widget): AbstractWidget {\n let abstractWidget = getOriginalData<AbstractWidget>(widget);\n if (abstractWidget) return abstractWidget;\n\n const allowedPanelTargets = widget.allowedPanels\n // @ts-ignore Possibly 'any'\n ?.map((location) => {\n const map = {\n [StagePanelLocation.Top]: \"top\" as const,\n [StagePanelLocation.Left]: \"left\" as const,\n [StagePanelLocation.Right]: \"right\" as const,\n [StagePanelLocation.Bottom]: \"bottom\" as const,\n };\n // @ts-ignore Possibly 'any'\n return map[location];\n });\n const internalData = new Map();\n const icon = IconHelper.getIconData(widget.icon, internalData);\n abstractWidget = {\n ...widget,\n id: widget.id ?? \"\",\n getWidgetContent: () => widget.content,\n allowedPanelTargets,\n badgeType: widget.badge,\n defaultFloatingPosition:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultPosition\n : undefined,\n defaultFloatingSize:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.defaultSize\n : undefined,\n floatingContainerId:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.containerId\n : undefined,\n hideWithUiWhenFloating:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.hideWithUi\n : undefined,\n isFloatingStateSupported: !!widget.canFloat,\n isFloatingStateWindowResizable:\n typeof widget.canFloat === \"object\"\n ? widget.canFloat.isResizable\n : undefined,\n icon,\n internalData,\n };\n setOriginalData(abstractWidget, widget);\n return abstractWidget;\n}\n\nfunction fromAbstractBackstageItem(\n abstractItem: AbstractBackstageItem\n): BackstageItem {\n let item = getOriginalData<BackstageItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractStatusBarItem(\n abstractItem: AbstractStatusBarItem\n): StatusBarItem {\n let item = getOriginalData<StatusBarItem>(abstractItem);\n if (item) return item;\n\n if (isAbstractStatusBarCustomItem(abstractItem)) {\n const content: React.ReactNode | undefined = (abstractItem as any)\n .reactNode;\n return {\n ...abstractItem,\n badge: abstractItem.badgeType,\n content,\n };\n } else {\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n }\n assert(!!item);\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractToolbarItem(\n abstractItem: AbstractToolbarItem\n): ToolbarItem {\n let item = getOriginalData<ToolbarItem>(abstractItem);\n if (item) return item;\n\n const icon = fromAbstractIcon(abstractItem.icon, abstractItem.internalData);\n if (AbstractToolbarItemUtilities.isCustomDefinition(abstractItem)) {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n icon,\n };\n } else {\n item = {\n ...abstractItem,\n badge: abstractItem.badgeType,\n parentGroupItemId: abstractItem.parentToolGroupId,\n icon,\n };\n }\n setOriginalData(item, abstractItem);\n return item;\n}\n\nfunction fromAbstractWidget(abstractWidget: AbstractWidget): Widget {\n let widget = getOriginalData<Widget>(abstractWidget);\n if (widget) return widget;\n\n const allowedPanels = abstractWidget.allowedPanelTargets\n // @ts-ignore Possibly 'any'\n ?.map((target) => {\n const map = {\n top: StagePanelLocation.Top,\n left: StagePanelLocation.Left,\n right: StagePanelLocation.Right,\n bottom: StagePanelLocation.Bottom,\n };\n // @ts-ignore Possibly 'any'\n return map[target];\n });\n const icon = fromAbstractIcon(\n abstractWidget.icon,\n abstractWidget.internalData\n );\n widget = {\n ...abstractWidget,\n id: abstractWidget.id ?? \"\",\n content: abstractWidget.getWidgetContent(),\n allowedPanels,\n badge: abstractWidget.badgeType,\n canFloat: abstractWidget.isFloatingStateSupported && {\n containerId: abstractWidget.floatingContainerId,\n defaultPosition: abstractWidget.defaultFloatingPosition,\n defaultSize: abstractWidget.defaultFloatingSize,\n hideWithUi: abstractWidget.hideWithUiWhenFloating,\n isResizable: abstractWidget.isFloatingStateWindowResizable,\n },\n icon,\n };\n assert(!!widget);\n setOriginalData(widget, abstractWidget);\n return widget;\n}\n\nfunction fromAbstractStagePanelLocation(\n location: AbstractStagePanelLocation\n): StagePanelLocation {\n switch (location) {\n case AbstractStagePanelLocation.Left:\n return StagePanelLocation.Left;\n case AbstractStagePanelLocation.Top:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.TopMost:\n return StagePanelLocation.Top;\n case AbstractStagePanelLocation.Bottom:\n return StagePanelLocation.Bottom;\n case AbstractStagePanelLocation.BottomMost:\n return StagePanelLocation.Bottom;\n }\n return StagePanelLocation.Right;\n}\n\nfunction toAbstractStagePanelLocation(\n location: StagePanelLocation\n): AbstractStagePanelLocation[] {\n switch (location) {\n case StagePanelLocation.Left:\n return [AbstractStagePanelLocation.Left];\n case StagePanelLocation.Top:\n return [\n AbstractStagePanelLocation.Top,\n AbstractStagePanelLocation.TopMost,\n ];\n case StagePanelLocation.Bottom:\n return [\n AbstractStagePanelLocation.Bottom,\n AbstractStagePanelLocation.BottomMost,\n ];\n }\n return [AbstractStagePanelLocation.Right];\n}\n\nfunction fromAbstractStagePanelSection(\n section: AbstractStagePanelSection\n): StagePanelSection {\n switch (section) {\n case AbstractStagePanelSection.End:\n return StagePanelSection.End;\n }\n return StagePanelSection.Start;\n}\n\nfunction toAbstractStagePanelSection(\n section: StagePanelSection\n): AbstractStagePanelSection[] {\n switch (section) {\n case StagePanelSection.End:\n return [AbstractStagePanelSection.End];\n }\n return [AbstractStagePanelSection.Start, AbstractStagePanelSection.Middle];\n}\n\nfunction fromAbstractIcon(\n icon: string | abstract.ConditionalStringValue | undefined,\n internalData: Map<string, any> | undefined\n): IconSpec {\n if (!icon) return undefined;\n const iconString = abstract.ConditionalStringValue.getValue(icon);\n if (!iconString) return undefined;\n if (iconString === IconHelper.reactIconKey && internalData)\n return internalData.get(IconHelper.reactIconKey) as React.ReactNode;\n return iconString;\n}\n\nfunction getOriginalData<TData>(obj: Object): TData | undefined {\n const originalData = (obj as any)[originalDataSymbol];\n if (!originalData) return undefined;\n return originalData;\n}\n\nfunction setOriginalData<TData>(obj: Object, data: TData) {\n (obj as any)[originalDataSymbol] = data;\n}\n\n/** Maps items of existing `get` properties to `provide` properties, otherwise uses `provide` properties.\n * @internal\n */\nexport function createGetPropertyAdapter(provider: UiItemsProvider) {\n return {\n ...provider,\n provideBackstageItems: () => {\n return (\n provider.getBackstageItems?.() ??\n provider.provideBackstageItems?.() ??\n []\n );\n },\n provideStatusBarItems: (stageId, stageUsage) => {\n return (\n provider.getStatusBarItems?.() ??\n provider.provideStatusBarItems?.(stageId, stageUsage) ??\n []\n );\n },\n provideToolbarItems: (stageId, stageUsage, usage, orientation) => {\n if (provider.getToolbarItems) {\n return provider.getToolbarItems().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.usage === usage && layout.orientation === orientation;\n });\n }\n return (\n provider.provideToolbarItems?.(\n stageId,\n stageUsage,\n usage,\n orientation\n ) ?? []\n );\n },\n provideWidgets: (stageId, stageUsage, location, section) => {\n if (provider.getWidgets) {\n return provider.getWidgets().filter((item) => {\n const layout = item.layouts?.standard;\n if (!layout) return false;\n return layout.location === location && layout.section === section;\n });\n }\n return (\n provider.provideWidgets?.(stageId, stageUsage, location, section) ?? []\n );\n },\n } satisfies UiItemsProvider;\n}\n"]}
@@ -7,7 +7,8 @@ import type { BackstageItem } from "../backstage/BackstageItem";
7
7
  import type { StagePanelLocation } from "../stagepanels/StagePanelLocation";
8
8
  import type { StagePanelSection } from "../stagepanels/StagePanelSection";
9
9
  import type { StatusBarItem } from "../statusbar/StatusBarItem";
10
- import type { ToolbarItem, ToolbarOrientation, ToolbarUsage } from "../toolbar/ToolbarItem";
10
+ import type { ToolbarItem } from "../toolbar/ToolbarItem";
11
+ import type { ToolbarOrientation, ToolbarUsage } from "../toolbar/ToolbarItem";
11
12
  import type { Widget } from "../widgets/Widget";
12
13
  import type { ProviderItem } from "./ProviderItem";
13
14
  import type { UiItemsProvider } from "./UiItemsProvider";
@@ -41,6 +42,10 @@ export declare class UiItemsManager {
41
42
  private static _registeredUiItemsProviders;
42
43
  private static _onUiProviderRegisteredEvent;
43
44
  private static _abstractAdapter;
45
+ /** For use in unit testing
46
+ * @internal
47
+ */
48
+ static useAbstractAdapter(useAbstractAdapter: boolean): void;
44
49
  /** For use in unit testing
45
50
  * @internal */
46
51
  static clearAllProviders(): void;
@@ -59,6 +64,7 @@ export declare class UiItemsManager {
59
64
  /**
60
65
  * Registers a UiItemsProvider with the UiItemsManager.
61
66
  * @param uiProvider the UI items provider to register.
67
+ * @param overrides the UI items provider to register.
62
68
  */
63
69
  static register(uiProvider: UiItemsProvider, overrides?: UiItemsProviderOverrides): void;
64
70
  /** Remove a specific UiItemsProvider from the list of available providers. */
@@ -66,7 +72,7 @@ export declare class UiItemsManager {
66
72
  private static allowItemsFromProvider;
67
73
  /** Called when the application is populating a toolbar so that any registered UiItemsProvider can add tool buttons that either either execute
68
74
  * an action or specify a registered ToolId into toolbar.
69
- * @param stageId a string identifier the active stage.
75
+ * @param stageId a string identifier of the active stage.
70
76
  * @param stageUsage the StageUsage of the active stage.
71
77
  * @param usage usage of the toolbar
72
78
  * @param orientation orientation of the toolbar
@@ -74,7 +80,7 @@ export declare class UiItemsManager {
74
80
  */
75
81
  static getToolbarButtonItems(stageId: string, stageUsage: string, usage: ToolbarUsage, orientation: ToolbarOrientation): ReadonlyArray<ProviderItem<ToolbarItem>>;
76
82
  /** Called when the application is populating the statusbar so that any registered UiItemsProvider can add status fields
77
- * @param stageId a string identifier the active stage.
83
+ * @param stageId a string identifier of the active stage.
78
84
  * @param stageUsage the StageUsage of the active stage.
79
85
  * @returns An array of CommonStatusBarItem that will be used to create controls for the status bar.
80
86
  */
@@ -84,7 +90,7 @@ export declare class UiItemsManager {
84
90
  */
85
91
  static getBackstageItems(): ReadonlyArray<ProviderItem<BackstageItem>>;
86
92
  /** Called when the application is populating the Stage Panels so that any registered UiItemsProvider can add widgets
87
- * @param stageId a string identifier the active stage.
93
+ * @param stageId a string identifier of the active stage.
88
94
  * @param stageUsage the StageUsage of the active stage.
89
95
  * @param location the location within the stage.
90
96
  * @param section the section within location.
@@ -1 +1 @@
1
- {"version":3,"file":"UiItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/UiItemsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiItemsManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/ui-items-provider/UiItemsManager.ts"],"names":[],"mappings":"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"}