@itwin/appui-react 5.0.5 → 5.2.0

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 (530) hide show
  1. package/CHANGELOG.md +57 -38
  2. package/lib/appui-react/UiFramework.d.ts +1 -1
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +48 -46
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/accudraw/AccuDrawCommandItems.js +1 -1
  7. package/lib/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  8. package/lib/appui-react/accudraw/AccuDrawDialog.js +1 -1
  9. package/lib/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  10. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts +2 -0
  11. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  12. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +38 -26
  13. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  14. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts +4 -2
  15. package/lib/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  16. package/lib/appui-react/accudraw/AccuDrawInputField.js +45 -38
  17. package/lib/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  18. package/lib/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  19. package/lib/appui-react/accudraw/AccuDrawPopupManager.js +3 -3
  20. package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  21. package/lib/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  22. package/lib/appui-react/accudraw/AccuDrawWidget.js +2 -2
  23. package/lib/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  24. package/lib/appui-react/accudraw/Calculator.js +1 -1
  25. package/lib/appui-react/accudraw/Calculator.js.map +1 -1
  26. package/lib/appui-react/accudraw/CalculatorPopup.js +1 -1
  27. package/lib/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  28. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts +2 -2
  29. package/lib/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  30. package/lib/appui-react/accudraw/FrameworkAccuDraw.js +18 -15
  31. package/lib/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  32. package/lib/appui-react/accudraw/MenuButton.js +1 -1
  33. package/lib/appui-react/accudraw/MenuButton.js.map +1 -1
  34. package/lib/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  35. package/lib/appui-react/backstage/BackstageComposer.js +2 -3
  36. package/lib/appui-react/backstage/BackstageComposer.js.map +1 -1
  37. package/lib/appui-react/backstage/BackstageComposerItem.js +6 -6
  38. package/lib/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  39. package/lib/appui-react/backstage/BackstageItem.js.map +1 -1
  40. package/lib/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  41. package/lib/appui-react/backstage/BackstageManager.js +3 -3
  42. package/lib/appui-react/backstage/BackstageManager.js.map +1 -1
  43. package/lib/appui-react/backstage/InternalBackstageManager.js +2 -2
  44. package/lib/appui-react/backstage/InternalBackstageManager.js.map +1 -1
  45. package/lib/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  46. package/lib/appui-react/configurableui/ActivityTracker.js +0 -1
  47. package/lib/appui-react/configurableui/ActivityTracker.js.map +1 -1
  48. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +3 -1
  49. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  50. package/lib/appui-react/configurableui/ConfigurableUiContent.js +20 -12
  51. package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  52. package/lib/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  53. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts +1 -1
  54. package/lib/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  55. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  56. package/lib/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  57. package/lib/appui-react/content/ContentControl.js +1 -1
  58. package/lib/appui-react/content/ContentControl.js.map +1 -1
  59. package/lib/appui-react/content/ContentGroup.js +7 -7
  60. package/lib/appui-react/content/ContentGroup.js.map +1 -1
  61. package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
  62. package/lib/appui-react/content/ContentLayout.js +16 -17
  63. package/lib/appui-react/content/ContentLayout.js.map +1 -1
  64. package/lib/appui-react/content/DefaultViewOverlay.js +1 -1
  65. package/lib/appui-react/content/DefaultViewOverlay.js.map +1 -1
  66. package/lib/appui-react/content/FloatingViewportContent.js +4 -4
  67. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  68. package/lib/appui-react/content/IModelViewport.d.ts +1 -1
  69. package/lib/appui-react/content/IModelViewport.d.ts.map +1 -1
  70. package/lib/appui-react/content/IModelViewport.js +1 -1
  71. package/lib/appui-react/content/IModelViewport.js.map +1 -1
  72. package/lib/appui-react/content/InternalContentViewManager.js +26 -26
  73. package/lib/appui-react/content/InternalContentViewManager.js.map +1 -1
  74. package/lib/appui-react/content/ViewportContentControl.js +1 -1
  75. package/lib/appui-react/content/ViewportContentControl.js.map +1 -1
  76. package/lib/appui-react/content/split-pane/SplitPane.js +2 -2
  77. package/lib/appui-react/content/split-pane/SplitPane.js.map +1 -1
  78. package/lib/appui-react/cursor/CursorInformation.d.ts +7 -0
  79. package/lib/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  80. package/lib/appui-react/cursor/CursorInformation.js +15 -2
  81. package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
  82. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -1
  83. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  84. package/lib/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  85. package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  86. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts +1 -1
  87. package/lib/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  88. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js +4 -4
  89. package/lib/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  90. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +4 -1
  91. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  92. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +45 -30
  93. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  94. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +12 -15
  95. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  96. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +47 -38
  97. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  98. package/lib/appui-react/dialog/ContentDialog.js.map +1 -1
  99. package/lib/appui-react/dialog/ContentDialogManager.js +2 -2
  100. package/lib/appui-react/dialog/ContentDialogManager.js.map +1 -1
  101. package/lib/appui-react/dialog/DialogManagerBase.js +4 -4
  102. package/lib/appui-react/dialog/DialogManagerBase.js.map +1 -1
  103. package/lib/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  104. package/lib/appui-react/dialog/InternalContentDialogManager.js +2 -3
  105. package/lib/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  106. package/lib/appui-react/dialog/InternalModalDialogManager.js +1 -1
  107. package/lib/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  108. package/lib/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  109. package/lib/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  110. package/lib/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  111. package/lib/appui-react/dialog/ModalDialogManager.js +2 -2
  112. package/lib/appui-react/dialog/ModalDialogManager.js.map +1 -1
  113. package/lib/appui-react/dialog/ModelessDialog.js +1 -1
  114. package/lib/appui-react/dialog/ModelessDialog.js.map +1 -1
  115. package/lib/appui-react/dialog/ModelessDialogManager.d.ts.map +1 -1
  116. package/lib/appui-react/dialog/ModelessDialogManager.js +2 -3
  117. package/lib/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  118. package/lib/appui-react/dialog/StandardMessageBox.js +1 -1
  119. package/lib/appui-react/dialog/StandardMessageBox.js.map +1 -1
  120. package/lib/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  121. package/lib/appui-react/feedback/ElementTooltip.d.ts +1 -1
  122. package/lib/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  123. package/lib/appui-react/feedback/ElementTooltip.js.map +1 -1
  124. package/lib/appui-react/feedback/ValidationTextbox.js.map +1 -1
  125. package/lib/appui-react/framework/FrameworkBackstage.js.map +1 -1
  126. package/lib/appui-react/framework/FrameworkContent.js +3 -3
  127. package/lib/appui-react/framework/FrameworkContent.js.map +1 -1
  128. package/lib/appui-react/framework/FrameworkControls.js.map +1 -1
  129. package/lib/appui-react/framework/FrameworkDialogs.js +2 -2
  130. package/lib/appui-react/framework/FrameworkDialogs.js.map +1 -1
  131. package/lib/appui-react/framework/FrameworkFrontstages.js +8 -8
  132. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  133. package/lib/appui-react/framework/FrameworkKeyboardShortcuts.js.map +1 -1
  134. package/lib/appui-react/framework/FrameworkToolSettings.js +1 -1
  135. package/lib/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  136. package/lib/appui-react/frontstage/Frontstage.js.map +1 -1
  137. package/lib/appui-react/frontstage/FrontstageConfig.d.ts +5 -2
  138. package/lib/appui-react/frontstage/FrontstageConfig.d.ts.map +1 -1
  139. package/lib/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  140. package/lib/appui-react/frontstage/FrontstageDef.d.ts +5 -1
  141. package/lib/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  142. package/lib/appui-react/frontstage/FrontstageDef.js +22 -17
  143. package/lib/appui-react/frontstage/FrontstageDef.js.map +1 -1
  144. package/lib/appui-react/frontstage/InternalFrontstageManager.js +29 -29
  145. package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  146. package/lib/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  147. package/lib/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  148. package/lib/appui-react/frontstage/ModalSettingsStage.js +2 -2
  149. package/lib/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  150. package/lib/appui-react/frontstage/NestedFrontstage.js +1 -1
  151. package/lib/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  152. package/lib/appui-react/frontstage/StandardFrontstageProvider.js +1 -1
  153. package/lib/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  154. package/lib/appui-react/hooks/useActiveIModelConnection.js +1 -1
  155. package/lib/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  156. package/lib/appui-react/hooks/useUiVisibility.js +1 -1
  157. package/lib/appui-react/hooks/useUiVisibility.js.map +1 -1
  158. package/lib/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  159. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js +1 -1
  160. package/lib/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  161. package/lib/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  162. package/lib/appui-react/keyboardshortcut/KeyboardShortcutProps.js.map +1 -1
  163. package/lib/appui-react/layout/StandardLayout.d.ts.map +1 -1
  164. package/lib/appui-react/layout/StandardLayout.js +5 -1
  165. package/lib/appui-react/layout/StandardLayout.js.map +1 -1
  166. package/lib/appui-react/layout/backstage/Backstage.js.map +1 -1
  167. package/lib/appui-react/layout/backstage/Item.js.map +1 -1
  168. package/lib/appui-react/layout/backstage/Separator.js +1 -1
  169. package/lib/appui-react/layout/backstage/Separator.js.map +1 -1
  170. package/lib/appui-react/layout/base/usePointerCaptor.d.ts +1 -1
  171. package/lib/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  172. package/lib/appui-react/layout/footer/dialog/Dialog.js.map +1 -1
  173. package/lib/appui-react/layout/footer/dialog/TitleBar.js.map +1 -1
  174. package/lib/appui-react/layout/footer/snap-mode/Panel.js.map +1 -1
  175. package/lib/appui-react/layout/footer/snap-mode/Snap.js.map +1 -1
  176. package/lib/appui-react/layout/footer/tool-assistance/Dialog.js.map +1 -1
  177. package/lib/appui-react/layout/footer/tool-assistance/Instruction.js.map +1 -1
  178. package/lib/appui-react/layout/footer/tool-assistance/Item.js.map +1 -1
  179. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js +1 -1
  180. package/lib/appui-react/layout/footer/tool-assistance/NewDot.js.map +1 -1
  181. package/lib/appui-react/layout/footer/tool-assistance/Separator.js.map +1 -1
  182. package/lib/appui-react/layout/outline/SectionOutline.js.map +1 -1
  183. package/lib/appui-react/layout/popup/Tooltip.js.map +1 -1
  184. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js +1 -1
  185. package/lib/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  186. package/lib/appui-react/layout/state/internal/TabStateHelpers.js +6 -6
  187. package/lib/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  188. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -6
  189. package/lib/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  190. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js +13 -13
  191. package/lib/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  192. package/lib/appui-react/layout/target/TargetContainer.js.map +1 -1
  193. package/lib/appui-react/layout/target/useAllowedSideTarget.js +1 -1
  194. package/lib/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  195. package/lib/appui-react/layout/tool-settings/Docked.js +1 -1
  196. package/lib/appui-react/layout/tool-settings/Docked.js.map +1 -1
  197. package/lib/appui-react/layout/tool-settings/Handle.js.map +1 -1
  198. package/lib/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  199. package/lib/appui-react/layout/tool-settings/Panel.js +1 -1
  200. package/lib/appui-react/layout/tool-settings/Panel.js.map +1 -1
  201. package/lib/appui-react/layout/tool-settings/Setting.js.map +1 -1
  202. package/lib/appui-react/layout/widget/Menu.js +1 -1
  203. package/lib/appui-react/layout/widget/Menu.js.map +1 -1
  204. package/lib/appui-react/layout/widget/MenuTab.js.map +1 -1
  205. package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
  206. package/lib/appui-react/layout/widget/Tab.js +1 -1
  207. package/lib/appui-react/layout/widget/Tab.js.map +1 -1
  208. package/lib/appui-react/layout/widget/TabBar.js +1 -1
  209. package/lib/appui-react/layout/widget/TabBar.js.map +1 -1
  210. package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
  211. package/lib/appui-react/layout/widget/Widget.js.map +1 -1
  212. package/lib/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  213. package/lib/appui-react/layout/widget/tools/button/Expandable.js.map +1 -1
  214. package/lib/appui-react/layout/widget-panels/Expander.js +1 -1
  215. package/lib/appui-react/layout/widget-panels/Expander.js.map +1 -1
  216. package/lib/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  217. package/lib/appui-react/layout/widget-panels/Grip.js +3 -3
  218. package/lib/appui-react/layout/widget-panels/Grip.js.map +1 -1
  219. package/lib/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  220. package/lib/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
  221. package/lib/appui-react/messages/InputField.js +2 -2
  222. package/lib/appui-react/messages/InputField.js.map +1 -1
  223. package/lib/appui-react/messages/MessageManager.d.ts +4 -4
  224. package/lib/appui-react/messages/MessageManager.d.ts.map +1 -1
  225. package/lib/appui-react/messages/MessageManager.js +25 -25
  226. package/lib/appui-react/messages/MessageManager.js.map +1 -1
  227. package/lib/appui-react/messages/MessageRenderer.js.map +1 -1
  228. package/lib/appui-react/messages/Pointer.d.ts.map +1 -1
  229. package/lib/appui-react/messages/Pointer.js +7 -7
  230. package/lib/appui-react/messages/Pointer.js.map +1 -1
  231. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts +2 -2
  232. package/lib/appui-react/messages/ReactNotifyMessageDetails.d.ts.map +1 -1
  233. package/lib/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  234. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js +2 -2
  235. package/lib/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  236. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js +2 -2
  237. package/lib/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  238. package/lib/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  239. package/lib/appui-react/navigationaids/SheetNavigationAid.js +2 -2
  240. package/lib/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  241. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js +8 -8
  242. package/lib/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  243. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +1 -1
  244. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  245. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js +3 -3
  246. package/lib/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  247. package/lib/appui-react/pickers/ListPicker.d.ts +1 -0
  248. package/lib/appui-react/pickers/ListPicker.d.ts.map +1 -1
  249. package/lib/appui-react/pickers/ListPicker.js +11 -10
  250. package/lib/appui-react/pickers/ListPicker.js.map +1 -1
  251. package/lib/appui-react/pickers/ViewSelector.d.ts +1 -0
  252. package/lib/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  253. package/lib/appui-react/pickers/ViewSelector.js +7 -6
  254. package/lib/appui-react/pickers/ViewSelector.js.map +1 -1
  255. package/lib/appui-react/popup/CardPopup.js +2 -2
  256. package/lib/appui-react/popup/CardPopup.js.map +1 -1
  257. package/lib/appui-react/popup/ComponentPopup.js.map +1 -1
  258. package/lib/appui-react/popup/HTMLElementPopup.js.map +1 -1
  259. package/lib/appui-react/popup/InputEditorPopup.js.map +1 -1
  260. package/lib/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  261. package/lib/appui-react/popup/KeyinPalettePanel.js +2 -3
  262. package/lib/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  263. package/lib/appui-react/popup/KeyinPalettePopup.js +1 -1
  264. package/lib/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  265. package/lib/appui-react/popup/PopupManager.d.ts +1 -1
  266. package/lib/appui-react/popup/PopupManager.d.ts.map +1 -1
  267. package/lib/appui-react/popup/PopupManager.js +4 -4
  268. package/lib/appui-react/popup/PopupManager.js.map +1 -1
  269. package/lib/appui-react/popup/PositionPopup.js +2 -2
  270. package/lib/appui-react/popup/PositionPopup.js.map +1 -1
  271. package/lib/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  272. package/lib/appui-react/popup/ToolbarPopup.js +1 -1
  273. package/lib/appui-react/popup/ToolbarPopup.js.map +1 -1
  274. package/lib/appui-react/preview/PreviewFeatures.d.ts +3 -5
  275. package/lib/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  276. package/lib/appui-react/preview/PreviewFeatures.js +1 -2
  277. package/lib/appui-react/preview/PreviewFeatures.js.map +1 -1
  278. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts +5 -0
  279. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.d.ts.map +1 -0
  280. package/lib/appui-react/preview/{allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js → allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js} +5 -5
  281. package/lib/appui-react/preview/allow-bearing-letters-in-accudraw-input-fields/useAllowBearingLettersInAccuDrawInputFields.js.map +1 -0
  282. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +1 -1
  283. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -1
  284. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js +1 -1
  285. package/lib/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -1
  286. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +1 -1
  287. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -1
  288. package/lib/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -1
  289. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts +1 -4
  290. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -1
  291. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +13 -13
  292. package/lib/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  293. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +1 -1
  294. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -1
  295. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +1 -1
  296. package/lib/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -1
  297. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +1 -1
  298. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  299. package/lib/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  300. package/lib/appui-react/redux/ConfigurableUiState.d.ts.map +1 -1
  301. package/lib/appui-react/redux/ConfigurableUiState.js +1 -1
  302. package/lib/appui-react/redux/ConfigurableUiState.js.map +1 -1
  303. package/lib/appui-react/redux/FrameworkState.d.ts +1 -1
  304. package/lib/appui-react/redux/FrameworkState.js.map +1 -1
  305. package/lib/appui-react/redux/ReducerRegistry.js +1 -1
  306. package/lib/appui-react/redux/ReducerRegistry.js.map +1 -1
  307. package/lib/appui-react/redux/SessionState.d.ts +2 -2
  308. package/lib/appui-react/redux/SessionState.d.ts.map +1 -1
  309. package/lib/appui-react/redux/SessionState.js.map +1 -1
  310. package/lib/appui-react/redux/StateManager.js +2 -2
  311. package/lib/appui-react/redux/StateManager.js.map +1 -1
  312. package/lib/appui-react/redux/connectIModel.js +1 -1
  313. package/lib/appui-react/redux/connectIModel.js.map +1 -1
  314. package/lib/appui-react/redux/redux-ts.js.map +1 -1
  315. package/lib/appui-react/selection/SelectionContextItemDef.js +2 -2
  316. package/lib/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  317. package/lib/appui-react/settings/SettingsManager.js +1 -1
  318. package/lib/appui-react/settings/SettingsManager.js.map +1 -1
  319. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js +3 -3
  320. package/lib/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  321. package/lib/appui-react/settings/ui/UiSettingsPage.js +5 -5
  322. package/lib/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  323. package/lib/appui-react/shared/ActionButtonItemDef.js +1 -1
  324. package/lib/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  325. package/lib/appui-react/shared/AnyItemDef.js.map +1 -1
  326. package/lib/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  327. package/lib/appui-react/shared/CommandItemDef.js +1 -1
  328. package/lib/appui-react/shared/CommandItemDef.js.map +1 -1
  329. package/lib/appui-react/shared/CustomItemDef.js +1 -1
  330. package/lib/appui-react/shared/CustomItemDef.js.map +1 -1
  331. package/lib/appui-react/shared/CustomItemProps.js.map +1 -1
  332. package/lib/appui-react/shared/GroupItemProps.js.map +1 -1
  333. package/lib/appui-react/shared/ItemDefBase.js.map +1 -1
  334. package/lib/appui-react/shared/ItemMap.js +1 -1
  335. package/lib/appui-react/shared/ItemMap.js.map +1 -1
  336. package/lib/appui-react/shared/ItemProps.js.map +1 -1
  337. package/lib/appui-react/shared/MenuItem.js +1 -1
  338. package/lib/appui-react/shared/MenuItem.js.map +1 -1
  339. package/lib/appui-react/shared/ToolItemDef.js +1 -1
  340. package/lib/appui-react/shared/ToolItemDef.js.map +1 -1
  341. package/lib/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  342. package/lib/appui-react/stagepanels/StagePanelDef.js +2 -2
  343. package/lib/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  344. package/lib/appui-react/statusbar/Field.js.map +1 -1
  345. package/lib/appui-react/statusbar/Indicator.js +2 -2
  346. package/lib/appui-react/statusbar/Indicator.js.map +1 -1
  347. package/lib/appui-react/statusbar/LabelIndicator.js +2 -2
  348. package/lib/appui-react/statusbar/LabelIndicator.js.map +1 -1
  349. package/lib/appui-react/statusbar/Overflow.js.map +1 -1
  350. package/lib/appui-react/statusbar/Separator.js +1 -1
  351. package/lib/appui-react/statusbar/Separator.js.map +1 -1
  352. package/lib/appui-react/statusbar/StatusBar.js.map +1 -1
  353. package/lib/appui-react/statusbar/StatusBarComposer.js +6 -6
  354. package/lib/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  355. package/lib/appui-react/statusbar/StatusBarItem.js.map +1 -1
  356. package/lib/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  357. package/lib/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  358. package/lib/appui-react/statusbar/dialog/Button.js.map +1 -1
  359. package/lib/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  360. package/lib/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  361. package/lib/appui-react/statusbar/popup/Popup.js +2 -2
  362. package/lib/appui-react/statusbar/popup/Popup.js.map +1 -1
  363. package/lib/appui-react/statusfields/ActivityCenter.js +2 -2
  364. package/lib/appui-react/statusfields/ActivityCenter.js.map +1 -1
  365. package/lib/appui-react/statusfields/SectionsField.js.map +1 -1
  366. package/lib/appui-react/statusfields/SelectionCount.js.map +1 -1
  367. package/lib/appui-react/statusfields/SelectionInfo.js +2 -2
  368. package/lib/appui-react/statusfields/SelectionInfo.js.map +1 -1
  369. package/lib/appui-react/statusfields/SelectionScope.js +3 -3
  370. package/lib/appui-react/statusfields/SelectionScope.js.map +1 -1
  371. package/lib/appui-react/statusfields/SnapMode.js +2 -2
  372. package/lib/appui-react/statusfields/SnapMode.js.map +1 -1
  373. package/lib/appui-react/statusfields/ViewAttributes.d.ts +1 -1
  374. package/lib/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  375. package/lib/appui-react/statusfields/ViewAttributes.js +1 -1
  376. package/lib/appui-react/statusfields/ViewAttributes.js.map +1 -1
  377. package/lib/appui-react/statusfields/message-center/MessageCenterField.js +1 -1
  378. package/lib/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  379. package/lib/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -1
  380. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +1 -1
  381. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  382. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  383. package/lib/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  384. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +11 -7
  385. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  386. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +27 -9
  387. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  388. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js +2 -2
  389. package/lib/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  390. package/lib/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  391. package/lib/appui-react/syncui/SyncUiEventDispatcher.js +3 -8
  392. package/lib/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  393. package/lib/appui-react/syncui/UiSyncEvent.js +1 -1
  394. package/lib/appui-react/syncui/UiSyncEvent.js.map +1 -1
  395. package/lib/appui-react/theme/ThemeManager.d.ts +1 -1
  396. package/lib/appui-react/theme/ThemeManager.js +2 -2
  397. package/lib/appui-react/theme/ThemeManager.js.map +1 -1
  398. package/lib/appui-react/toolbar/GroupItem.js +1 -1
  399. package/lib/appui-react/toolbar/GroupItem.js.map +1 -1
  400. package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
  401. package/lib/appui-react/toolbar/ToolbarComposer.js +3 -3
  402. package/lib/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  403. package/lib/appui-react/toolbar/ToolbarHelper.js +4 -4
  404. package/lib/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  405. package/lib/appui-react/toolbar/ToolbarItem.js.map +1 -1
  406. package/lib/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
  407. package/lib/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  408. package/lib/appui-react/toolbar/ToolbarItemsManager.js +10 -10
  409. package/lib/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  410. package/lib/appui-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  411. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts +1 -1
  412. package/lib/appui-react/toolbar/new-toolbars/Badge.d.ts.map +1 -1
  413. package/lib/appui-react/toolbar/new-toolbars/Badge.js +1 -1
  414. package/lib/appui-react/toolbar/new-toolbars/Badge.js.map +1 -1
  415. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -2
  416. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
  417. package/lib/appui-react/toolbar/new-toolbars/Item.js +1 -1
  418. package/lib/appui-react/toolbar/new-toolbars/Item.js.map +1 -1
  419. package/lib/appui-react/toolbar/new-toolbars/ToolGroup.js.map +1 -1
  420. package/lib/appui-react/toolbar/new-toolbars/useOverflow.d.ts.map +1 -1
  421. package/lib/appui-react/toolbar/useDefaultToolbarItems.js +1 -1
  422. package/lib/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  423. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js +1 -1
  424. package/lib/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  425. package/lib/appui-react/tools/CoreToolDefinitions.js +2 -2
  426. package/lib/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  427. package/lib/appui-react/tools/KeyinPaletteTools.d.ts +1 -1
  428. package/lib/appui-react/tools/OpenSettingsTool.d.ts +1 -1
  429. package/lib/appui-react/tools/RestoreLayoutTool.d.ts +2 -2
  430. package/lib/appui-react/tools/ToolbarItems.js +1 -1
  431. package/lib/appui-react/tools/ToolbarItems.js.map +1 -1
  432. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  433. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -3
  434. package/lib/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  435. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js +2 -2
  436. package/lib/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  437. package/lib/appui-react/toolsettings/ToolInformation.js +1 -1
  438. package/lib/appui-react/toolsettings/ToolInformation.js.map +1 -1
  439. package/lib/appui-react/toolsettings/ToolUiProvider.js +1 -1
  440. package/lib/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  441. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.d.ts +5 -5
  442. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js +1 -1
  443. package/lib/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  444. package/lib/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  445. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js +4 -4
  446. package/lib/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  447. package/lib/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  448. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +3 -3
  449. package/lib/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  450. package/lib/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  451. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +3 -3
  452. package/lib/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  453. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  454. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -1
  455. package/lib/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  456. package/lib/appui-react/ui-items-provider/UiItemsManager.js +3 -3
  457. package/lib/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  458. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js +3 -3
  459. package/lib/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  460. package/lib/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  461. package/lib/appui-react/uistate/AppUiSettings.js +2 -2
  462. package/lib/appui-react/uistate/AppUiSettings.js.map +1 -1
  463. package/lib/appui-react/uistate/LocalStateStorage.js +1 -1
  464. package/lib/appui-react/uistate/LocalStateStorage.js.map +1 -1
  465. package/lib/appui-react/uistate/UiStateStorage.js +1 -1
  466. package/lib/appui-react/uistate/UiStateStorage.js.map +1 -1
  467. package/lib/appui-react/uistate/useReduxFrameworkState.js +1 -1
  468. package/lib/appui-react/uistate/useReduxFrameworkState.js.map +1 -1
  469. package/lib/appui-react/uistate/useUiStateStorage.js +1 -1
  470. package/lib/appui-react/uistate/useUiStateStorage.js.map +1 -1
  471. package/lib/appui-react/utils/PropsHelper.js +5 -5
  472. package/lib/appui-react/utils/PropsHelper.js.map +1 -1
  473. package/lib/appui-react/utils/RectangleProps.js.map +1 -1
  474. package/lib/appui-react/utils/SizeProps.js.map +1 -1
  475. package/lib/appui-react/utils/ViewUtilities.d.ts.map +1 -1
  476. package/lib/appui-react/utils/ViewUtilities.js.map +1 -1
  477. package/lib/appui-react/utils/getActiveViewport.js +1 -1
  478. package/lib/appui-react/utils/getActiveViewport.js.map +1 -1
  479. package/lib/appui-react/widget-panels/DockedBar.js.map +1 -1
  480. package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  481. package/lib/appui-react/widget-panels/Frontstage.js +9 -7
  482. package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
  483. package/lib/appui-react/widget-panels/StatusBar.js +5 -5
  484. package/lib/appui-react/widget-panels/StatusBar.js.map +1 -1
  485. package/lib/appui-react/widget-panels/Tab.js +4 -4
  486. package/lib/appui-react/widget-panels/Tab.js.map +1 -1
  487. package/lib/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  488. package/lib/appui-react/widget-panels/ToolSettings.js +8 -5
  489. package/lib/appui-react/widget-panels/ToolSettings.js.map +1 -1
  490. package/lib/appui-react/widgets/BackstageAppButton.js +2 -2
  491. package/lib/appui-react/widgets/BackstageAppButton.js.map +1 -1
  492. package/lib/appui-react/widgets/BasicNavigationWidget.js +1 -1
  493. package/lib/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  494. package/lib/appui-react/widgets/BasicToolWidget.js +1 -1
  495. package/lib/appui-react/widgets/BasicToolWidget.js.map +1 -1
  496. package/lib/appui-react/widgets/ContentToolWidgetComposer.js +1 -1
  497. package/lib/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  498. package/lib/appui-react/widgets/NavigationWidgetComposer.js +10 -10
  499. package/lib/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  500. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  501. package/lib/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  502. package/lib/appui-react/widgets/ToolWidgetComposer.js +1 -1
  503. package/lib/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  504. package/lib/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  505. package/lib/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  506. package/lib/appui-react/widgets/Widget.d.ts +11 -2
  507. package/lib/appui-react/widgets/Widget.d.ts.map +1 -1
  508. package/lib/appui-react/widgets/Widget.js.map +1 -1
  509. package/lib/appui-react/widgets/WidgetControl.js +1 -1
  510. package/lib/appui-react/widgets/WidgetControl.js.map +1 -1
  511. package/lib/appui-react/widgets/WidgetDef.js +21 -21
  512. package/lib/appui-react/widgets/WidgetDef.js.map +1 -1
  513. package/lib/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  514. package/lib/appui-react/widgets/useWidget.d.ts.map +1 -1
  515. package/lib/appui-react.js +1 -1
  516. package/lib/appui-react.js.map +1 -1
  517. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  518. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +0 -15
  519. package/package.json +20 -21
  520. package/lib/appui-react/layout/widget/tools/button/Back.d.ts +0 -21
  521. package/lib/appui-react/layout/widget/tools/button/Back.d.ts.map +0 -1
  522. package/lib/appui-react/layout/widget/tools/button/Back.js +0 -23
  523. package/lib/appui-react/layout/widget/tools/button/Back.js.map +0 -1
  524. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts +0 -5
  525. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.d.ts.map +0 -1
  526. package/lib/appui-react/preview/allow-letters-in-accudraw-input-fields/useAllowLettersInAccuDrawInputFields.js.map +0 -1
  527. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts +0 -5
  528. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.d.ts.map +0 -1
  529. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js +0 -13
  530. package/lib/appui-react/preview/enable-colorless-accudraw-input-fields/useEnableColorlessAccuDrawInputFields.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"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 Toolbar\n */\n\nimport * as React from \"react\";\nimport {\n Direction,\n Orientation,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction.js\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"./ToolbarItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\nimport { useActiveToolIdSynchedItems } from \"./useActiveToolIdSynchedItems.js\";\nimport { useActiveStageProvidedToolbarItems } from \"./useActiveStageProvidedToolbarItems.js\";\n\nfunction addItemToSpecifiedParentGroup<T extends ToolbarItem>(\n items: readonly T[],\n groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>\n): T[] {\n const outItems: T[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren = addItemToSpecifiedParentGroup(\n toolbarItem.items,\n groupChildren\n );\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices\n .sort((a, b) => a - b)\n .reverse()\n .forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n inGroup.items.forEach((item) => {\n if (isToolbarGroupItem(item)) childItems.push(cloneGroup(item));\n else childItems.push(item);\n });\n\n const clonedGroup = { ...inGroup, items: childItems };\n return clonedGroup;\n}\n\nfunction getItemSortValue(item: ToolbarItem) {\n const groupValue = undefined === item.groupPriority ? 0 : item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction sortItems(items: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n return [...items]\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: sortItems(i.items) };\n }\n return i;\n });\n}\n\n/**\n * Create a forEach handler that will add every element of an array of ToolbarItems\n * to a list of items that can then be replaced in its proper place, ensuring that\n * the same item, from different list, is not added multiple times.\n * @param items Output list of items\n * @param groupChildren Output list of group children to redistribute.\n * @returns Array<ToolbarItem>.forEach handler.\n */\nfunction addIfNotDuplicate(\n items: ToolbarItem[],\n groupChildren: (ToolbarActionItem | ToolbarGroupItem)[]\n): (value: ToolbarItem) => void {\n return (srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem)\n ? cloneGroup(srcItem)\n : srcItem;\n if (\n (isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) &&\n toolbarItem.parentGroupItemId\n )\n groupChildren.push(toolbarItem);\n else items.push(toolbarItem);\n }\n };\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n defaultItems: ReadonlyArray<ToolbarItem>,\n addonItems: ReadonlyArray<ToolbarItem>\n): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n defaultItems.forEach(addIfNotDuplicate(items, groupChildren));\n addonItems.forEach(addIfNotDuplicate(items, groupChildren));\n\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\n if (groupChildren.length) {\n items = addItemToSpecifiedParentGroup(items, groupChildren);\n\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\n \"ToolbarComposer\",\n `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${\n toolbarItem.id\n }] is added directly to toolbar.`\n );\n items.push(toolbarItem);\n });\n }\n\n return sortItems(items);\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(\n UiFramework.visibility.useProximityOpacity // eslint-disable-line deprecation/deprecation\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(\n () => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line deprecation/deprecation\n );\n }, []);\n\n return proximityOpacity;\n};\n\nconst useSnapWidgetOpacitySetting = () => {\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(\n UiFramework.visibility.snapWidgetOpacity\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(() =>\n setSnapWidgetOpacity(UiFramework.visibility.snapWidgetOpacity)\n );\n }, []);\n\n return snapWidgetOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof ToolbarComposer>`\n */\nexport interface ExtensibleToolbarProps {\n /** Toolbar items. */\n items: ToolbarItem[];\n /** Toolbar usage based on which additional toolbar items are added from UI item providers. */\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by UI item providers.\n * @note Overrides `isActive` property based on the active tool id.\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n // process items from addon UI providers\n const addonItems = useActiveStageProvidedToolbarItems(usage, orientation);\n\n const allItems = React.useMemo(() => {\n return combineItems(props.items, addonItems);\n }, [props.items, addonItems]);\n\n const items = useActiveToolIdSynchedItems(allItems, UiFramework.frontstages);\n\n const toolbarOrientation =\n orientation === ToolbarOrientation.Horizontal\n ? Orientation.Horizontal\n : Orientation.Vertical;\n const expandsTo =\n toolbarOrientation === Orientation.Horizontal\n ? Direction.Bottom\n : usage === ToolbarUsage.ViewNavigation\n ? Direction.Left\n : Direction.Right;\n const panelAlignment =\n toolbarOrientation === Orientation.Horizontal &&\n usage === ToolbarUsage.ViewNavigation\n ? ToolbarPanelAlignment.End\n : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n const snapWidgetOpacity = useSnapWidgetOpacitySetting();\n\n return (\n <Toolbar\n enableOverflow={true}\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={items}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={\n (useProximityOpacity || snapWidgetOpacity) &&\n !ProcessDetector.isMobileBrowser\n ? ToolbarOpacitySetting.Proximity\n : ToolbarOpacitySetting.Defaults\n }\n />\n );\n}\n"]}
1
+ {"version":3,"file":"ToolbarComposer.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarComposer.tsx"],"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 Toolbar\n */\n\nimport * as React from \"react\";\nimport {\n Direction,\n Orientation,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport { Logger, ProcessDetector } from \"@itwin/core-bentley\";\nimport { UiFramework } from \"../UiFramework.js\";\nimport { ToolbarDragInteractionContext } from \"./DragInteraction.js\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarGroupItem,\n ToolbarOrientation,\n ToolbarUsage,\n} from \"./ToolbarItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\nimport { useActiveToolIdSynchedItems } from \"./useActiveToolIdSynchedItems.js\";\nimport { useActiveStageProvidedToolbarItems } from \"./useActiveStageProvidedToolbarItems.js\";\n\nfunction addItemToSpecifiedParentGroup<T extends ToolbarItem>(\n items: readonly T[],\n groupChildren: Array<ToolbarActionItem | ToolbarGroupItem>\n): T[] {\n const outItems: T[] = [];\n for (const toolbarItem of items) {\n if (!isToolbarGroupItem(toolbarItem)) {\n outItems.push(toolbarItem);\n continue;\n }\n\n const newChildren = addItemToSpecifiedParentGroup(\n toolbarItem.items,\n groupChildren\n );\n const foundIndices: number[] = [];\n\n groupChildren.forEach((entry, index) => {\n if (entry.parentGroupItemId === toolbarItem.id) {\n foundIndices.push(index);\n }\n });\n\n if (foundIndices.length) {\n // process in reverse order so groupChildren can be reduced as we find matches\n foundIndices\n .sort((a, b) => a - b)\n .reverse()\n .forEach((foundIndex) => {\n newChildren.push(groupChildren[foundIndex]);\n groupChildren.splice(foundIndex);\n });\n }\n\n outItems.push({ ...toolbarItem, items: newChildren });\n }\n return outItems;\n}\n\nfunction cloneGroup(inGroup: ToolbarGroupItem): ToolbarGroupItem {\n const childItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n inGroup.items.forEach((item) => {\n if (isToolbarGroupItem(item)) childItems.push(cloneGroup(item));\n else childItems.push(item);\n });\n\n const clonedGroup = { ...inGroup, items: childItems };\n return clonedGroup;\n}\n\nfunction getItemSortValue(item: ToolbarItem) {\n const groupValue = undefined === item.groupPriority ? 0 : item.groupPriority;\n return groupValue * 10000 + item.itemPriority;\n}\n\nfunction sortItems(items: ReadonlyArray<ToolbarItem>): ToolbarItem[] {\n return [...items]\n .sort((a, b) => getItemSortValue(a) - getItemSortValue(b))\n .map((i) => {\n if (isToolbarGroupItem(i)) {\n return { ...i, items: sortItems(i.items) };\n }\n return i;\n });\n}\n\n/**\n * Create a forEach handler that will add every element of an array of ToolbarItems\n * to a list of items that can then be replaced in its proper place, ensuring that\n * the same item, from different list, is not added multiple times.\n * @param items Output list of items\n * @param groupChildren Output list of group children to redistribute.\n * @returns Array<ToolbarItem>.forEach handler.\n */\nfunction addIfNotDuplicate(\n items: ToolbarItem[],\n groupChildren: (ToolbarActionItem | ToolbarGroupItem)[]\n): (value: ToolbarItem) => void {\n return (srcItem: ToolbarItem) => {\n if (-1 === items.findIndex((item) => item.id === srcItem.id)) {\n // if the default item is a group that an addon may insert into copy it so we don't mess with original\n const toolbarItem = isToolbarGroupItem(srcItem)\n ? cloneGroup(srcItem)\n : srcItem;\n if (\n (isToolbarGroupItem(toolbarItem) || isToolbarActionItem(toolbarItem)) &&\n toolbarItem.parentGroupItemId\n )\n groupChildren.push(toolbarItem);\n else items.push(toolbarItem);\n }\n };\n}\n\n/** local function to combine items from Stage and from Extensions */\nfunction combineItems(\n defaultItems: ReadonlyArray<ToolbarItem>,\n addonItems: ReadonlyArray<ToolbarItem>\n): ToolbarItem[] {\n let items: ToolbarItem[] = [];\n const groupChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n\n defaultItems.forEach(addIfNotDuplicate(items, groupChildren));\n addonItems.forEach(addIfNotDuplicate(items, groupChildren));\n\n // if an item from an addon has specified a parent group then try to find it and insert it. If no parent is found, add item at root level.\n if (groupChildren.length) {\n items = addItemToSpecifiedParentGroup(items, groupChildren);\n\n groupChildren.forEach((toolbarItem) => {\n Logger.logWarning(\n \"ToolbarComposer\",\n `Requested Parent Group [${toolbarItem.parentGroupItemId!}] not found, so item [${\n toolbarItem.id\n }] is added directly to toolbar.`\n );\n items.push(toolbarItem);\n });\n }\n\n return sortItems(items);\n}\n\nconst useProximityOpacitySetting = () => {\n const [proximityOpacity, setProximityOpacity] = React.useState(\n UiFramework.visibility.useProximityOpacity // eslint-disable-line @typescript-eslint/no-deprecated\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(\n () => setProximityOpacity(UiFramework.visibility.useProximityOpacity) // eslint-disable-line @typescript-eslint/no-deprecated\n );\n }, []);\n\n return proximityOpacity;\n};\n\nconst useSnapWidgetOpacitySetting = () => {\n const [snapWidgetOpacity, setSnapWidgetOpacity] = React.useState(\n UiFramework.visibility.snapWidgetOpacity\n );\n\n React.useEffect(() => {\n UiFramework.onUiVisibilityChanged.addListener(() =>\n setSnapWidgetOpacity(UiFramework.visibility.snapWidgetOpacity)\n );\n }, []);\n\n return snapWidgetOpacity;\n};\n\n/** Properties for the [[ToolbarComposer]] React components\n * @public\n * @deprecated in 4.17.0. Use `React.ComponentProps<typeof ToolbarComposer>`\n */\nexport interface ExtensibleToolbarProps {\n /** Toolbar items. */\n items: ToolbarItem[];\n /** Toolbar usage based on which additional toolbar items are added from UI item providers. */\n usage: ToolbarUsage;\n /** Toolbar orientation. */\n orientation: ToolbarOrientation;\n}\n\n/**\n * Toolbar that is populated and maintained by UI item providers.\n * @note Overrides `isActive` property based on the active tool id.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport function ToolbarComposer(props: ExtensibleToolbarProps) {\n const { usage, orientation } = props;\n\n // process items from addon UI providers\n const addonItems = useActiveStageProvidedToolbarItems(usage, orientation);\n\n const allItems = React.useMemo(() => {\n return combineItems(props.items, addonItems);\n }, [props.items, addonItems]);\n\n const items = useActiveToolIdSynchedItems(allItems, UiFramework.frontstages);\n\n const toolbarOrientation =\n orientation === ToolbarOrientation.Horizontal\n ? Orientation.Horizontal\n : Orientation.Vertical;\n const expandsTo =\n toolbarOrientation === Orientation.Horizontal\n ? Direction.Bottom\n : usage === ToolbarUsage.ViewNavigation\n ? Direction.Left\n : Direction.Right;\n const panelAlignment =\n toolbarOrientation === Orientation.Horizontal &&\n usage === ToolbarUsage.ViewNavigation\n ? ToolbarPanelAlignment.End\n : ToolbarPanelAlignment.Start;\n const isDragEnabled = React.useContext(ToolbarDragInteractionContext);\n const useProximityOpacity = useProximityOpacitySetting();\n const snapWidgetOpacity = useSnapWidgetOpacitySetting();\n\n return (\n <Toolbar\n enableOverflow={true}\n expandsTo={expandsTo}\n panelAlignment={panelAlignment}\n items={items}\n useDragInteraction={isDragEnabled}\n toolbarOpacitySetting={\n (useProximityOpacity || snapWidgetOpacity) &&\n !ProcessDetector.isMobileBrowser\n ? ToolbarOpacitySetting.Proximity\n : ToolbarOpacitySetting.Defaults\n }\n />\n );\n}\n"]}
@@ -6,7 +6,7 @@ import { CustomItemDef } from "../shared/CustomItemDef.js";
6
6
  import { ToolItemDef } from "../shared/ToolItemDef.js";
7
7
  import { GroupItemDef } from "./GroupItem.js";
8
8
  import { isToolbarActionItem, isToolbarGroupItem } from "./ToolbarItem.js";
9
- /* eslint-disable deprecation/deprecation */
9
+ /* eslint-disable @typescript-eslint/no-deprecated */
10
10
  /**
11
11
  * Common implementation for `constructChildToolbarItems` and `createToolbarItemsFromItemDefs`.
12
12
  * @param itemDefs List of itemDefs to convert.
@@ -51,7 +51,7 @@ export class ToolbarHelper {
51
51
  }
52
52
  /** @deprecated in 4.15.0. Use {@link @itwin/core-react#IconHelper} instead. */
53
53
  static getIconReactNode(item) {
54
- // eslint-disable-next-line deprecation/deprecation
54
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
55
55
  return IconHelper.getIconReactNode(item.icon, item.internalData);
56
56
  }
57
57
  /** Helper method to creates a generic toolbar item entry.
@@ -65,8 +65,8 @@ export class ToolbarHelper {
65
65
  isActive: itemDef.isActive,
66
66
  isHidden: itemDef.isHidden,
67
67
  isDisabled: itemDef.isDisabled,
68
- icon: internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line deprecation/deprecation
69
- internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line deprecation/deprecation
68
+ icon: internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated
69
+ internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated
70
70
  icon ??
71
71
  itemDef.iconSpec,
72
72
  label: this.getStringOrConditionalString(itemDef.rawLabel),
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarHelper.tsx"],"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 Toolbar\n */\nimport type * as React from \"react\";\nimport type {\n ActionButton,\n CustomButtonDefinition,\n GroupButton,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type { AnyItemDef } from \"../shared/AnyItemDef.js\";\nimport { CommandItemDef } from \"../shared/CommandItemDef.js\";\nimport { CustomItemDef } from \"../shared/CustomItemDef.js\";\nimport { ToolItemDef } from \"../shared/ToolItemDef.js\";\nimport { GroupItemDef } from \"./GroupItem.js\";\nimport type {\n ToolbarActionItem,\n ToolbarCustomItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport { isToolbarActionItem, isToolbarGroupItem } from \"./ToolbarItem.js\";\nimport type { ToolbarItemUtilities } from \"./ToolbarItemUtilities.js\";\nimport type { CommonToolbarItemWithBadgeKind } from \"@itwin/components-react/internal\";\n\n/* eslint-disable deprecation/deprecation */\n\n/**\n * Common implementation for `constructChildToolbarItems` and `createToolbarItemsFromItemDefs`.\n * @param itemDefs List of itemDefs to convert.\n * @param allowCustom false if we are building children and don't support custom items.\n * @param startingItemPriority defaults to 10.\n * @param overrides Single override to apply to each itemDefs.\n * @returns ToolbarItem[] or (ToolbarActionItem | ToolbarGroupItem) if allowCustom is false.\n */\nfunction constructToolbarItemArray<T extends boolean>(\n itemDefs: AnyItemDef[],\n allowCustom: T,\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n) {\n let priority = startingItemPriority;\n const items = [];\n for (const itemDef of itemDefs) {\n const item = ToolbarHelper.createToolbarItemFromItemDef(\n priority,\n itemDef,\n overrides\n );\n priority = priority + 10;\n if (allowCustom || isToolbarActionItem(item) || isToolbarGroupItem(item))\n items.push(item);\n }\n return items as T extends true\n ? Array<ToolbarItem>\n : Array<ToolbarActionItem | ToolbarGroupItem>;\n}\n\n/** Helper functions for defining a Toolbar items used in `Toolbar`, `ToolbarComposer` and `UiItemsProvider`.\n * @public\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\nexport class ToolbarHelper {\n /** Construct ToolbarCustomItem definitions given a CustomItemDef.\n * @deprecated in 4.15.0. Use `ToolbarItemUtilities.createCustomItem` instead.\n */\n public static createCustomDefinitionToolbarItem(\n itemPriority: number,\n itemDef: CustomItemDef,\n overrides?: Partial<CustomButtonDefinition & { badgeKind?: BadgeKind }>\n ): ToolbarCustomItem {\n return this.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\n }\n\n /** Construct ToolbarActionItem and ToolbarGroupItem definitions given an array of ItemDefs.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static constructChildToolbarItems(\n itemDefs: AnyItemDef[]\n ): Array<ToolbarActionItem | ToolbarGroupItem> {\n return constructToolbarItemArray(itemDefs, false);\n }\n\n private static getStringOrConditionalString(\n inString: string | StringGetter | ConditionalStringValue\n ): string | ConditionalStringValue {\n if (\n inString instanceof ConditionalStringValue ||\n typeof inString === \"string\"\n )\n return inString;\n\n return inString();\n }\n\n /** @deprecated in 4.15.0. Use {@link @itwin/core-react#IconHelper} instead. */\n public static getIconReactNode(\n item: ActionButton | GroupButton\n ): React.ReactNode {\n // eslint-disable-next-line deprecation/deprecation\n return IconHelper.getIconReactNode(item.icon, item.internalData);\n }\n\n /** Helper method to creates a generic toolbar item entry.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemFromItemDef(\n itemPriority: number,\n itemDef: AnyItemDef,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem {\n const {\n badgeType,\n badgeKind,\n description,\n icon,\n internalData,\n ...itemOverrides\n } = overrides ?? {};\n const itemBase: ToolbarItem = {\n id: itemDef.id,\n itemPriority,\n isActive: itemDef.isActive,\n isHidden: itemDef.isHidden,\n isDisabled: itemDef.isDisabled,\n icon:\n internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line deprecation/deprecation\n internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line deprecation/deprecation\n icon ??\n itemDef.iconSpec,\n label: this.getStringOrConditionalString(itemDef.rawLabel),\n badge: badgeType ?? itemDef.badgeType,\n badgeKind: badgeKind ?? itemDef.badgeKind,\n description: description ?? itemDef.description,\n };\n\n if (itemDef instanceof CommandItemDef || itemDef instanceof ToolItemDef) {\n return {\n ...itemBase,\n execute: itemDef.execute,\n ...itemOverrides,\n };\n } else if (itemDef instanceof CustomItemDef) {\n return {\n ...itemBase,\n panelContent: itemDef.popupPanelNode,\n ...itemOverrides,\n };\n } else if (itemDef instanceof GroupItemDef) {\n return {\n ...itemBase,\n panelLabel: itemDef.panelLabel,\n items: this.constructChildToolbarItems(itemDef.items),\n isActive: false,\n ...itemOverrides,\n };\n } else {\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\n }\n }\n\n /** Helper method to creates a generic toolbar item entry list.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemsFromItemDefs(\n itemDefs: AnyItemDef[],\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem[] {\n return constructToolbarItemArray(\n itemDefs,\n true,\n startingItemPriority,\n overrides\n );\n }\n}\n\n/** @internal */\nexport function itemDefToToolbarActionItem(\n itemDef: ToolItemDef | CommandItemDef,\n overrides?: Partial<ToolbarActionItem>\n): ToolbarActionItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarActionItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n\n/** @internal */\nexport function itemDefToToolbarGroupItem(\n itemDef: GroupItemDef,\n overrides?: Partial<ToolbarGroupItem>\n): ToolbarGroupItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarGroupItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n"]}
1
+ {"version":3,"file":"ToolbarHelper.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarHelper.tsx"],"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 Toolbar\n */\nimport type * as React from \"react\";\nimport type {\n ActionButton,\n CustomButtonDefinition,\n GroupButton,\n StringGetter,\n} from \"@itwin/appui-abstract\";\nimport { ConditionalStringValue } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { IconHelper } from \"@itwin/core-react\";\nimport type { AnyItemDef } from \"../shared/AnyItemDef.js\";\nimport { CommandItemDef } from \"../shared/CommandItemDef.js\";\nimport { CustomItemDef } from \"../shared/CustomItemDef.js\";\nimport { ToolItemDef } from \"../shared/ToolItemDef.js\";\nimport { GroupItemDef } from \"./GroupItem.js\";\nimport type {\n ToolbarActionItem,\n ToolbarCustomItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport { isToolbarActionItem, isToolbarGroupItem } from \"./ToolbarItem.js\";\nimport type { ToolbarItemUtilities } from \"./ToolbarItemUtilities.js\";\nimport type { CommonToolbarItemWithBadgeKind } from \"@itwin/components-react/internal\";\n\n/* eslint-disable @typescript-eslint/no-deprecated */\n\n/**\n * Common implementation for `constructChildToolbarItems` and `createToolbarItemsFromItemDefs`.\n * @param itemDefs List of itemDefs to convert.\n * @param allowCustom false if we are building children and don't support custom items.\n * @param startingItemPriority defaults to 10.\n * @param overrides Single override to apply to each itemDefs.\n * @returns ToolbarItem[] or (ToolbarActionItem | ToolbarGroupItem) if allowCustom is false.\n */\nfunction constructToolbarItemArray<T extends boolean>(\n itemDefs: AnyItemDef[],\n allowCustom: T,\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n) {\n let priority = startingItemPriority;\n const items = [];\n for (const itemDef of itemDefs) {\n const item = ToolbarHelper.createToolbarItemFromItemDef(\n priority,\n itemDef,\n overrides\n );\n priority = priority + 10;\n if (allowCustom || isToolbarActionItem(item) || isToolbarGroupItem(item))\n items.push(item);\n }\n return items as T extends true\n ? Array<ToolbarItem>\n : Array<ToolbarActionItem | ToolbarGroupItem>;\n}\n\n/** Helper functions for defining a Toolbar items used in `Toolbar`, `ToolbarComposer` and `UiItemsProvider`.\n * @public\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\nexport class ToolbarHelper {\n /** Construct ToolbarCustomItem definitions given a CustomItemDef.\n * @deprecated in 4.15.0. Use `ToolbarItemUtilities.createCustomItem` instead.\n */\n public static createCustomDefinitionToolbarItem(\n itemPriority: number,\n itemDef: CustomItemDef,\n overrides?: Partial<CustomButtonDefinition & { badgeKind?: BadgeKind }>\n ): ToolbarCustomItem {\n return this.createToolbarItemFromItemDef(itemPriority, itemDef, overrides);\n }\n\n /** Construct ToolbarActionItem and ToolbarGroupItem definitions given an array of ItemDefs.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static constructChildToolbarItems(\n itemDefs: AnyItemDef[]\n ): Array<ToolbarActionItem | ToolbarGroupItem> {\n return constructToolbarItemArray(itemDefs, false);\n }\n\n private static getStringOrConditionalString(\n inString: string | StringGetter | ConditionalStringValue\n ): string | ConditionalStringValue {\n if (\n inString instanceof ConditionalStringValue ||\n typeof inString === \"string\"\n )\n return inString;\n\n return inString();\n }\n\n /** @deprecated in 4.15.0. Use {@link @itwin/core-react#IconHelper} instead. */\n public static getIconReactNode(\n item: ActionButton | GroupButton\n ): React.ReactNode {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return IconHelper.getIconReactNode(item.icon, item.internalData);\n }\n\n /** Helper method to creates a generic toolbar item entry.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemFromItemDef(\n itemPriority: number,\n itemDef: AnyItemDef,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem {\n const {\n badgeType,\n badgeKind,\n description,\n icon,\n internalData,\n ...itemOverrides\n } = overrides ?? {};\n const itemBase: ToolbarItem = {\n id: itemDef.id,\n itemPriority,\n isActive: itemDef.isActive,\n isHidden: itemDef.isHidden,\n isDisabled: itemDef.isDisabled,\n icon:\n internalData?.get(IconHelper.reactIconKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated\n internalData?.get(IconHelper.conditionalIconItemKey) ?? // eslint-disable-line @typescript-eslint/no-deprecated\n icon ??\n itemDef.iconSpec,\n label: this.getStringOrConditionalString(itemDef.rawLabel),\n badge: badgeType ?? itemDef.badgeType,\n badgeKind: badgeKind ?? itemDef.badgeKind,\n description: description ?? itemDef.description,\n };\n\n if (itemDef instanceof CommandItemDef || itemDef instanceof ToolItemDef) {\n return {\n ...itemBase,\n execute: itemDef.execute,\n ...itemOverrides,\n };\n } else if (itemDef instanceof CustomItemDef) {\n return {\n ...itemBase,\n panelContent: itemDef.popupPanelNode,\n ...itemOverrides,\n };\n } else if (itemDef instanceof GroupItemDef) {\n return {\n ...itemBase,\n panelLabel: itemDef.panelLabel,\n items: this.constructChildToolbarItems(itemDef.items),\n isActive: false,\n ...itemOverrides,\n };\n } else {\n throw new Error(`Invalid Item type encountered, item id=${itemDef.id}`);\n }\n }\n\n /** Helper method to creates a generic toolbar item entry list.\n * @deprecated in 4.15.0. Use {@link ToolbarItemUtilities} instead.\n */\n public static createToolbarItemsFromItemDefs(\n itemDefs: AnyItemDef[],\n startingItemPriority = 10,\n overrides?: Partial<CommonToolbarItemWithBadgeKind>\n ): ToolbarItem[] {\n return constructToolbarItemArray(\n itemDefs,\n true,\n startingItemPriority,\n overrides\n );\n }\n}\n\n/** @internal */\nexport function itemDefToToolbarActionItem(\n itemDef: ToolItemDef | CommandItemDef,\n overrides?: Partial<ToolbarActionItem>\n): ToolbarActionItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarActionItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n\n/** @internal */\nexport function itemDefToToolbarGroupItem(\n itemDef: GroupItemDef,\n overrides?: Partial<ToolbarGroupItem>\n): ToolbarGroupItem {\n const item = ToolbarHelper.createToolbarItemFromItemDef(0, itemDef);\n assert(isToolbarGroupItem(item));\n return {\n ...item,\n ...overrides,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAUH;;GAEG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,yGAAyG;IACzG,6EAAuB,CAAA;IACvB,8EAA8E;IAC9E,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAiGD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAiB;IAEjB,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC","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 Toolbar\n */\n\nimport type {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport type { BadgeType, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { UiItemsProvider } from \"../ui-items-provider/UiItemsProvider.js\";\n\n/** Used to specify the usage of the toolbar which determine the toolbar position.\n * @public\n */\nexport enum ToolbarUsage {\n /** Contains tools to Create Update and Delete content - in AppUI this is in top left of content area. */\n ContentManipulation = 0,\n /** Manipulate view/camera - in AppUI this is in top right of content area. */\n ViewNavigation = 1,\n}\n\n/** Used to specify the orientation of the toolbar.\n * @public\n */\nexport enum ToolbarOrientation {\n /** Horizontal toolbar. */\n Horizontal = 0,\n /** Vertical toolbar. */\n Vertical = 1,\n}\n\n/** Describes the data needed to insert a UI items into an existing set of UI items.\n * @public\n */\nexport interface CommonToolbarItem {\n /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\n readonly id: string;\n /** Icon of a toolbar item. */\n readonly iconNode?: React.ReactNode;\n /** Describes badge. Renders no badge if not specified.\n * @deprecated in 4.16.0. Use `badgeKind` property instead.\n */\n // eslint-disable-next-line deprecation/deprecation\n readonly badge?: BadgeType;\n /** Specifies the kind of badge, if any, to be rendered. */\n readonly badgeKind?: BadgeKind;\n /** Optional description */\n readonly description?: string | ConditionalStringValue;\n /** Defines if the item is active (shown with an active stripe/bar). */\n readonly isActive?: boolean;\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\n readonly isHidden?: boolean | ConditionalBooleanValue;\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\n readonly isDisabled?: boolean | ConditionalBooleanValue;\n /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\n * allows extensions enough gaps to insert their own groups. If the value is not specified a groupPriority of 0 is used.\n */\n readonly groupPriority?: number;\n /** Priority within a toolbar or group. */\n readonly itemPriority: number;\n /** Describes layout specific configuration of a toolbar item.\n * @note Only used by {@link UiItemsProvider.getToolbarItems}.\n */\n readonly layouts?: ToolbarItemLayouts;\n}\n\n/** Describes the data needed to insert an action button into a toolbar.\n * @public\n */\nexport interface ToolbarActionItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead and specify `undefined` for this property. This will be made optional in 5.0.0.\n */\n // eslint-disable-next-line deprecation/deprecation\n readonly icon: IconSpec;\n /** label, shown as tool tip on a button or an item label in a group. */\n readonly label: string | ConditionalStringValue;\n /** function to run when the button is pressed. */\n readonly execute: () => void;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a group button into a toolbar.\n * @public\n */\nexport interface ToolbarGroupItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead.\n */\n // eslint-disable-next-line deprecation/deprecation\n readonly icon: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label: string | ConditionalStringValue;\n /** label shown as the title in at top of group panel. */\n readonly panelLabel?: string | ConditionalStringValue;\n /** children of the group */\n readonly items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a custom button into a toolbar.\n * @public\n */\nexport interface ToolbarCustomItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead.\n */\n // eslint-disable-next-line deprecation/deprecation\n readonly icon?: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label?: string | ConditionalStringValue;\n /** defines the content to display in popup panel */\n readonly panelContent?: React.ReactNode;\n}\n\n/** Any Button Type that can be inserted into a toolbar.\n * @public\n */\nexport type ToolbarItem =\n | ToolbarActionItem\n | ToolbarGroupItem\n | ToolbarCustomItem;\n\n/** ToolbarActionItem type guard.\n * @public\n */\nexport function isToolbarActionItem(\n item: ToolbarItem\n): item is ToolbarActionItem {\n return \"execute\" in item;\n}\n\n/** ToolbarGroupItem type guard.\n * @public\n */\nexport function isToolbarGroupItem(\n item: ToolbarItem\n): item is ToolbarGroupItem {\n return \"items\" in item;\n}\n\n/** ToolbarCustomItem type guard.\n * @public\n */\nexport function isToolbarCustomItem(\n item: ToolbarItem\n): item is ToolbarCustomItem {\n return !isToolbarActionItem(item) && !isToolbarGroupItem(item);\n}\n\n/** Describes toolbar item configuration specific for each layout.\n * @public\n */\nexport interface ToolbarItemLayouts {\n /** Toolbar item configuration in a standard layout. */\n readonly standard?: StandardLayoutToolbarItem;\n}\n\n/** Describes toolbar item configuration specific to a standard layout.\n * @public\n */\nexport interface StandardLayoutToolbarItem {\n /** Describes toolbar usage. */\n readonly usage: ToolbarUsage;\n /** Describes toolbar orientation. */\n readonly orientation: ToolbarOrientation;\n}\n"]}
1
+ {"version":3,"file":"ToolbarItem.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItem.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAUH;;GAEG;AACH,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,yGAAyG;IACzG,6EAAuB,CAAA;IACvB,8EAA8E;IAC9E,mEAAkB,CAAA;AACpB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,0BAA0B;IAC1B,uEAAc,CAAA;IACd,wBAAwB;IACxB,mEAAY,CAAA;AACd,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAiGD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAiB;IAEjB,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAiB;IAEjB,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC","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 Toolbar\n */\n\nimport type {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport type { BadgeType, IconSpec } from \"@itwin/core-react\";\nimport type { BadgeKind } from \"@itwin/core-react/internal\";\nimport { UiItemsProvider } from \"../ui-items-provider/UiItemsProvider.js\";\n\n/** Used to specify the usage of the toolbar which determine the toolbar position.\n * @public\n */\nexport enum ToolbarUsage {\n /** Contains tools to Create Update and Delete content - in AppUI this is in top left of content area. */\n ContentManipulation = 0,\n /** Manipulate view/camera - in AppUI this is in top right of content area. */\n ViewNavigation = 1,\n}\n\n/** Used to specify the orientation of the toolbar.\n * @public\n */\nexport enum ToolbarOrientation {\n /** Horizontal toolbar. */\n Horizontal = 0,\n /** Vertical toolbar. */\n Vertical = 1,\n}\n\n/** Describes the data needed to insert a UI items into an existing set of UI items.\n * @public\n */\nexport interface CommonToolbarItem {\n /** Require uniqueId for the item. To ensure uniqueness it is suggested that a namespace prefix of the extension name be used. */\n readonly id: string;\n /** Icon of a toolbar item. */\n readonly iconNode?: React.ReactNode;\n /** Describes badge. Renders no badge if not specified.\n * @deprecated in 4.16.0. Use `badgeKind` property instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly badge?: BadgeType;\n /** Specifies the kind of badge, if any, to be rendered. */\n readonly badgeKind?: BadgeKind;\n /** Optional description */\n readonly description?: string | ConditionalStringValue;\n /** Defines if the item is active (shown with an active stripe/bar). */\n readonly isActive?: boolean;\n /** Describes if the item is visible or hidden. The default is for the item to be visible. */\n readonly isHidden?: boolean | ConditionalBooleanValue;\n /** Describes if the item is enabled or disabled. The default is for the item to be enabled. */\n readonly isDisabled?: boolean | ConditionalBooleanValue;\n /** Specifies the item's grouping value. Items are sorted by group and then item priority. When\n * group priority changes a separator is inserted. It is recommended using values 10 through 100, incrementing by 10. This\n * allows extensions enough gaps to insert their own groups. If the value is not specified a groupPriority of 0 is used.\n */\n readonly groupPriority?: number;\n /** Priority within a toolbar or group. */\n readonly itemPriority: number;\n /** Describes layout specific configuration of a toolbar item.\n * @note Only used by {@link UiItemsProvider.getToolbarItems}.\n */\n readonly layouts?: ToolbarItemLayouts;\n}\n\n/** Describes the data needed to insert an action button into a toolbar.\n * @public\n */\nexport interface ToolbarActionItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead and specify `undefined` for this property. This will be made optional in 5.0.0.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly icon: IconSpec;\n /** label, shown as tool tip on a button or an item label in a group. */\n readonly label: string | ConditionalStringValue;\n /** function to run when the button is pressed. */\n readonly execute: () => void;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a group button into a toolbar.\n * @public\n */\nexport interface ToolbarGroupItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly icon: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label: string | ConditionalStringValue;\n /** label shown as the title in at top of group panel. */\n readonly panelLabel?: string | ConditionalStringValue;\n /** children of the group */\n readonly items: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\n /** Optional parent tool group to add the tool to. */\n readonly parentGroupItemId?: string;\n}\n\n/** Describes the data needed to insert a custom button into a toolbar.\n * @public\n */\nexport interface ToolbarCustomItem extends CommonToolbarItem {\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id.\n * @deprecated in 4.16.0. Use {@link CommonToolbarItem.iconNode} instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n readonly icon?: IconSpec;\n /** label, shown as tool tip on group button or a group button label in a group panel. */\n readonly label?: string | ConditionalStringValue;\n /** defines the content to display in popup panel */\n readonly panelContent?: React.ReactNode;\n}\n\n/** Any Button Type that can be inserted into a toolbar.\n * @public\n */\nexport type ToolbarItem =\n | ToolbarActionItem\n | ToolbarGroupItem\n | ToolbarCustomItem;\n\n/** ToolbarActionItem type guard.\n * @public\n */\nexport function isToolbarActionItem(\n item: ToolbarItem\n): item is ToolbarActionItem {\n return \"execute\" in item;\n}\n\n/** ToolbarGroupItem type guard.\n * @public\n */\nexport function isToolbarGroupItem(\n item: ToolbarItem\n): item is ToolbarGroupItem {\n return \"items\" in item;\n}\n\n/** ToolbarCustomItem type guard.\n * @public\n */\nexport function isToolbarCustomItem(\n item: ToolbarItem\n): item is ToolbarCustomItem {\n return !isToolbarActionItem(item) && !isToolbarGroupItem(item);\n}\n\n/** Describes toolbar item configuration specific for each layout.\n * @public\n */\nexport interface ToolbarItemLayouts {\n /** Toolbar item configuration in a standard layout. */\n readonly standard?: StandardLayoutToolbarItem;\n}\n\n/** Describes toolbar item configuration specific to a standard layout.\n * @public\n */\nexport interface StandardLayoutToolbarItem {\n /** Describes toolbar usage. */\n readonly usage: ToolbarUsage;\n /** Describes toolbar orientation. */\n readonly orientation: ToolbarOrientation;\n}\n"]}
@@ -95,7 +95,7 @@ export var ToolbarItemUtilities;
95
95
  const iconNode = ToolUtilities.isWithIcon(toolType)
96
96
  ? toolType.iconElement
97
97
  : undefined;
98
- // eslint-disable-next-line deprecation/deprecation
98
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
99
99
  return ToolbarItemUtilities.createActionItem(toolType.toolId, 0, toolType.iconSpec, toolType.flyover, () => {
100
100
  void IModelApp.tools.run(toolType.toolId);
101
101
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItemUtilities.tsx"],"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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { IModelApp, type ToolType } from \"@itwin/core-frontend\";\nimport type {\n ToolbarActionItem,\n ToolbarCustomItem,\n ToolbarGroupItem,\n} from \"./ToolbarItem.js\";\nimport { isArgsUtil } from \"../backstage/BackstageItemUtilities.js\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\n\n/** Helper namespace to create toolbar items.\n * @public\n */\nexport namespace ToolbarItemUtilities {\n interface CreateActionItemArgs\n extends Partial<Omit<ToolbarActionItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarActionItem, \"id\"> {\n icon?: ToolbarActionItem[\"iconNode\"];\n }\n\n type DeprecatedActionItemArgs = [\n id: ToolbarActionItem[\"id\"],\n itemPriority: ToolbarActionItem[\"itemPriority\"],\n icon: ToolbarActionItem[\"icon\"],\n label: ToolbarActionItem[\"label\"],\n execute: ToolbarActionItem[\"execute\"],\n overrides?: Partial<ToolbarActionItem>\n ];\n\n function createDeprecatedActionItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n execute,\n overrides,\n ]: DeprecatedActionItemArgs\n ): ToolbarActionItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n execute,\n ...overrides,\n };\n }\n\n /** Creates an action item. */\n export function createActionItem(\n args: CreateActionItemArgs\n ): ToolbarActionItem;\n /** Creates an action item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createActionItem(\n ...args: DeprecatedActionItemArgs\n ): ToolbarActionItem;\n /** Creates an action item. */\n export function createActionItem(\n ...args: DeprecatedActionItemArgs | [CreateActionItemArgs]\n ): ToolbarActionItem {\n if (isArgsUtil(args)) {\n const {\n execute = () => {},\n icon,\n itemPriority = 0,\n label = \"\",\n ...other\n } = args[0];\n return {\n execute,\n itemPriority,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n label,\n ...other,\n };\n }\n return createDeprecatedActionItem(...args);\n }\n\n interface CreateGroupItemArgs\n extends Partial<Omit<ToolbarGroupItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarGroupItem, \"id\"> {\n icon?: ToolbarGroupItem[\"iconNode\"];\n }\n\n type DeprecatedGroupItemArgs = [\n id: string,\n itemPriority: number,\n icon: ToolbarGroupItem[\"icon\"],\n label: ToolbarGroupItem[\"label\"],\n items: ToolbarGroupItem[\"items\"],\n overrides?: Partial<ToolbarGroupItem>\n ];\n\n function createDeprecatedGroupItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n items,\n overrides,\n ]: DeprecatedGroupItemArgs\n ): ToolbarGroupItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n items,\n ...overrides,\n };\n }\n\n /** Creates a group item. */\n export function createGroupItem(args: CreateGroupItemArgs): ToolbarGroupItem;\n /** Creates a group item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createGroupItem(\n ...args: DeprecatedGroupItemArgs\n ): ToolbarGroupItem;\n /** Creates a group item. */\n export function createGroupItem(\n ...args: DeprecatedGroupItemArgs | [CreateGroupItemArgs]\n ): ToolbarGroupItem {\n if (isArgsUtil(args)) {\n const {\n icon,\n itemPriority = 0,\n items = [],\n label = \"\",\n ...other\n } = args[0];\n return {\n itemPriority,\n items,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n label,\n ...other,\n };\n }\n return createDeprecatedGroupItem(...args);\n }\n\n interface CreateCustomItemArgs\n extends Partial<Omit<ToolbarCustomItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarCustomItem, \"id\"> {\n icon?: ToolbarCustomItem[\"iconNode\"];\n }\n\n type DeprecatedCustomItemArgs = [\n id: string,\n itemPriority: number,\n icon: ToolbarCustomItem[\"icon\"],\n label: ToolbarCustomItem[\"label\"],\n panelContent?: ToolbarCustomItem[\"panelContent\"],\n overrides?: Partial<ToolbarCustomItem>\n ];\n\n function createDeprecatedCustomItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n overrides,\n ]: DeprecatedCustomItemArgs\n ): ToolbarCustomItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n ...overrides,\n };\n }\n\n /** Creates a custom item. */\n export function createCustomItem(\n args: CreateCustomItemArgs\n ): ToolbarCustomItem;\n /** Creates a custom item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createCustomItem(\n ...args: DeprecatedCustomItemArgs\n ): ToolbarCustomItem;\n /** Creates a custom item. */\n export function createCustomItem(\n ...args: DeprecatedCustomItemArgs | [CreateCustomItemArgs]\n ): ToolbarCustomItem {\n if (isArgsUtil(args)) {\n const { icon, itemPriority = 0, ...other } = args[0];\n return {\n itemPriority,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n ...other,\n };\n }\n return createDeprecatedCustomItem(...args);\n }\n\n /** Creates an action item from the specified tool type. */\n export function createForTool(\n toolType: ToolType,\n overrides?: Partial<ToolbarActionItem>\n ): ToolbarActionItem {\n const iconNode = ToolUtilities.isWithIcon(toolType)\n ? toolType.iconElement\n : undefined;\n\n // eslint-disable-next-line deprecation/deprecation\n return ToolbarItemUtilities.createActionItem(\n toolType.toolId,\n 0,\n toolType.iconSpec,\n toolType.flyover,\n () => {\n void IModelApp.tools.run(toolType.toolId);\n },\n {\n description: toolType.description,\n iconNode,\n ...overrides,\n }\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ToolbarItemUtilities.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItemUtilities.tsx"],"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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { IModelApp, type ToolType } from \"@itwin/core-frontend\";\nimport type {\n ToolbarActionItem,\n ToolbarCustomItem,\n ToolbarGroupItem,\n} from \"./ToolbarItem.js\";\nimport { isArgsUtil } from \"../backstage/BackstageItemUtilities.js\";\nimport { ToolUtilities } from \"@itwin/imodel-components-react\";\n\n/** Helper namespace to create toolbar items.\n * @public\n */\nexport namespace ToolbarItemUtilities {\n interface CreateActionItemArgs\n extends Partial<Omit<ToolbarActionItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarActionItem, \"id\"> {\n icon?: ToolbarActionItem[\"iconNode\"];\n }\n\n type DeprecatedActionItemArgs = [\n id: ToolbarActionItem[\"id\"],\n itemPriority: ToolbarActionItem[\"itemPriority\"],\n icon: ToolbarActionItem[\"icon\"],\n label: ToolbarActionItem[\"label\"],\n execute: ToolbarActionItem[\"execute\"],\n overrides?: Partial<ToolbarActionItem>\n ];\n\n function createDeprecatedActionItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n execute,\n overrides,\n ]: DeprecatedActionItemArgs\n ): ToolbarActionItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n execute,\n ...overrides,\n };\n }\n\n /** Creates an action item. */\n export function createActionItem(\n args: CreateActionItemArgs\n ): ToolbarActionItem;\n /** Creates an action item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createActionItem(\n ...args: DeprecatedActionItemArgs\n ): ToolbarActionItem;\n /** Creates an action item. */\n export function createActionItem(\n ...args: DeprecatedActionItemArgs | [CreateActionItemArgs]\n ): ToolbarActionItem {\n if (isArgsUtil(args)) {\n const {\n execute = () => {},\n icon,\n itemPriority = 0,\n label = \"\",\n ...other\n } = args[0];\n return {\n execute,\n itemPriority,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n label,\n ...other,\n };\n }\n return createDeprecatedActionItem(...args);\n }\n\n interface CreateGroupItemArgs\n extends Partial<Omit<ToolbarGroupItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarGroupItem, \"id\"> {\n icon?: ToolbarGroupItem[\"iconNode\"];\n }\n\n type DeprecatedGroupItemArgs = [\n id: string,\n itemPriority: number,\n icon: ToolbarGroupItem[\"icon\"],\n label: ToolbarGroupItem[\"label\"],\n items: ToolbarGroupItem[\"items\"],\n overrides?: Partial<ToolbarGroupItem>\n ];\n\n function createDeprecatedGroupItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n items,\n overrides,\n ]: DeprecatedGroupItemArgs\n ): ToolbarGroupItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n items,\n ...overrides,\n };\n }\n\n /** Creates a group item. */\n export function createGroupItem(args: CreateGroupItemArgs): ToolbarGroupItem;\n /** Creates a group item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createGroupItem(\n ...args: DeprecatedGroupItemArgs\n ): ToolbarGroupItem;\n /** Creates a group item. */\n export function createGroupItem(\n ...args: DeprecatedGroupItemArgs | [CreateGroupItemArgs]\n ): ToolbarGroupItem {\n if (isArgsUtil(args)) {\n const {\n icon,\n itemPriority = 0,\n items = [],\n label = \"\",\n ...other\n } = args[0];\n return {\n itemPriority,\n items,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n label,\n ...other,\n };\n }\n return createDeprecatedGroupItem(...args);\n }\n\n interface CreateCustomItemArgs\n extends Partial<Omit<ToolbarCustomItem, \"icon\" | \"iconNode\" | \"id\">>,\n Pick<ToolbarCustomItem, \"id\"> {\n icon?: ToolbarCustomItem[\"iconNode\"];\n }\n\n type DeprecatedCustomItemArgs = [\n id: string,\n itemPriority: number,\n icon: ToolbarCustomItem[\"icon\"],\n label: ToolbarCustomItem[\"label\"],\n panelContent?: ToolbarCustomItem[\"panelContent\"],\n overrides?: Partial<ToolbarCustomItem>\n ];\n\n function createDeprecatedCustomItem(\n ...[\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n overrides,\n ]: DeprecatedCustomItemArgs\n ): ToolbarCustomItem {\n return {\n id,\n itemPriority,\n icon,\n label,\n panelContent,\n ...overrides,\n };\n }\n\n /** Creates a custom item. */\n export function createCustomItem(\n args: CreateCustomItemArgs\n ): ToolbarCustomItem;\n /** Creates a custom item.\n * @deprecated in 4.16.0. Uses a deprecated {@link @itwin/core-react#IconSpec} type. Use an overload instead.\n */\n export function createCustomItem(\n ...args: DeprecatedCustomItemArgs\n ): ToolbarCustomItem;\n /** Creates a custom item. */\n export function createCustomItem(\n ...args: DeprecatedCustomItemArgs | [CreateCustomItemArgs]\n ): ToolbarCustomItem {\n if (isArgsUtil(args)) {\n const { icon, itemPriority = 0, ...other } = args[0];\n return {\n itemPriority,\n iconNode: icon,\n icon: icon ? <>{icon}</> : undefined,\n ...other,\n };\n }\n return createDeprecatedCustomItem(...args);\n }\n\n /** Creates an action item from the specified tool type. */\n export function createForTool(\n toolType: ToolType,\n overrides?: Partial<ToolbarActionItem>\n ): ToolbarActionItem {\n const iconNode = ToolUtilities.isWithIcon(toolType)\n ? toolType.iconElement\n : undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n return ToolbarItemUtilities.createActionItem(\n toolType.toolId,\n 0,\n toolType.iconSpec,\n toolType.flyover,\n () => {\n void IModelApp.tools.run(toolType.toolId);\n },\n {\n description: toolType.description,\n iconNode,\n ...overrides,\n }\n );\n }\n}\n"]}
@@ -31,7 +31,7 @@ export class ToolbarItemsManager {
31
31
  }
32
32
  loadItemsInternal(items, processConditions, sendItemChanged) {
33
33
  if (processConditions && items) {
34
- // eslint-disable-next-line deprecation/deprecation
34
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
35
35
  const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);
36
36
  if (0 !== eventIds.length) {
37
37
  const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(items, new Set(eventIds));
@@ -91,7 +91,7 @@ export class ToolbarItemsManager {
91
91
  }
92
92
  else if (entry instanceof ConditionalStringValue) {
93
93
  entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
94
- // eslint-disable-next-line deprecation/deprecation
94
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
95
95
  }
96
96
  else if (entry instanceof ConditionalIconItem) {
97
97
  entry.syncEventIds.forEach((eventId) => eventIds.add(eventId.toLowerCase()));
@@ -131,10 +131,10 @@ export class ToolbarItemsManager {
131
131
  else if (entry instanceof ConditionalStringValue) {
132
132
  if (ConditionalStringValue.refreshValue(entry, eventIds))
133
133
  itemsUpdated = true;
134
- // eslint-disable-next-line deprecation/deprecation
134
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
135
135
  }
136
136
  else if (entry instanceof ConditionalIconItem) {
137
- // eslint-disable-next-line deprecation/deprecation
137
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
138
138
  if (ConditionalIconItem.refreshValue(entry, eventIds))
139
139
  itemsUpdated = true;
140
140
  }
@@ -152,7 +152,7 @@ export class ToolbarItemsManager {
152
152
  let updatedItem = { ...item };
153
153
  if (isToolbarGroupItem(updatedItem)) {
154
154
  const { childrenUpdated, childItems } =
155
- // eslint-disable-next-line deprecation/deprecation
155
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
156
156
  ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);
157
157
  if (childrenUpdated) {
158
158
  updatedItem = {
@@ -170,10 +170,10 @@ export class ToolbarItemsManager {
170
170
  else if (entry instanceof ConditionalStringValue) {
171
171
  if (ConditionalStringValue.refreshValue(entry, eventIds))
172
172
  updateRequired = true;
173
- // eslint-disable-next-line deprecation/deprecation
173
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
174
174
  }
175
175
  else if (entry instanceof ConditionalIconItem) {
176
- // eslint-disable-next-line deprecation/deprecation
176
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
177
177
  if (ConditionalIconItem.refreshValue(entry, eventIds))
178
178
  updateRequired = true;
179
179
  }
@@ -208,7 +208,7 @@ export class ToolbarItemsManager {
208
208
  for (const item of this.items) {
209
209
  if (isToolbarGroupItem(item)) {
210
210
  if (
211
- // eslint-disable-next-line deprecation/deprecation
211
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
212
212
  ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))
213
213
  return true;
214
214
  }
@@ -228,7 +228,7 @@ export class ToolbarItemsManager {
228
228
  if (isToolbarGroupItem(updatedItem)) {
229
229
  updatedItem = {
230
230
  ...updatedItem,
231
- // eslint-disable-next-line deprecation/deprecation
231
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
232
232
  items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),
233
233
  };
234
234
  }
@@ -247,7 +247,7 @@ export class ToolbarItemsManager {
247
247
  if (isToolbarGroupItem(updatedItem)) {
248
248
  updatedItem = {
249
249
  ...updatedItem,
250
- // eslint-disable-next-line deprecation/deprecation
250
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
251
251
  items: ToolbarItemsManager.refreshActiveToolIdInChildItems(updatedItem, toolId),
252
252
  };
253
253
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItemsManager.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 Toolbar\n */\n\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { ConditionalIconItem } from \"@itwin/core-react\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport { isToolbarGroupItem } from \"./ToolbarItem.js\";\n\nfunction isInstance<T>(args: T | ReadonlyArray<T>): args is T {\n return !Array.isArray(args);\n}\n\n/** Arguments of [[ToolbarItemsManager.onChanged]] event.\n * @internal\n */\nexport interface ToolbarItemsChangedArgs {\n readonly items: ReadonlyArray<ToolbarItem>;\n}\n\n/**\n * Controls status bar items.\n * @internal\n * @deprecated in 4.4.0. This is no longer used internally, left because of an erroneous public dependency that is also deprecated.\n */\nexport class ToolbarItemsManager {\n // This class should be removed once `useDefaultToolbarItems` and `useUiItemsProviderToolbarItems` (public version) get removed.\n // If you are attempting to fix/clean this class, it is probably an error as it is no longer used and should not be reintroduced, use Hooks instead.\n protected _items: ReadonlyArray<ToolbarItem> = [];\n\n constructor(items?: ReadonlyArray<ToolbarItem>) {\n if (items) this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when Toolbar items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<\n (args: ToolbarItemsChangedArgs) => void\n >();\n\n private loadItemsInternal(\n items: ReadonlyArray<ToolbarItem>,\n processConditions: boolean,\n sendItemChanged: boolean\n ) {\n if (processConditions && items) {\n // eslint-disable-next-line deprecation/deprecation\n const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } =\n this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n if (itemsUpdated) items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged) this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<ToolbarItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Get an array of the Toolbar items */\n public get items(): ReadonlyArray<ToolbarItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<ToolbarItem>) {\n if (items !== this._items) this.loadItemsInternal(items, true, true);\n }\n\n public add(itemOrItems: ToolbarItem | ReadonlyArray<ToolbarItem>) {\n let itemsToAdd;\n if (isInstance(itemOrItems)) itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter(\n (itemToAdd, index) =>\n itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index\n );\n }\n itemsToAdd = itemsToAdd.filter(\n (itemToAdd) =>\n this._items.find((item) => item.id === itemToAdd.id) === undefined\n );\n if (itemsToAdd.length === 0) return;\n const items = [...this._items, ...itemsToAdd];\n this.items = items;\n }\n\n /** Remove Toolbar items based on id */\n public remove(\n itemIdOrItemIds: ToolbarItem[\"id\"] | ReadonlyArray<ToolbarItem[\"id\"]>\n ) {\n const items = this._items.filter((item) => {\n return isInstance(itemIdOrItemIds)\n ? item.id !== itemIdOrItemIds\n : !itemIdOrItemIds.find((itemId) => itemId === item.id);\n });\n this.items = items;\n }\n\n /** @internal */\n public removeAll() {\n this._items = [];\n }\n\n private static gatherSyncIds(\n eventIds: Set<string>,\n items: readonly ToolbarItem[]\n ) {\n for (const item of items) {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n } else if (entry instanceof ConditionalStringValue) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n // eslint-disable-next-line deprecation/deprecation\n } else if (entry instanceof ConditionalIconItem) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n }\n }\n if (isToolbarGroupItem(item)) {\n this.gatherSyncIds(eventIds, item.items);\n }\n }\n }\n\n public static getSyncIdsOfInterest(items: readonly ToolbarItem[]): string[] {\n const eventIds = new Set<string>();\n this.gatherSyncIds(eventIds, items);\n return [...eventIds.values()];\n }\n\n private static refreshChildItems(\n parentItem: ToolbarGroupItem,\n eventIds: Set<string>\n ): {\n childrenUpdated: boolean;\n childItems: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\n } {\n const updatedItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n let itemsUpdated = false;\n\n for (const item of parentItem.items) {\n let updatedItem;\n if (isToolbarGroupItem(item)) {\n updatedItem = { ...item };\n const { childrenUpdated, childItems } = this.refreshChildItems(\n updatedItem,\n eventIds\n );\n if (childrenUpdated) {\n updatedItem.items = childItems;\n itemsUpdated = true;\n }\n } else {\n updatedItem = { ...item };\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n } else if (entry instanceof ConditionalStringValue) {\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n // eslint-disable-next-line deprecation/deprecation\n } else if (entry instanceof ConditionalIconItem) {\n // eslint-disable-next-line deprecation/deprecation\n if (ConditionalIconItem.refreshValue(entry, eventIds))\n itemsUpdated = true;\n }\n }\n\n updatedItems.push(updatedItem);\n }\n return { childrenUpdated: itemsUpdated, childItems: updatedItems };\n }\n\n private internalRefreshAffectedItems(\n items: readonly ToolbarItem[],\n eventIds: Set<string>\n ): { itemsUpdated: boolean; updatedItems: ToolbarItem[] } {\n if (0 === eventIds.size) return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: ToolbarItem[] = [];\n for (const item of items) {\n let updatedItem = { ...item };\n if (isToolbarGroupItem(updatedItem)) {\n const { childrenUpdated, childItems } =\n // eslint-disable-next-line deprecation/deprecation\n ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);\n if (childrenUpdated) {\n updatedItem = {\n ...updatedItem,\n items: childItems,\n };\n updateRequired = true;\n }\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } else if (entry instanceof ConditionalStringValue) {\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n // eslint-disable-next-line deprecation/deprecation\n } else if (entry instanceof ConditionalIconItem) {\n // eslint-disable-next-line deprecation/deprecation\n if (ConditionalIconItem.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n if (0 === eventIds.size) return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(\n this.items,\n eventIds\n );\n\n if (itemsUpdated) this.loadItemsInternal(updatedItems, false, true);\n }\n\n private static isActiveToolIdRefreshRequiredForChildren(\n children: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>,\n toolId: string\n ): boolean {\n for (const item of children) {\n if (isToolbarGroupItem(item)) {\n if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\n return true;\n } else {\n const isActive = !!item.isActive;\n if (\n (isActive && item.id !== toolId) ||\n (!isActive && item.id === toolId)\n )\n return true;\n }\n }\n return false;\n }\n\n private isActiveToolIdRefreshRequired(toolId: string): boolean {\n for (const item of this.items) {\n if (isToolbarGroupItem(item)) {\n if (\n // eslint-disable-next-line deprecation/deprecation\n ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(\n item.items,\n toolId\n )\n )\n return true;\n } else {\n const isActive = !!item.isActive;\n if (\n (isActive && item.id !== toolId) ||\n (!isActive && item.id === toolId)\n )\n return true;\n }\n }\n\n return false;\n }\n\n private static refreshActiveToolIdInChildItems(\n parentItem: ToolbarGroupItem,\n toolId: string\n ): Array<ToolbarActionItem | ToolbarGroupItem> {\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const item of parentItem.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n // eslint-disable-next-line deprecation/deprecation\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(\n updatedItem,\n toolId\n ),\n };\n }\n\n updatedItem.isActive = updatedItem.id === toolId;\n newChildren.push(updatedItem);\n }\n return newChildren;\n }\n\n public setActiveToolId(toolId: string) {\n // first see if any updates are really necessary\n if (!this.isActiveToolIdRefreshRequired(toolId)) return;\n\n const newItems: ToolbarItem[] = [];\n for (const item of this.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n // eslint-disable-next-line deprecation/deprecation\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(\n updatedItem,\n toolId\n ),\n };\n }\n\n updatedItem.isActive = updatedItem.id === toolId;\n newItems.push(updatedItem);\n }\n\n this.items = newItems;\n }\n}\n"]}
1
+ {"version":3,"file":"ToolbarItemsManager.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarItemsManager.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,SAAS,UAAU,CAAI,IAA0B;IAC/C,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AASD;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAK9B,YAAY,KAAkC;QAJ9C,gIAAgI;QAChI,oJAAoJ;QAC1I,WAAM,GAA+B,EAAE,CAAC;QAMlD;;WAEG;QACa,mBAAc,GAAG,IAAI,OAAO,EAEzC,CAAC;QARF,IAAI,KAAK;YAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IASO,iBAAiB,CACvB,KAAiC,EACjC,iBAA0B,EAC1B,eAAwB;QAExB,IAAI,iBAAiB,IAAI,KAAK,EAAE,CAAC;YAC/B,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC1B,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAClC,IAAI,CAAC,4BAA4B,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAE9D,IAAI,YAAY;oBAAE,KAAK,GAAG,YAAY,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,eAAe;YAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,KAAiC;QAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,yCAAyC;IACzC,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,KAAiC;QAChD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAEM,GAAG,CAAC,WAAqD;QAC9D,IAAI,UAAU,CAAC;QACf,IAAI,UAAU,CAAC,WAAW,CAAC;YAAE,UAAU,GAAG,CAAC,WAAW,CAAC,CAAC;aACnD,CAAC;YACJ,UAAU,GAAG,WAAW,CAAC,MAAM,CAC7B,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACnB,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,KAAK,CACtE,CAAC;QACJ,CAAC;QACD,UAAU,GAAG,UAAU,CAAC,MAAM,CAC5B,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,SAAS,CACrE,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACpC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,uCAAuC;IAChC,MAAM,CACX,eAAqE;QAErE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACxC,OAAO,UAAU,CAAC,eAAe,CAAC;gBAChC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,eAAe;gBAC7B,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,gBAAgB;IACT,SAAS;QACd,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,QAAqB,EACrB,KAA6B;QAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;oBAC7C,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE,CAC7C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACpC,CAAC;gBACJ,CAAC;qBAAM,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;oBACnD,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE,CAC7C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACpC,CAAC;oBACF,4DAA4D;gBAC9D,CAAC;qBAAM,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;oBAChD,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE,CAC7C,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CACpC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,KAA6B;QAC9D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,UAA4B,EAC5B,QAAqB;QAKrB,MAAM,YAAY,GAAgD,EAAE,CAAC;QACrE,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,WAAW,CAAC;YAChB,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC1B,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAC5D,WAAW,EACX,QAAQ,CACT,CAAC;gBACF,IAAI,eAAe,EAAE,CAAC;oBACpB,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC;oBAC/B,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAC5B,CAAC;YAED,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;oBAC7C,IAAI,uBAAuB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACvD,YAAY,GAAG,IAAI,CAAC;gBACxB,CAAC;qBAAM,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;oBACnD,IAAI,sBAAsB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACtD,YAAY,GAAG,IAAI,CAAC;oBACtB,4DAA4D;gBAC9D,CAAC;qBAAM,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;oBAChD,4DAA4D;oBAC5D,IAAI,mBAAmB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACnD,YAAY,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACrE,CAAC;IAEO,4BAA4B,CAClC,KAA6B,EAC7B,QAAqB;QAErB,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI;YAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAE1E,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAC9B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE;gBACnC,4DAA4D;gBAC5D,mBAAmB,CAAC,iBAAiB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC/D,IAAI,eAAe,EAAE,CAAC;oBACpB,WAAW,GAAG;wBACZ,GAAG,WAAW;wBACd,KAAK,EAAE,UAAU;qBAClB,CAAC;oBACF,cAAc,GAAG,IAAI,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpD,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;oBAC7C,IAAI,uBAAuB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACvD,cAAc,GAAG,IAAI,CAAC;gBAC1B,CAAC;qBAAM,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;oBACnD,IAAI,sBAAsB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACtD,cAAc,GAAG,IAAI,CAAC;oBACxB,4DAA4D;gBAC9D,CAAC;qBAAM,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;oBAChD,4DAA4D;oBAC5D,IAAI,mBAAmB,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC;wBACnD,cAAc,GAAG,IAAI,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAClE,CAAC;IAEM,oBAAoB,CAAC,QAAqB;QAC/C,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI;YAAE,OAAO;QAEhC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,4BAA4B,CACtE,IAAI,CAAC,KAAK,EACV,QAAQ,CACT,CAAC;QAEF,IAAI,YAAY;YAAE,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAEO,MAAM,CAAC,wCAAwC,CACrD,QAA6D,EAC7D,MAAc;QAEd,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC;oBACnE,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjC,IACE,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oBAChC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oBAEjC,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,6BAA6B,CAAC,MAAc;QAClD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B;gBACE,4DAA4D;gBAC5D,mBAAmB,CAAC,wCAAwC,CAC1D,IAAI,CAAC,KAAK,EACV,MAAM,CACP;oBAED,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBACjC,IACE,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oBAChC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;oBAEjC,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,+BAA+B,CAC5C,UAA4B,EAC5B,MAAc;QAEd,MAAM,WAAW,GAAgD,EAAE,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAE9B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpC,WAAW,GAAG;oBACZ,GAAG,WAAW;oBACd,4DAA4D;oBAC5D,KAAK,EAAE,mBAAmB,CAAC,+BAA+B,CACxD,WAAW,EACX,MAAM,CACP;iBACF,CAAC;YACJ,CAAC;YAED,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,eAAe,CAAC,MAAc;QACnC,gDAAgD;QAChD,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;YAAE,OAAO;QAExD,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAE9B,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpC,WAAW,GAAG;oBACZ,GAAG,WAAW;oBACd,4DAA4D;oBAC5D,KAAK,EAAE,mBAAmB,CAAC,+BAA+B,CACxD,WAAW,EACX,MAAM,CACP;iBACF,CAAC;YACJ,CAAC;YAED,WAAW,CAAC,QAAQ,GAAG,WAAW,CAAC,EAAE,KAAK,MAAM,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;CACF","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 Toolbar\n */\n\nimport {\n ConditionalBooleanValue,\n ConditionalStringValue,\n} from \"@itwin/appui-abstract\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { ConditionalIconItem } from \"@itwin/core-react\";\nimport type {\n ToolbarActionItem,\n ToolbarGroupItem,\n ToolbarItem,\n} from \"./ToolbarItem.js\";\nimport { isToolbarGroupItem } from \"./ToolbarItem.js\";\n\nfunction isInstance<T>(args: T | ReadonlyArray<T>): args is T {\n return !Array.isArray(args);\n}\n\n/** Arguments of [[ToolbarItemsManager.onChanged]] event.\n * @internal\n */\nexport interface ToolbarItemsChangedArgs {\n readonly items: ReadonlyArray<ToolbarItem>;\n}\n\n/**\n * Controls status bar items.\n * @internal\n * @deprecated in 4.4.0. This is no longer used internally, left because of an erroneous public dependency that is also deprecated.\n */\nexport class ToolbarItemsManager {\n // This class should be removed once `useDefaultToolbarItems` and `useUiItemsProviderToolbarItems` (public version) get removed.\n // If you are attempting to fix/clean this class, it is probably an error as it is no longer used and should not be reintroduced, use Hooks instead.\n protected _items: ReadonlyArray<ToolbarItem> = [];\n\n constructor(items?: ReadonlyArray<ToolbarItem>) {\n if (items) this.loadItemsInternal(items, true, false);\n }\n\n /** Event raised when Toolbar items are changed.\n * @internal\n */\n public readonly onItemsChanged = new BeEvent<\n (args: ToolbarItemsChangedArgs) => void\n >();\n\n private loadItemsInternal(\n items: ReadonlyArray<ToolbarItem>,\n processConditions: boolean,\n sendItemChanged: boolean\n ) {\n if (processConditions && items) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const eventIds = ToolbarItemsManager.getSyncIdsOfInterest(items);\n if (0 !== eventIds.length) {\n const { itemsUpdated, updatedItems } =\n this.internalRefreshAffectedItems(items, new Set(eventIds));\n\n if (itemsUpdated) items = updatedItems;\n }\n }\n\n this._items = items;\n if (sendItemChanged) this.onItemsChanged.raiseEvent({ items });\n }\n\n /** load items but do not fire onItemsChanged\n * @internal\n */\n public loadItems(items: ReadonlyArray<ToolbarItem>) {\n this.loadItemsInternal(items, true, false);\n }\n\n /** Get an array of the Toolbar items */\n public get items(): ReadonlyArray<ToolbarItem> {\n return this._items;\n }\n\n public set items(items: ReadonlyArray<ToolbarItem>) {\n if (items !== this._items) this.loadItemsInternal(items, true, true);\n }\n\n public add(itemOrItems: ToolbarItem | ReadonlyArray<ToolbarItem>) {\n let itemsToAdd;\n if (isInstance(itemOrItems)) itemsToAdd = [itemOrItems];\n else {\n itemsToAdd = itemOrItems.filter(\n (itemToAdd, index) =>\n itemOrItems.findIndex((item) => item.id === itemToAdd.id) === index\n );\n }\n itemsToAdd = itemsToAdd.filter(\n (itemToAdd) =>\n this._items.find((item) => item.id === itemToAdd.id) === undefined\n );\n if (itemsToAdd.length === 0) return;\n const items = [...this._items, ...itemsToAdd];\n this.items = items;\n }\n\n /** Remove Toolbar items based on id */\n public remove(\n itemIdOrItemIds: ToolbarItem[\"id\"] | ReadonlyArray<ToolbarItem[\"id\"]>\n ) {\n const items = this._items.filter((item) => {\n return isInstance(itemIdOrItemIds)\n ? item.id !== itemIdOrItemIds\n : !itemIdOrItemIds.find((itemId) => itemId === item.id);\n });\n this.items = items;\n }\n\n /** @internal */\n public removeAll() {\n this._items = [];\n }\n\n private static gatherSyncIds(\n eventIds: Set<string>,\n items: readonly ToolbarItem[]\n ) {\n for (const item of items) {\n for (const [, entry] of Object.entries(item)) {\n if (entry instanceof ConditionalBooleanValue) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n } else if (entry instanceof ConditionalStringValue) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n } else if (entry instanceof ConditionalIconItem) {\n entry.syncEventIds.forEach((eventId: string) =>\n eventIds.add(eventId.toLowerCase())\n );\n }\n }\n if (isToolbarGroupItem(item)) {\n this.gatherSyncIds(eventIds, item.items);\n }\n }\n }\n\n public static getSyncIdsOfInterest(items: readonly ToolbarItem[]): string[] {\n const eventIds = new Set<string>();\n this.gatherSyncIds(eventIds, items);\n return [...eventIds.values()];\n }\n\n private static refreshChildItems(\n parentItem: ToolbarGroupItem,\n eventIds: Set<string>\n ): {\n childrenUpdated: boolean;\n childItems: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>;\n } {\n const updatedItems: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n let itemsUpdated = false;\n\n for (const item of parentItem.items) {\n let updatedItem;\n if (isToolbarGroupItem(item)) {\n updatedItem = { ...item };\n const { childrenUpdated, childItems } = this.refreshChildItems(\n updatedItem,\n eventIds\n );\n if (childrenUpdated) {\n updatedItem.items = childItems;\n itemsUpdated = true;\n }\n } else {\n updatedItem = { ...item };\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n } else if (entry instanceof ConditionalStringValue) {\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n itemsUpdated = true;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n } else if (entry instanceof ConditionalIconItem) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (ConditionalIconItem.refreshValue(entry, eventIds))\n itemsUpdated = true;\n }\n }\n\n updatedItems.push(updatedItem);\n }\n return { childrenUpdated: itemsUpdated, childItems: updatedItems };\n }\n\n private internalRefreshAffectedItems(\n items: readonly ToolbarItem[],\n eventIds: Set<string>\n ): { itemsUpdated: boolean; updatedItems: ToolbarItem[] } {\n if (0 === eventIds.size) return { itemsUpdated: false, updatedItems: [] };\n\n let updateRequired = false;\n\n const newItems: ToolbarItem[] = [];\n for (const item of items) {\n let updatedItem = { ...item };\n if (isToolbarGroupItem(updatedItem)) {\n const { childrenUpdated, childItems } =\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ToolbarItemsManager.refreshChildItems(updatedItem, eventIds);\n if (childrenUpdated) {\n updatedItem = {\n ...updatedItem,\n items: childItems,\n };\n updateRequired = true;\n }\n }\n\n for (const [, entry] of Object.entries(updatedItem)) {\n if (entry instanceof ConditionalBooleanValue) {\n if (ConditionalBooleanValue.refreshValue(entry, eventIds))\n updateRequired = true;\n } else if (entry instanceof ConditionalStringValue) {\n if (ConditionalStringValue.refreshValue(entry, eventIds))\n updateRequired = true;\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n } else if (entry instanceof ConditionalIconItem) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n if (ConditionalIconItem.refreshValue(entry, eventIds))\n updateRequired = true;\n }\n }\n\n newItems.push(updatedItem);\n }\n\n return { itemsUpdated: updateRequired, updatedItems: newItems };\n }\n\n public refreshAffectedItems(eventIds: Set<string>) {\n if (0 === eventIds.size) return;\n\n const { itemsUpdated, updatedItems } = this.internalRefreshAffectedItems(\n this.items,\n eventIds\n );\n\n if (itemsUpdated) this.loadItemsInternal(updatedItems, false, true);\n }\n\n private static isActiveToolIdRefreshRequiredForChildren(\n children: ReadonlyArray<ToolbarActionItem | ToolbarGroupItem>,\n toolId: string\n ): boolean {\n for (const item of children) {\n if (isToolbarGroupItem(item)) {\n if (this.isActiveToolIdRefreshRequiredForChildren(item.items, toolId))\n return true;\n } else {\n const isActive = !!item.isActive;\n if (\n (isActive && item.id !== toolId) ||\n (!isActive && item.id === toolId)\n )\n return true;\n }\n }\n return false;\n }\n\n private isActiveToolIdRefreshRequired(toolId: string): boolean {\n for (const item of this.items) {\n if (isToolbarGroupItem(item)) {\n if (\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n ToolbarItemsManager.isActiveToolIdRefreshRequiredForChildren(\n item.items,\n toolId\n )\n )\n return true;\n } else {\n const isActive = !!item.isActive;\n if (\n (isActive && item.id !== toolId) ||\n (!isActive && item.id === toolId)\n )\n return true;\n }\n }\n\n return false;\n }\n\n private static refreshActiveToolIdInChildItems(\n parentItem: ToolbarGroupItem,\n toolId: string\n ): Array<ToolbarActionItem | ToolbarGroupItem> {\n const newChildren: Array<ToolbarActionItem | ToolbarGroupItem> = [];\n for (const item of parentItem.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(\n updatedItem,\n toolId\n ),\n };\n }\n\n updatedItem.isActive = updatedItem.id === toolId;\n newChildren.push(updatedItem);\n }\n return newChildren;\n }\n\n public setActiveToolId(toolId: string) {\n // first see if any updates are really necessary\n if (!this.isActiveToolIdRefreshRequired(toolId)) return;\n\n const newItems: ToolbarItem[] = [];\n for (const item of this.items) {\n let updatedItem = { ...item };\n\n if (isToolbarGroupItem(updatedItem)) {\n updatedItem = {\n ...updatedItem,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n items: ToolbarItemsManager.refreshActiveToolIdInChildItems(\n updatedItem,\n toolId\n ),\n };\n }\n\n updatedItem.isActive = updatedItem.id === toolId;\n newItems.push(updatedItem);\n }\n\n this.items = newItems;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarWithOverflow.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarWithOverflow.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAyBvC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;IACrD,OAAO,oBAAC,OAAO,IAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE,KAAM,YAAY,GAAI,CAAC;AAC9E,CAAC","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 Toolbar\n */\n\nimport * as React from \"react\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport type {\n Direction,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport type { ToolbarItem } from \"./ToolbarItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\n\n/** Component that displays toolbar items.\n * @beta\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface ToolbarWithOverflowProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded, also defines the orientation of the toolbar (Top/Bottom will create an horizontal toolbar, Left/Right will create a vertical toolbar). Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes to which direction the overflow popup panels are expanded. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items, displaying only the elements that can fit in the available space,\n * and put the other items into a single panel.\n * @beta\n */\nexport function ToolbarWithOverflow(props: ToolbarWithOverflowProps) {\n const { overflowExpandsTo, ...toolbarProps } = props;\n return <Toolbar enableOverflow={{ overflowExpandsTo }} {...toolbarProps} />;\n}\n"]}
1
+ {"version":3,"file":"ToolbarWithOverflow.js","sourceRoot":"","sources":["../../../src/appui-react/toolbar/ToolbarWithOverflow.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAyBvC;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;IACrD,OAAO,oBAAC,OAAO,IAAC,cAAc,EAAE,EAAE,iBAAiB,EAAE,KAAM,YAAY,GAAI,CAAC;AAC9E,CAAC","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 Toolbar\n */\n\nimport * as React from \"react\";\nimport type { OnItemExecutedFunc } from \"@itwin/appui-abstract\";\nimport type { CommonProps, NoChildrenProps } from \"@itwin/core-react\";\nimport type {\n Direction,\n ToolbarOpacitySetting,\n ToolbarPanelAlignment,\n} from \"@itwin/components-react\";\nimport type { ToolbarItem } from \"./ToolbarItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\n\n/** Component that displays toolbar items.\n * @beta\n */\n// eslint-disable-next-line @typescript-eslint/no-deprecated\nexport interface ToolbarWithOverflowProps extends CommonProps, NoChildrenProps {\n /** Describes to which direction the popup panels are expanded, also defines the orientation of the toolbar (Top/Bottom will create an horizontal toolbar, Left/Right will create a vertical toolbar). Defaults to: [[Direction.Bottom]] */\n expandsTo?: Direction;\n /** Describes to which direction the overflow popup panels are expanded. Defaults to: [[Direction.Right]] */\n overflowExpandsTo?: Direction;\n /** Definitions for items of the toolbar. Items are expected to be already sorted by group and item. */\n items: ToolbarItem[];\n /** Describes how expanded panels are aligned. Defaults to: [[ToolbarPanelAlignment.Start]] */\n panelAlignment?: ToolbarPanelAlignment;\n /** Use Drag Interaction to open popups with nest action buttons */\n useDragInteraction?: boolean;\n /** Determines whether to use mouse proximity to alter the opacity of the toolbar */\n toolbarOpacitySetting?: ToolbarOpacitySetting;\n /** Optional function to call on any item execution */\n onItemExecuted?: OnItemExecutedFunc;\n /** Optional function to call on any KeyDown events processed by toolbar */\n onKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\n/** Component that displays toolbar items, displaying only the elements that can fit in the available space,\n * and put the other items into a single panel.\n * @beta\n */\nexport function ToolbarWithOverflow(props: ToolbarWithOverflowProps) {\n const { overflowExpandsTo, ...toolbarProps } = props;\n return <Toolbar enableOverflow={{ overflowExpandsTo }} {...toolbarProps} />;\n}\n"]}
@@ -5,6 +5,6 @@ import "./Badge.scss";
5
5
  import * as React from "react";
6
6
  import type { ToolbarItem } from "../../toolbar/ToolbarItem.js";
7
7
  /** @internal */
8
- export declare function Badge({ badge, // eslint-disable-line deprecation/deprecation
8
+ export declare function Badge({ badge, // eslint-disable-line @typescript-eslint/no-deprecated
9
9
  badgeKind, }: Pick<ToolbarItem, "badge" | "badgeKind">): React.JSX.Element;
10
10
  //# sourceMappingURL=Badge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/Badge.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,gBAAgB;AAChB,wBAAgB,KAAK,CAAC,EACpB,KAAK,EAAE,8CAA8C;AACrD,SAAS,GACV,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,qBAM1C"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/Badge.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,gBAAgB;AAChB,wBAAgB,KAAK,CAAC,EACpB,KAAK,EAAE,uDAAuD;AAC9D,SAAS,GACV,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,qBAM1C"}
@@ -9,7 +9,7 @@ import "./Badge.scss";
9
9
  import * as React from "react";
10
10
  import { Badge as CoreBadge } from "@itwin/core-react/internal";
11
11
  /** @internal */
12
- export function Badge({ badge, // eslint-disable-line deprecation/deprecation
12
+ export function Badge({ badge, // eslint-disable-line @typescript-eslint/no-deprecated
13
13
  badgeKind, }) {
14
14
  return (React.createElement("div", { className: "uifw-toolbar-group-badge" },
15
15
  React.createElement(CoreBadge, { type: badgeKind || badge })));
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/Badge.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGhE,gBAAgB;AAChB,MAAM,UAAU,KAAK,CAAC,EACpB,KAAK,EAAE,8CAA8C;AACrD,SAAS,GACgC;IACzC,OAAO,CACL,6BAAK,SAAS,EAAC,0BAA0B;QACvC,oBAAC,SAAS,IAAC,IAAI,EAAE,SAAS,IAAI,KAAK,GAAI,CACnC,CACP,CAAC;AACJ,CAAC","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 Toolbar\n */\n\nimport \"./Badge.scss\";\nimport * as React from \"react\";\nimport { Badge as CoreBadge } from \"@itwin/core-react/internal\";\nimport type { ToolbarItem } from \"../../toolbar/ToolbarItem.js\";\n\n/** @internal */\nexport function Badge({\n badge, // eslint-disable-line deprecation/deprecation\n badgeKind,\n}: Pick<ToolbarItem, \"badge\" | \"badgeKind\">) {\n return (\n <div className=\"uifw-toolbar-group-badge\">\n <CoreBadge type={badgeKind || badge} />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/Badge.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGhE,gBAAgB;AAChB,MAAM,UAAU,KAAK,CAAC,EACpB,KAAK,EAAE,uDAAuD;AAC9D,SAAS,GACgC;IACzC,OAAO,CACL,6BAAK,SAAS,EAAC,0BAA0B;QACvC,oBAAC,SAAS,IAAC,IAAI,EAAE,SAAS,IAAI,KAAK,GAAI,CACnC,CACP,CAAC;AACJ,CAAC","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 Toolbar\n */\n\nimport \"./Badge.scss\";\nimport * as React from \"react\";\nimport { Badge as CoreBadge } from \"@itwin/core-react/internal\";\nimport type { ToolbarItem } from \"../../toolbar/ToolbarItem.js\";\n\n/** @internal */\nexport function Badge({\n badge, // eslint-disable-line @typescript-eslint/no-deprecated\n badgeKind,\n}: Pick<ToolbarItem, \"badge\" | \"badgeKind\">) {\n return (\n <div className=\"uifw-toolbar-group-badge\">\n <CoreBadge type={badgeKind || badge} />\n </div>\n );\n}\n"]}
@@ -40,7 +40,7 @@ export function usePopoverPlacement() {
40
40
  }
41
41
  /** @internal */
42
42
  export function GroupMenuItem({ item, onClose }) {
43
- // eslint-disable-next-line deprecation/deprecation
43
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
44
44
  const iconSpec = useConditionalProp(item.icon);
45
45
  const label = useConditionalProp(item.label);
46
46
  const isDisabled = useConditionalProp(item.isDisabled);
@@ -51,7 +51,7 @@ export function GroupMenuItem({ item, onClose }) {
51
51
  }
52
52
  const subMenuItems = isDisabled ? undefined : toMenuItems(item, onClose);
53
53
  const startIcon = item.iconNode ? (React.createElement(React.Fragment, null, item.iconNode)) : (
54
- // eslint-disable-next-line deprecation/deprecation
54
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
55
55
  React.createElement(Icon, { iconSpec: iconSpec }));
56
56
  return (React.createElement(MenuItem, { startIcon: startIcon, disabled: isDisabled, subMenuItems: subMenuItems, onClick: () => {
57
57
  if (isToolbarActionItem(item)) {
@@ -1 +1 @@
1
- {"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/GroupItem.tsx"],"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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { DropdownMenu, MenuExtraContent, MenuItem } from \"@itwin/itwinui-react\";\nimport type { ToolbarItem } from \"../../toolbar/ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarCustomItem,\n isToolbarGroupItem,\n type ToolbarGroupItem,\n} from \"../../toolbar/ToolbarItem.js\";\nimport { useConditionalProp } from \"../../hooks/useConditionalProp.js\";\nimport { ExpandIndicator } from \"./ExpandIndicator.js\";\nimport { Item } from \"./Item.js\";\nimport { Badge } from \"./Badge.js\";\nimport { ToolGroupOverflowContext } from \"./OverflowButton.js\";\nimport { ToolbarContext } from \"./Toolbar.js\";\n\n/** @internal */\nexport interface GroupItemProps {\n item: ToolbarGroupItem;\n}\n\n/** @internal */\nexport const GroupItem = React.forwardRef<HTMLButtonElement, GroupItemProps>(\n function GroupItem({ item }, ref) {\n const placement = usePopoverPlacement();\n const context = React.useContext(ToolbarContext);\n const overflowContext = React.useContext(ToolGroupOverflowContext);\n\n if (overflowContext) {\n return <GroupMenuItem item={item} onClose={overflowContext.onClose} />;\n }\n return (\n <DropdownMenu\n menuItems={(close) => {\n return toMenuItems(item, close);\n }}\n placement={placement}\n onVisibleChange={(newVisible) => {\n context?.setPopoverOpen(newVisible);\n }}\n >\n <Item item={item} ref={ref}>\n <ExpandIndicator />\n </Item>\n </DropdownMenu>\n );\n }\n);\n\n/** @internal */\nexport function usePopoverPlacement() {\n const context = React.useContext(ToolbarContext);\n if (!context) return undefined;\n\n return `${context.expandsTo}-${context.panelAlignment}` as const;\n}\n\ninterface GroupMenuItemProps {\n item: ToolbarItem;\n onClose?: () => void;\n}\n\n/** @internal */\nexport function GroupMenuItem({ item, onClose }: GroupMenuItemProps) {\n // eslint-disable-next-line deprecation/deprecation\n const iconSpec = useConditionalProp(item.icon);\n const label = useConditionalProp(item.label);\n const isDisabled = useConditionalProp(item.isDisabled);\n const isHidden = useConditionalProp(item.isHidden);\n const isActive = useConditionalProp(item.isActive);\n\n if (isHidden) {\n return null;\n }\n\n const subMenuItems = isDisabled ? undefined : toMenuItems(item, onClose);\n const startIcon = item.iconNode ? (\n <>{item.iconNode}</>\n ) : (\n // eslint-disable-next-line deprecation/deprecation\n <Icon iconSpec={iconSpec} />\n );\n return (\n <MenuItem\n startIcon={startIcon}\n disabled={isDisabled}\n subMenuItems={subMenuItems}\n onClick={() => {\n if (isToolbarActionItem(item)) {\n item.execute();\n onClose?.();\n }\n }}\n isSelected={isActive}\n >\n {/* eslint-disable-next-line deprecation/deprecation */}\n <Badge badge={item.badge} badgeKind={item.badgeKind} />\n {label}\n </MenuItem>\n );\n}\n\nfunction toMenuItems(item: ToolbarItem, onClose?: () => void) {\n if (isToolbarGroupItem(item)) {\n return item.items.map((groupItem) => {\n return (\n <GroupMenuItem key={groupItem.id} item={groupItem} onClose={onClose} />\n );\n });\n }\n if (isToolbarCustomItem(item)) {\n return [\n <MenuExtraContent key={item.id}>{item.panelContent}</MenuExtraContent>,\n ];\n }\n return [];\n}\n"]}
1
+ {"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/GroupItem.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GAEnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9C,gBAAgB;AAChB,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CACvC,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG;IAC9B,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IAEnE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,oBAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,GAAI,CAAC;IACzE,CAAC;IACD,OAAO,CACL,oBAAC,YAAY,IACX,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC,EACD,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE;YAC9B,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG;YACxB,oBAAC,eAAe,OAAG,CACd,CACM,CAChB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,EAAW,CAAC;AACnE,CAAC;AAOD,gBAAgB;AAChB,MAAM,UAAU,aAAa,CAAC,EAAE,IAAI,EAAE,OAAO,EAAsB;IACjE,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChC,0CAAG,IAAI,CAAC,QAAQ,CAAI,CACrB,CAAC,CAAC,CAAC;IACF,4DAA4D;IAC5D,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAC7B,CAAC;IACF,OAAO,CACL,oBAAC,QAAQ,IACP,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;QACH,CAAC,EACD,UAAU,EAAE,QAAQ;QAGpB,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,GAAI;QACtD,KAAK,CACG,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAiB,EAAE,OAAoB;IAC1D,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAClC,OAAO,CACL,oBAAC,aAAa,IAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAI,CACxE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,oBAAC,gBAAgB,IAAC,GAAG,EAAE,IAAI,CAAC,EAAE,IAAG,IAAI,CAAC,YAAY,CAAoB;SACvE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC","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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { Icon } from \"@itwin/core-react\";\nimport { DropdownMenu, MenuExtraContent, MenuItem } from \"@itwin/itwinui-react\";\nimport type { ToolbarItem } from \"../../toolbar/ToolbarItem.js\";\nimport {\n isToolbarActionItem,\n isToolbarCustomItem,\n isToolbarGroupItem,\n type ToolbarGroupItem,\n} from \"../../toolbar/ToolbarItem.js\";\nimport { useConditionalProp } from \"../../hooks/useConditionalProp.js\";\nimport { ExpandIndicator } from \"./ExpandIndicator.js\";\nimport { Item } from \"./Item.js\";\nimport { Badge } from \"./Badge.js\";\nimport { ToolGroupOverflowContext } from \"./OverflowButton.js\";\nimport { ToolbarContext } from \"./Toolbar.js\";\n\n/** @internal */\nexport interface GroupItemProps {\n item: ToolbarGroupItem;\n}\n\n/** @internal */\nexport const GroupItem = React.forwardRef<HTMLButtonElement, GroupItemProps>(\n function GroupItem({ item }, ref) {\n const placement = usePopoverPlacement();\n const context = React.useContext(ToolbarContext);\n const overflowContext = React.useContext(ToolGroupOverflowContext);\n\n if (overflowContext) {\n return <GroupMenuItem item={item} onClose={overflowContext.onClose} />;\n }\n return (\n <DropdownMenu\n menuItems={(close) => {\n return toMenuItems(item, close);\n }}\n placement={placement}\n onVisibleChange={(newVisible) => {\n context?.setPopoverOpen(newVisible);\n }}\n >\n <Item item={item} ref={ref}>\n <ExpandIndicator />\n </Item>\n </DropdownMenu>\n );\n }\n);\n\n/** @internal */\nexport function usePopoverPlacement() {\n const context = React.useContext(ToolbarContext);\n if (!context) return undefined;\n\n return `${context.expandsTo}-${context.panelAlignment}` as const;\n}\n\ninterface GroupMenuItemProps {\n item: ToolbarItem;\n onClose?: () => void;\n}\n\n/** @internal */\nexport function GroupMenuItem({ item, onClose }: GroupMenuItemProps) {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const iconSpec = useConditionalProp(item.icon);\n const label = useConditionalProp(item.label);\n const isDisabled = useConditionalProp(item.isDisabled);\n const isHidden = useConditionalProp(item.isHidden);\n const isActive = useConditionalProp(item.isActive);\n\n if (isHidden) {\n return null;\n }\n\n const subMenuItems = isDisabled ? undefined : toMenuItems(item, onClose);\n const startIcon = item.iconNode ? (\n <>{item.iconNode}</>\n ) : (\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n <Icon iconSpec={iconSpec} />\n );\n return (\n <MenuItem\n startIcon={startIcon}\n disabled={isDisabled}\n subMenuItems={subMenuItems}\n onClick={() => {\n if (isToolbarActionItem(item)) {\n item.execute();\n onClose?.();\n }\n }}\n isSelected={isActive}\n >\n {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}\n <Badge badge={item.badge} badgeKind={item.badgeKind} />\n {label}\n </MenuItem>\n );\n}\n\nfunction toMenuItems(item: ToolbarItem, onClose?: () => void) {\n if (isToolbarGroupItem(item)) {\n return item.items.map((groupItem) => {\n return (\n <GroupMenuItem key={groupItem.id} item={groupItem} onClose={onClose} />\n );\n });\n }\n if (isToolbarCustomItem(item)) {\n return [\n <MenuExtraContent key={item.id}>{item.panelContent}</MenuExtraContent>,\n ];\n }\n return [];\n}\n"]}
@@ -18,7 +18,7 @@ export const Item = React.forwardRef(function Item(props, ref) {
18
18
  const label = useConditionalProp(item.label);
19
19
  const isDisabled = useConditionalProp(item.isDisabled);
20
20
  const isHidden = useConditionalProp(item.isHidden);
21
- // eslint-disable-next-line deprecation/deprecation
21
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
22
22
  const iconSpec = useConditionalProp(item.icon);
23
23
  const labelProps = useLabelProps();
24
24
  if (isHidden)
@@ -1 +1 @@
1
- {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/Item.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9C,gBAAgB;AAChB,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAClC,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG;IACtB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,mDAAmD;IACnD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,CACL,oBAAC,UAAU,IACT,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAC,YAAY,EACtB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,GAAG,EAAE,GAAG,KACJ,KAAK;QAGR,IAAI,CAAC,QAAQ,IAAI,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI;QAE9C,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,GAAI;QACtD,KAAK,CAAC,QAAQ,CACJ,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;IAC/D,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO;QACL,SAAS;QACT,OAAO;QACP,eAAe,EAAE,kBAAkB;KAC3B,CAAC;AACb,CAAC","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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Icon } from \"@itwin/core-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport type { ToolbarItem } from \"../../toolbar/ToolbarItem.js\";\nimport { useConditionalProp } from \"../../hooks/useConditionalProp.js\";\nimport { Badge } from \"./Badge.js\";\nimport { ToolbarContext } from \"./Toolbar.js\";\n\n/** @internal */\nexport interface ItemProps\n extends Partial<React.ComponentProps<typeof IconButton>> {\n item: ToolbarItem;\n}\n\n/** @internal */\nexport const Item = React.forwardRef<HTMLButtonElement, ItemProps>(\n function Item(props, ref) {\n const { item, ...other } = props;\n const label = useConditionalProp(item.label);\n const isDisabled = useConditionalProp(item.isDisabled);\n const isHidden = useConditionalProp(item.isHidden);\n // eslint-disable-next-line deprecation/deprecation\n const iconSpec = useConditionalProp(item.icon);\n const labelProps = useLabelProps();\n\n if (isHidden) return null;\n return (\n <IconButton\n className={props.className}\n styleType=\"borderless\"\n disabled={isDisabled}\n isActive={item.isActive}\n label={label}\n labelProps={labelProps}\n style={props.style}\n ref={ref}\n {...other}\n >\n {/* eslint-disable-next-line deprecation/deprecation */}\n {item.iconNode ?? <Icon iconSpec={iconSpec} />}\n {/* eslint-disable-next-line deprecation/deprecation */}\n <Badge badge={item.badge} badgeKind={item.badgeKind} />\n {props.children}\n </IconButton>\n );\n }\n);\n\n/** @internal */\nexport function useExpandsTo() {\n const context = React.useContext(ToolbarContext);\n assert(!!context);\n\n const { expandsTo } = context;\n return expandsTo;\n}\n\n/** @internal */\nexport function useLabelProps() {\n const context = React.useContext(ToolbarContext);\n const [internalVisible, setInternalVisible] = React.useState(false);\n const visible = context?.popoverOpen ? false : internalVisible;\n const placement = useExpandsTo();\n return {\n placement,\n visible,\n onVisibleChange: setInternalVisible,\n } as const;\n}\n"]}
1
+ {"version":3,"file":"Item.js","sourceRoot":"","sources":["../../../../src/appui-react/toolbar/new-toolbars/Item.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9C,gBAAgB;AAChB,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAClC,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG;IACtB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,CACL,oBAAC,UAAU,IACT,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,SAAS,EAAC,YAAY,EACtB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,GAAG,EAAE,GAAG,KACJ,KAAK;QAGR,IAAI,CAAC,QAAQ,IAAI,oBAAC,IAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI;QAE9C,oBAAC,KAAK,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,GAAI;QACtD,KAAK,CAAC,QAAQ,CACJ,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB;AAChB,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAElB,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;IAC/D,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO;QACL,SAAS;QACT,OAAO;QACP,eAAe,EAAE,kBAAkB;KAC3B,CAAC;AACb,CAAC","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 Toolbar\n */\n\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Icon } from \"@itwin/core-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport type { ToolbarItem } from \"../../toolbar/ToolbarItem.js\";\nimport { useConditionalProp } from \"../../hooks/useConditionalProp.js\";\nimport { Badge } from \"./Badge.js\";\nimport { ToolbarContext } from \"./Toolbar.js\";\n\n/** @internal */\nexport interface ItemProps\n extends Partial<React.ComponentProps<typeof IconButton>> {\n item: ToolbarItem;\n}\n\n/** @internal */\nexport const Item = React.forwardRef<HTMLButtonElement, ItemProps>(\n function Item(props, ref) {\n const { item, ...other } = props;\n const label = useConditionalProp(item.label);\n const isDisabled = useConditionalProp(item.isDisabled);\n const isHidden = useConditionalProp(item.isHidden);\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n const iconSpec = useConditionalProp(item.icon);\n const labelProps = useLabelProps();\n\n if (isHidden) return null;\n return (\n <IconButton\n className={props.className}\n styleType=\"borderless\"\n disabled={isDisabled}\n isActive={item.isActive}\n label={label}\n labelProps={labelProps}\n style={props.style}\n ref={ref}\n {...other}\n >\n {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}\n {item.iconNode ?? <Icon iconSpec={iconSpec} />}\n {/* eslint-disable-next-line @typescript-eslint/no-deprecated */}\n <Badge badge={item.badge} badgeKind={item.badgeKind} />\n {props.children}\n </IconButton>\n );\n }\n);\n\n/** @internal */\nexport function useExpandsTo() {\n const context = React.useContext(ToolbarContext);\n assert(!!context);\n\n const { expandsTo } = context;\n return expandsTo;\n}\n\n/** @internal */\nexport function useLabelProps() {\n const context = React.useContext(ToolbarContext);\n const [internalVisible, setInternalVisible] = React.useState(false);\n const visible = context?.popoverOpen ? false : internalVisible;\n const placement = useExpandsTo();\n return {\n placement,\n visible,\n onVisibleChange: setInternalVisible,\n } as const;\n}\n"]}