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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. package/lib/cjs/appui-react/_variables.scss +4 -5
  2. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -1
  3. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  5. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -2
  7. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/Calculator.scss +12 -14
  9. package/lib/cjs/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/MenuButton.js +2 -1
  11. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/SquareButton.scss +10 -25
  13. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +1 -1
  14. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  15. package/lib/cjs/appui-react/backstage/BackstageComposer.js +16 -19
  16. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  18. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +5 -5
  20. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +44 -13
  22. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageItem.js +4 -5
  24. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  26. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  27. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js +130 -0
  28. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  29. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  30. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  32. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  34. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  36. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.d.ts +1 -1
  38. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js +1 -1
  39. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  40. package/lib/cjs/appui-react/configurableui/configurableui.scss +0 -3
  41. package/lib/cjs/appui-react/content/ContentLayout.scss +4 -4
  42. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +10 -7
  43. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -10
  44. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/content/FloatingViewportContent.js +15 -14
  46. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  47. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  48. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +2 -1
  50. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  51. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  52. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -1
  54. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  55. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +3 -6
  56. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +4 -2
  58. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  59. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +9 -12
  60. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  61. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -2
  63. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  64. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  65. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  66. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  67. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +4 -1
  68. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  69. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts +9 -8
  70. package/lib/cjs/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/frontstage/StageUsage.js +10 -3
  72. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  73. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  74. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  75. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  76. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  77. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  79. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  80. package/lib/cjs/appui-react/messages/ActivityMessage.js +1 -1
  81. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  82. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  83. package/lib/cjs/appui-react/messages/InputField.js +8 -7
  84. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  85. package/lib/cjs/appui-react/messages/InputField.scss +8 -8
  86. package/lib/cjs/appui-react/messages/MessageManager.d.ts +10 -1
  87. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/messages/MessageManager.js +30 -5
  89. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  90. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/messages/Pointer.js +1 -1
  92. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  93. package/lib/cjs/appui-react/messages/Pointer.scss +6 -6
  94. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  95. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +5 -2
  96. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  97. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  98. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  99. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +8 -6
  101. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  102. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  103. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +19 -10
  105. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  106. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +1 -1
  107. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  108. package/lib/cjs/appui-react/pickers/ListPicker.js +4 -3
  109. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  110. package/lib/cjs/appui-react/pickers/ListPicker.scss +5 -5
  111. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/pickers/ViewSelector.js +3 -1
  113. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  114. package/lib/cjs/appui-react/popup/CardPopup.js +2 -2
  115. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  116. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +1 -1
  117. package/lib/cjs/appui-react/popup/PositionPopup.scss +1 -1
  118. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +3 -2
  119. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/popup/ToolbarPopup.js +3 -1
  121. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  122. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  123. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +20 -10
  124. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  125. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  127. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  128. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  129. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  130. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  131. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  133. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  134. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  136. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  137. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  138. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  140. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  141. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +8 -3
  142. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  143. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  144. package/lib/cjs/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +6 -3
  146. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  147. package/lib/cjs/appui-react/statusbar/Indicator.scss +14 -15
  148. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  149. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +2 -3
  151. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  152. package/lib/cjs/appui-react/statusbar/Separator.scss +1 -3
  153. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -0
  154. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  156. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  157. package/lib/cjs/appui-react/statusbar/StatusBar.scss +1 -3
  158. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  159. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +34 -35
  161. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  162. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  163. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +33 -20
  165. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  166. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  167. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +28 -20
  169. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  170. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  171. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  172. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +135 -0
  173. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  174. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  175. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  176. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  177. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  178. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  179. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  181. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  182. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -3
  183. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  184. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  185. package/lib/cjs/appui-react/statusfields/MessageCenter.js +5 -2
  186. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  187. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  188. package/lib/cjs/appui-react/statusfields/SectionsField.js +4 -1
  189. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  190. package/lib/cjs/appui-react/statusfields/SectionsField.scss +3 -4
  191. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +2 -1
  193. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  194. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +1 -1
  195. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -0
  196. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/statusfields/SnapMode.js +40 -2
  198. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  199. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  200. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +2 -1
  201. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  202. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +5 -4
  204. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  205. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  206. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -2
  208. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  209. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  210. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +29 -32
  212. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  213. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  214. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +8 -18
  216. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  217. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  218. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  219. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +22 -11
  220. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  221. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  222. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  223. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  224. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  225. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  226. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  227. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +248 -0
  228. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  229. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  230. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  231. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js +26 -0
  232. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  233. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  234. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  235. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  236. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  237. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  238. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  239. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  240. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  241. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  242. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +13 -8
  243. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  244. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  245. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +3 -1
  246. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  247. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  248. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +3 -1
  249. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  250. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +4 -2
  252. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  253. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  254. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  255. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  256. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  257. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  258. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  259. package/lib/cjs/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  260. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  261. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +9 -65
  263. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  264. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  265. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +6 -5
  267. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  268. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  269. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +8 -34
  271. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  272. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  273. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  275. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  276. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  277. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +7 -43
  279. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  281. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  283. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  284. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  285. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  287. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  288. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  289. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  290. package/lib/cjs/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  291. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  292. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  293. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js +16 -0
  294. package/lib/cjs/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  295. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  296. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -1
  297. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  298. package/lib/cjs/appui-react/utils/PropsHelper.d.ts +3 -2
  299. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/utils/PropsHelper.js +2 -1
  301. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  302. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/widget-panels/Content.js +10 -12
  304. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  305. package/lib/cjs/appui-react/widget-panels/Frontstage.js +7 -5
  306. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  307. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  308. package/lib/cjs/appui-react/widget-panels/StatusBar.js +3 -2
  309. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  310. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  311. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  312. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  313. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +4 -4
  314. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  315. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +2 -2
  316. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  317. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +4 -4
  318. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  319. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +2 -2
  320. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  321. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  322. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +4 -4
  323. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  324. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  325. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  326. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  327. package/lib/cjs/appui-react/widgets/Widget.d.ts +39 -0
  328. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -0
  329. package/lib/cjs/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  330. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -0
  331. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +4 -14
  332. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  333. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  334. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts +1 -1
  335. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  336. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  337. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +7 -5
  338. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  339. package/lib/cjs/appui-react/widgets/WidgetDef.js +30 -42
  340. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  341. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -15
  343. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  344. package/lib/cjs/appui-react/widgets/WidgetState.d.ts +8 -7
  345. package/lib/cjs/appui-react/widgets/WidgetState.d.ts.map +1 -1
  346. package/lib/cjs/appui-react/widgets/WidgetState.js +9 -3
  347. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  348. package/lib/cjs/appui-react.d.ts +4 -4
  349. package/lib/cjs/appui-react.d.ts.map +1 -1
  350. package/lib/cjs/appui-react.js +4 -4
  351. package/lib/cjs/appui-react.js.map +1 -1
  352. package/lib/esm/appui-react/_variables.scss +4 -5
  353. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -1
  354. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  355. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +4 -10
  356. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  357. package/lib/esm/appui-react/accudraw/Calculator.js +3 -2
  358. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  359. package/lib/esm/appui-react/accudraw/Calculator.scss +12 -14
  360. package/lib/esm/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  361. package/lib/esm/appui-react/accudraw/MenuButton.js +2 -1
  362. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  363. package/lib/esm/appui-react/accudraw/SquareButton.scss +10 -25
  364. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +1 -1
  365. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  366. package/lib/esm/appui-react/backstage/BackstageComposer.js +12 -15
  367. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  368. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +1 -2
  369. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts.map +1 -1
  370. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +7 -7
  371. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  372. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +44 -13
  373. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  374. package/lib/esm/appui-react/backstage/BackstageItem.js +4 -5
  375. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  376. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts +39 -0
  377. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -0
  378. package/lib/esm/appui-react/backstage/BackstageItemsManager.js +126 -0
  379. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -0
  380. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts +2 -1
  381. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts.map +1 -1
  382. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js +2 -6
  383. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  384. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +1 -1
  385. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  386. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +2 -6
  387. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  388. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.d.ts +1 -1
  389. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js +1 -1
  390. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  391. package/lib/esm/appui-react/configurableui/configurableui.scss +0 -3
  392. package/lib/esm/appui-react/content/ContentLayout.scss +4 -4
  393. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +10 -7
  394. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -10
  395. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  396. package/lib/esm/appui-react/content/FloatingViewportContent.js +15 -14
  397. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  398. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -3
  399. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  400. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +3 -2
  401. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  402. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +1 -1
  403. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  404. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -1
  405. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  406. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +3 -6
  407. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  408. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +5 -3
  409. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  410. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +9 -12
  411. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +1 -1
  412. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  413. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +3 -3
  414. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  415. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +1 -3
  416. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +1 -0
  417. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts.map +1 -1
  418. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +4 -1
  419. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  420. package/lib/esm/appui-react/frontstage/StageUsage.d.ts +9 -8
  421. package/lib/esm/appui-react/frontstage/StageUsage.d.ts.map +1 -1
  422. package/lib/esm/appui-react/frontstage/StageUsage.js +10 -3
  423. package/lib/esm/appui-react/frontstage/StageUsage.js.map +1 -1
  424. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +3 -3
  425. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  426. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -4
  427. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  428. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.d.ts.map +1 -1
  429. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +5 -9
  430. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  431. package/lib/esm/appui-react/messages/ActivityMessage.js +2 -2
  432. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  433. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  434. package/lib/esm/appui-react/messages/InputField.js +9 -8
  435. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  436. package/lib/esm/appui-react/messages/InputField.scss +8 -8
  437. package/lib/esm/appui-react/messages/MessageManager.d.ts +10 -1
  438. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  439. package/lib/esm/appui-react/messages/MessageManager.js +31 -6
  440. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  441. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  442. package/lib/esm/appui-react/messages/Pointer.js +2 -2
  443. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  444. package/lib/esm/appui-react/messages/Pointer.scss +6 -6
  445. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  446. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +6 -3
  447. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  448. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +1 -21
  449. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +3 -3
  450. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  451. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +9 -7
  452. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  453. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +2 -2
  454. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  455. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +20 -11
  456. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  457. package/lib/esm/appui-react/pickers/ListPicker.d.ts +1 -1
  458. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  459. package/lib/esm/appui-react/pickers/ListPicker.js +4 -3
  460. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  461. package/lib/esm/appui-react/pickers/ListPicker.scss +5 -5
  462. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  463. package/lib/esm/appui-react/pickers/ViewSelector.js +4 -2
  464. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  465. package/lib/esm/appui-react/popup/CardPopup.js +3 -3
  466. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  467. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +1 -1
  468. package/lib/esm/appui-react/popup/PositionPopup.scss +1 -1
  469. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +3 -2
  470. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  471. package/lib/esm/appui-react/popup/ToolbarPopup.js +3 -1
  472. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  473. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  474. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +21 -11
  475. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  476. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  477. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  478. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  479. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +2 -2
  480. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +3 -4
  481. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  482. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  483. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  484. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  485. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  486. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  487. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  488. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +27 -0
  489. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  490. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts +7 -7
  491. package/lib/esm/appui-react/stagepanels/StagePanelLocation.d.ts.map +1 -1
  492. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js +8 -3
  493. package/lib/esm/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  494. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts +5 -7
  495. package/lib/esm/appui-react/stagepanels/StagePanelSection.d.ts.map +1 -1
  496. package/lib/esm/appui-react/stagepanels/StagePanelSection.js +6 -3
  497. package/lib/esm/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  498. package/lib/esm/appui-react/statusbar/Indicator.scss +14 -15
  499. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +1 -1
  500. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  501. package/lib/esm/appui-react/statusbar/LabelIndicator.js +2 -3
  502. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  503. package/lib/esm/appui-react/statusbar/Separator.scss +1 -3
  504. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -0
  505. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  506. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  507. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  508. package/lib/esm/appui-react/statusbar/StatusBar.scss +1 -3
  509. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +2 -2
  510. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  511. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -18
  512. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +71 -39
  514. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  515. package/lib/esm/appui-react/statusbar/StatusBarItem.js +32 -18
  516. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  517. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +5 -14
  518. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts.map +1 -1
  519. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +28 -19
  520. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  521. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +40 -0
  522. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -0
  523. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +131 -0
  524. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -0
  525. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +3 -2
  526. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts.map +1 -1
  527. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +2 -7
  528. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  529. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +3 -3
  530. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  531. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  532. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  533. package/lib/esm/appui-react/statusfields/ActivityCenter.js +6 -4
  534. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  535. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  536. package/lib/esm/appui-react/statusfields/MessageCenter.js +5 -2
  537. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  538. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  539. package/lib/esm/appui-react/statusfields/SectionsField.js +4 -1
  540. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  541. package/lib/esm/appui-react/statusfields/SectionsField.scss +3 -4
  542. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts.map +1 -1
  543. package/lib/esm/appui-react/statusfields/SelectionInfo.js +2 -1
  544. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  545. package/lib/esm/appui-react/statusfields/SelectionScope.scss +1 -1
  546. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -0
  547. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  548. package/lib/esm/appui-react/statusfields/SnapMode.js +40 -2
  549. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  550. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  551. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -1
  552. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  553. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  554. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +6 -5
  555. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  556. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +12 -12
  557. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  558. package/lib/esm/appui-react/theme/ThemeManager.js +1 -2
  559. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  560. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +2 -3
  561. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  562. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +25 -28
  563. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  564. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +6 -10
  565. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  566. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +9 -19
  567. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  568. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +77 -26
  569. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  570. package/lib/esm/appui-react/toolbar/ToolbarItem.js +22 -11
  571. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  572. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts +6 -4
  573. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.d.ts.map +1 -1
  574. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js +31 -6
  575. package/lib/esm/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  576. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts +46 -0
  577. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -0
  578. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +244 -0
  579. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -0
  580. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts +8 -0
  581. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.d.ts.map +1 -0
  582. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js +22 -0
  583. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -0
  584. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +3 -2
  585. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts.map +1 -1
  586. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +2 -6
  587. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  588. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +3 -3
  589. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts.map +1 -1
  590. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -7
  591. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  592. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  593. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +13 -8
  594. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  595. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  596. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +3 -1
  597. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  598. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  599. package/lib/esm/appui-react/tools/OpenSettingsTool.js +3 -1
  600. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  601. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  602. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +4 -2
  603. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  604. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts +20 -3
  605. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.d.ts.map +1 -1
  606. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +58 -4
  607. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  608. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts +4 -3
  609. package/lib/esm/appui-react/ui-items-provider/ProviderItem.d.ts.map +1 -1
  610. package/lib/esm/appui-react/ui-items-provider/ProviderItem.js.map +1 -1
  611. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +6 -4
  612. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  613. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +7 -63
  614. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  615. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +5 -3
  616. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  617. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +4 -3
  618. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  619. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +4 -3
  620. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  621. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +6 -32
  622. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  623. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +3 -2
  624. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts.map +1 -1
  625. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +4 -4
  626. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  627. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +4 -3
  628. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  629. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +5 -41
  630. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  631. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +3 -2
  632. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts.map +1 -1
  633. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +10 -17
  634. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  635. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +73 -5
  636. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  637. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +162 -3
  638. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  639. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts +21 -3
  640. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.d.ts.map +1 -1
  641. package/lib/esm/appui-react/ui-items-provider/UiItemsProvider.js.map +1 -1
  642. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts +7 -0
  643. package/lib/esm/appui-react/ui-items-provider/isProviderItem.d.ts.map +1 -0
  644. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js +12 -0
  645. package/lib/esm/appui-react/ui-items-provider/isProviderItem.js.map +1 -0
  646. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +2 -3
  647. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -1
  648. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  649. package/lib/esm/appui-react/utils/PropsHelper.d.ts +3 -2
  650. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  651. package/lib/esm/appui-react/utils/PropsHelper.js +2 -1
  652. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  653. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  654. package/lib/esm/appui-react/widget-panels/Content.js +10 -12
  655. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  656. package/lib/esm/appui-react/widget-panels/Frontstage.js +7 -5
  657. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  658. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  659. package/lib/esm/appui-react/widget-panels/StatusBar.js +3 -2
  660. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  661. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +2 -1
  662. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  663. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  664. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +4 -4
  665. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  666. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -1
  667. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  668. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +4 -4
  669. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  670. package/lib/esm/appui-react/widgets/BasicToolWidget.js +1 -1
  671. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  672. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +2 -2
  673. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +3 -3
  674. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  675. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  676. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  677. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  678. package/lib/esm/appui-react/widgets/Widget.d.ts +39 -0
  679. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -0
  680. package/lib/esm/appui-react/widgets/{WidgetProps.js → Widget.js} +1 -1
  681. package/lib/esm/appui-react/widgets/Widget.js.map +1 -0
  682. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +4 -14
  683. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts.map +1 -1
  684. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  685. package/lib/esm/appui-react/widgets/WidgetControl.d.ts +1 -1
  686. package/lib/esm/appui-react/widgets/WidgetControl.d.ts.map +1 -1
  687. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  688. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +7 -5
  689. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  690. package/lib/esm/appui-react/widgets/WidgetDef.js +22 -34
  691. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  692. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  693. package/lib/esm/appui-react/widgets/WidgetManager.js +2 -15
  694. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  695. package/lib/esm/appui-react/widgets/WidgetState.d.ts +8 -7
  696. package/lib/esm/appui-react/widgets/WidgetState.d.ts.map +1 -1
  697. package/lib/esm/appui-react/widgets/WidgetState.js +9 -3
  698. package/lib/esm/appui-react/widgets/WidgetState.js.map +1 -1
  699. package/lib/esm/appui-react.d.ts +4 -4
  700. package/lib/esm/appui-react.d.ts.map +1 -1
  701. package/lib/esm/appui-react.js +4 -4
  702. package/lib/esm/appui-react.js.map +1 -1
  703. package/package.json +28 -46
  704. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts +0 -12
  705. package/lib/cjs/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  706. package/lib/cjs/appui-react/widgets/WidgetProps.js.map +0 -1
  707. package/lib/esm/appui-react/widgets/WidgetProps.d.ts +0 -12
  708. package/lib/esm/appui-react/widgets/WidgetProps.d.ts.map +0 -1
  709. package/lib/esm/appui-react/widgets/WidgetProps.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport \"./ListPicker.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Columns, GroupColumn, Panel, PopupItem, Title } from \"@itwin/components-react\";\r\nimport { CommonProps, Icon, SizeProps } from \"@itwin/core-react\";\r\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/** Enum for the list picker item type\r\n * @beta\r\n */\r\nexport enum ListItemType {\r\n Item = 0, // eslint-disable-line @typescript-eslint/no-shadow\r\n Separator = 1,\r\n Container = 2,\r\n}\r\n\r\n/** List picker item\r\n * @beta\r\n */\r\nexport interface ListItem {\r\n [key: string]: any;\r\n id?: string;\r\n name?: string;\r\n enabled: boolean;\r\n type?: ListItemType;\r\n children?: ListItem[];\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerProps {\r\n title: string;\r\n items: ListItem[];\r\n iconSpec?: string | React.ReactNode;\r\n setEnabled: (item: ListItem, enabled: boolean) => any;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** Properties for the [[ListPickerItem]] component\r\n * @beta\r\n */\r\nexport interface ListPickerItemProps extends CommonProps {\r\n key: any;\r\n isActive?: boolean;\r\n isFocused?: boolean;\r\n onClick?: () => void;\r\n label?: string;\r\n}\r\n\r\n/** List Picker Item React component\r\n * @beta\r\n */\r\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\r\n /** Renders ListPickerItem */\r\n public override render() {\r\n const itemClassName = classnames(\r\n \"ListPicker-item\",\r\n this.props.isActive && \"is-active\",\r\n this.props.isFocused && \"is-focused\",\r\n this.props.className,\r\n );\r\n // TODO - if cut off, show a title\r\n const title: string | undefined = (this.props.label && this.props.label.length > 25) ? this.props.label : undefined;\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={itemClassName} onClick={this.props.onClick} role=\"button\" tabIndex={-1}>\r\n <div className=\"label\" title={title}>\r\n {this.props.label}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Properties for the [[ExpandableSection]] component\r\n * @beta\r\n */\r\nexport interface ExpandableSectionProps extends CommonProps {\r\n title?: string;\r\n expanded?: boolean;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[ExpandableSection]] component\r\n * @internal\r\n */\r\ninterface ExpandableSectionState {\r\n expanded: boolean;\r\n}\r\n\r\n/** Expandable Section React component used by [[ListPickerBase]]\r\n * @beta\r\n */\r\nexport class ExpandableSection extends React.PureComponent<ExpandableSectionProps, ExpandableSectionState> {\r\n /** Creates an ExpandableSection */\r\n constructor(props: ExpandableSectionProps) {\r\n super(props);\r\n this.state = { expanded: !!this.props.expanded };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\r\n };\r\n\r\n /** Renders ExpandableSection */\r\n public override render() {\r\n const className = classnames(\r\n \"nz-toolbar-item-expandable-group-group\",\r\n this.props.className,\r\n );\r\n\r\n const icon = this.state.expanded ? <i className=\"icon icon-chevron-down\" /> : <i className=\"icon icon-chevron-right\" />;\r\n\r\n return (\r\n <Panel className={className} style={this.props.style} key={this.props.title}>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div onClick={this._onClick}\r\n className={this.state.expanded ? \"ListPickerInnerContainer-header-expanded\" : \"ListPickerInnerContainer-header\"}\r\n role=\"button\" tabIndex={-1} aria-expanded={this.state.expanded}\r\n >\r\n <div className=\"ListPickerInnerContainer-header-content\">\r\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\r\n <div className=\"ListPickerInnerContainer-title\">{this.props.title}</div>\r\n </div>\r\n </div>\r\n {this.state.expanded ?\r\n <GroupColumn>\r\n {this.props.children}\r\n </GroupColumn> : <div />\r\n }\r\n </Panel>\r\n );\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport function getListPanel(props: ListPickerProps): React.ReactNode {\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = props.items.filter((item: ListItem) => {\r\n return (item.type === ListItemType.Container && item.children!.length !== 0);\r\n });\r\n return populatedContainers.length === 1;\r\n };\r\n\r\n const listItemToElement = (item: ListItem, itemIndex: number) => {\r\n switch (item.type) {\r\n case ListItemType.Item:\r\n return (\r\n <ListPickerItem\r\n {...props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={\r\n // istanbul ignore next\r\n () => { props.setEnabled(item, !item.enabled); }\r\n }\r\n />\r\n );\r\n case ListItemType.Separator:\r\n return (\r\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\r\n );\r\n case ListItemType.Container:\r\n if (item.children!.length !== 0) {\r\n return (\r\n <ExpandableSection\r\n key={itemIndex.toString()}\r\n title={item.name}\r\n className=\"ListPickerInnerContainer\"\r\n expanded={expandSingleSection()}\r\n >\r\n <GroupColumn>\r\n {item.children!.map(listItemToElement)}\r\n </GroupColumn>\r\n </ExpandableSection>\r\n );\r\n } else {\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n // istanbul ignore next\r\n default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <Panel className=\"ListPickerContainer\">\r\n <Title>\r\n {props.title}\r\n </Title>\r\n <Columns>\r\n <GroupColumn className=\"ListPicker-column\">\r\n {props.items.map(listItemToElement)}\r\n </GroupColumn>\r\n </Columns>\r\n </Panel>\r\n );\r\n}\r\n\r\n/**\r\n * List picker toolbar popup item.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nfunction ListPickerPopupItem(props: ListPickerProps) {\r\n const icon = props.iconSpec ? (/* istanbul ignore next */ typeof props.iconSpec === \"string\" ? <Icon iconSpec={props.iconSpec} /> :\r\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>) : <Icon iconSpec=\"icon-list\" />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return <PopupItem\r\n hideIndicator={isEnabled}\r\n icon={icon}\r\n title={props.title}\r\n panel={getListPanel(props)}\r\n />;\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerPropsExtended extends ListPickerProps {\r\n enableAllFunc?: () => void;\r\n disableAllFunc?: () => void;\r\n invertFunc?: () => void;\r\n}\r\n\r\n/**\r\n * List Picker that lets the user pick from a list of items to enable/disable\r\n * It also provides options to enable all, disable all and invert selection\r\n * @beta\r\n */\r\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\r\n public static get Key_All() { return -3; }\r\n public static get Key_None() { return -2; }\r\n public static get Key_Invert() { return -1; }\r\n public static get Key_Separator() { return -4; }\r\n\r\n /** Creates a ListPicker */\r\n constructor(props: ListPickerPropsExtended) {\r\n super(props);\r\n }\r\n\r\n // Creates an array of items containing the separator and special requests (all, none, invert)\r\n private createItems(items: ListItem[]): ListItem[] {\r\n const newItems: ListItem[] = [];\r\n\r\n // Create special buttons (All/None/Invert)\r\n if (this.props.enableAllFunc) {\r\n let allEnabled = true;\r\n items.map((item: ListItem) => { allEnabled = allEnabled && item.enabled; });\r\n newItems.push({ key: ListPicker.Key_All, name: UiFramework.translate(\"pickerButtons.all\"), enabled: allEnabled, type: ListItemType.Item });\r\n }\r\n if (this.props.disableAllFunc) {\r\n let allDisabled = false;\r\n items.map((item: ListItem) => { allDisabled = allDisabled || item.enabled; });\r\n newItems.push({ key: ListPicker.Key_None, name: UiFramework.translate(\"pickerButtons.none\"), enabled: !allDisabled, type: ListItemType.Item });\r\n }\r\n if (this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Invert, name: UiFramework.translate(\"pickerButtons.invert\"), enabled: false, type: ListItemType.Item });\r\n }\r\n if (this.props.enableAllFunc || this.props.disableAllFunc || this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Separator, name: UiFramework.translate(\"pickerButtons.separator\"), enabled: false, type: ListItemType.Separator });\r\n }\r\n\r\n // Push items\r\n items.map((item) => { newItems.push(item); });\r\n return newItems;\r\n }\r\n\r\n /**\r\n * Checks if item is a special item.\r\n * @param item Item to check\r\n */\r\n public isSpecialItem(item: ListItem) {\r\n return item.key === ListPicker.Key_All || item.key === ListPicker.Key_Invert || item.key === ListPicker.Key_None || item.type !== ListItemType.Item || item.key === ListPicker.Key_Separator;\r\n }\r\n\r\n // Handle enabling/disabling the items\r\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\r\n private _setEnabled = (item: ListItem, enabled: boolean) => {\r\n if (this.isSpecialItem(item)) {\r\n switch (item.key) {\r\n case ListPicker.Key_All: {\r\n // istanbul ignore else\r\n if (this.props.enableAllFunc)\r\n this.props.enableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_None: {\r\n // istanbul ignore else\r\n if (this.props.disableAllFunc)\r\n this.props.disableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_Invert: {\r\n // istanbul ignore else\r\n if (this.props.invertFunc)\r\n this.props.invertFunc();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Call on parent to do processing of the item\r\n this.props.setEnabled(item, enabled);\r\n };\r\n\r\n /** Renders ListPicker */\r\n public override render() {\r\n return (\r\n <ListPickerPopupItem\r\n {...this.props}\r\n title={this.props.title}\r\n setEnabled={this._setEnabled}\r\n onExpanded={this.props.onExpanded}\r\n items={this.createItems(this.props.items)}\r\n iconSpec={this.props.iconSpec}\r\n />\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport \"./ListPicker.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { Columns, GroupColumn, Panel, PopupItem, Title } from \"@itwin/components-react\";\r\nimport { CommonProps, Icon, SizeProps } from \"@itwin/core-react\";\r\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { SvgChevronDown, SvgChevronRight, SvgList } from \"@itwin/itwinui-icons-react\";\r\n\r\n/** Enum for the list picker item type\r\n * @beta\r\n */\r\nexport enum ListItemType {\r\n Item = 0, // eslint-disable-line @typescript-eslint/no-shadow\r\n Separator = 1,\r\n Container = 2,\r\n}\r\n\r\n/** List picker item\r\n * @beta\r\n */\r\nexport interface ListItem {\r\n [key: string]: any;\r\n id?: string;\r\n name?: string;\r\n enabled: boolean;\r\n type?: ListItemType;\r\n children?: ListItem[];\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerProps {\r\n title: string;\r\n items: ListItem[];\r\n iconSpec?: string | React.ReactNode;\r\n setEnabled: (item: ListItem, enabled: boolean) => any;\r\n onExpanded?: (expand: boolean) => void;\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** Properties for the [[ListPickerItem]] component\r\n * @beta\r\n */\r\nexport interface ListPickerItemProps extends CommonProps {\r\n key: any;\r\n isActive?: boolean;\r\n isFocused?: boolean;\r\n onClick?: () => void;\r\n label?: string;\r\n}\r\n\r\n/** List Picker Item React component\r\n * @beta\r\n */\r\nexport class ListPickerItem extends React.PureComponent<ListPickerItemProps> {\r\n /** Renders ListPickerItem */\r\n public override render() {\r\n const itemClassName = classnames(\r\n \"ListPicker-item\",\r\n this.props.isActive && \"is-active\",\r\n this.props.isFocused && \"is-focused\",\r\n this.props.className,\r\n );\r\n // TODO - if cut off, show a title\r\n const title: string | undefined = (this.props.label && this.props.label.length > 25) ? this.props.label : undefined;\r\n\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div className={itemClassName} onClick={this.props.onClick} role=\"button\" tabIndex={-1}>\r\n <div className=\"label\" title={title}>\r\n {this.props.label}\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Properties for the [[ExpandableSection]] component\r\n * @beta\r\n */\r\nexport interface ExpandableSectionProps extends CommonProps {\r\n title?: string;\r\n expanded?: boolean;\r\n /** Content */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/** State for the [[ExpandableSection]] component\r\n * @internal\r\n */\r\ninterface ExpandableSectionState {\r\n expanded: boolean;\r\n}\r\n\r\n/** Expandable Section React component\r\n * @beta\r\n */\r\nexport class ExpandableSection extends React.PureComponent<ExpandableSectionProps, ExpandableSectionState> {\r\n /** Creates an ExpandableSection */\r\n constructor(props: ExpandableSectionProps) {\r\n super(props);\r\n this.state = { expanded: !!this.props.expanded };\r\n }\r\n\r\n private _onClick = () => {\r\n this.setState((prevState) => ({ expanded: !prevState.expanded }));\r\n };\r\n\r\n /** Renders ExpandableSection */\r\n public override render() {\r\n const className = classnames(\r\n \"nz-toolbar-item-expandable-group-group\",\r\n this.props.className,\r\n );\r\n\r\n const icon = this.state.expanded ? <Icon iconSpec={<SvgChevronDown />} /> : <Icon iconSpec={<SvgChevronRight />} />;\r\n\r\n return (\r\n <Panel className={className} style={this.props.style} key={this.props.title}>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div onClick={this._onClick}\r\n className={this.state.expanded ? \"ListPickerInnerContainer-header-expanded\" : \"ListPickerInnerContainer-header\"}\r\n role=\"button\" tabIndex={-1} aria-expanded={this.state.expanded}\r\n >\r\n <div className=\"ListPickerInnerContainer-header-content\">\r\n <div className=\"ListPickerInnerContainer-expander\">{icon}</div>\r\n <div className=\"ListPickerInnerContainer-title\">{this.props.title}</div>\r\n </div>\r\n </div>\r\n {this.state.expanded ?\r\n <GroupColumn>\r\n {this.props.children}\r\n </GroupColumn> : <div />\r\n }\r\n </Panel>\r\n );\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport function getListPanel(props: ListPickerProps): React.ReactNode {\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = props.items.filter((item: ListItem) => {\r\n return (item.type === ListItemType.Container && item.children!.length !== 0);\r\n });\r\n return populatedContainers.length === 1;\r\n };\r\n\r\n const listItemToElement = (item: ListItem, itemIndex: number) => {\r\n switch (item.type) {\r\n case ListItemType.Item:\r\n return (\r\n <ListPickerItem\r\n {...props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={\r\n // istanbul ignore next\r\n () => { props.setEnabled(item, !item.enabled); }\r\n }\r\n />\r\n );\r\n case ListItemType.Separator:\r\n return (\r\n <div key={itemIndex.toString()} className=\"ListPicker-separator\" />\r\n );\r\n case ListItemType.Container:\r\n if (item.children!.length !== 0) {\r\n return (\r\n <ExpandableSection\r\n key={itemIndex.toString()}\r\n title={item.name}\r\n className=\"ListPickerInnerContainer\"\r\n expanded={expandSingleSection()}\r\n >\r\n <GroupColumn>\r\n {item.children!.map(listItemToElement)}\r\n </GroupColumn>\r\n </ExpandableSection>\r\n );\r\n } else {\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n // istanbul ignore next\r\n default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <Panel className=\"ListPickerContainer\">\r\n <Title>\r\n {props.title}\r\n </Title>\r\n <Columns>\r\n <GroupColumn className=\"ListPicker-column\">\r\n {props.items.map(listItemToElement)}\r\n </GroupColumn>\r\n </Columns>\r\n </Panel>\r\n );\r\n}\r\n\r\n/**\r\n * List picker toolbar popup item.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nfunction ListPickerPopupItem(props: ListPickerProps) {\r\n const icon = props.iconSpec ? (/* istanbul ignore next */ typeof props.iconSpec === \"string\" ? <Icon iconSpec={props.iconSpec} /> :\r\n <i className=\"icon uifw-item-svg-icon\">{props.iconSpec}</i>) : <Icon iconSpec={<SvgList />} />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return <PopupItem\r\n hideIndicator={isEnabled}\r\n icon={icon}\r\n title={props.title}\r\n panel={getListPanel(props)}\r\n />;\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n}\r\n\r\n/** Properties for the [[ListPicker]] component\r\n * @beta\r\n */\r\nexport interface ListPickerPropsExtended extends ListPickerProps {\r\n enableAllFunc?: () => void;\r\n disableAllFunc?: () => void;\r\n invertFunc?: () => void;\r\n}\r\n\r\n/**\r\n * List Picker that lets the user pick from a list of items to enable/disable\r\n * It also provides options to enable all, disable all and invert selection\r\n * @beta\r\n */\r\nexport class ListPicker extends React.Component<ListPickerPropsExtended> {\r\n public static get Key_All() { return -3; }\r\n public static get Key_None() { return -2; }\r\n public static get Key_Invert() { return -1; }\r\n public static get Key_Separator() { return -4; }\r\n\r\n /** Creates a ListPicker */\r\n constructor(props: ListPickerPropsExtended) {\r\n super(props);\r\n }\r\n\r\n // Creates an array of items containing the separator and special requests (all, none, invert)\r\n private createItems(items: ListItem[]): ListItem[] {\r\n const newItems: ListItem[] = [];\r\n\r\n // Create special buttons (All/None/Invert)\r\n if (this.props.enableAllFunc) {\r\n let allEnabled = true;\r\n items.map((item: ListItem) => { allEnabled = allEnabled && item.enabled; });\r\n newItems.push({ key: ListPicker.Key_All, name: UiFramework.translate(\"pickerButtons.all\"), enabled: allEnabled, type: ListItemType.Item });\r\n }\r\n if (this.props.disableAllFunc) {\r\n let allDisabled = false;\r\n items.map((item: ListItem) => { allDisabled = allDisabled || item.enabled; });\r\n newItems.push({ key: ListPicker.Key_None, name: UiFramework.translate(\"pickerButtons.none\"), enabled: !allDisabled, type: ListItemType.Item });\r\n }\r\n if (this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Invert, name: UiFramework.translate(\"pickerButtons.invert\"), enabled: false, type: ListItemType.Item });\r\n }\r\n if (this.props.enableAllFunc || this.props.disableAllFunc || this.props.invertFunc) {\r\n newItems.push({ key: ListPicker.Key_Separator, name: UiFramework.translate(\"pickerButtons.separator\"), enabled: false, type: ListItemType.Separator });\r\n }\r\n\r\n // Push items\r\n items.map((item) => { newItems.push(item); });\r\n return newItems;\r\n }\r\n\r\n /**\r\n * Checks if item is a special item.\r\n * @param item Item to check\r\n */\r\n public isSpecialItem(item: ListItem) {\r\n return item.key === ListPicker.Key_All || item.key === ListPicker.Key_Invert || item.key === ListPicker.Key_None || item.type !== ListItemType.Item || item.key === ListPicker.Key_Separator;\r\n }\r\n\r\n // Handle enabling/disabling the items\r\n // This will call the this.props.setEnabled function to provide the parent with a chance to process it\r\n private _setEnabled = (item: ListItem, enabled: boolean) => {\r\n if (this.isSpecialItem(item)) {\r\n switch (item.key) {\r\n case ListPicker.Key_All: {\r\n // istanbul ignore else\r\n if (this.props.enableAllFunc)\r\n this.props.enableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_None: {\r\n // istanbul ignore else\r\n if (this.props.disableAllFunc)\r\n this.props.disableAllFunc();\r\n return;\r\n }\r\n case ListPicker.Key_Invert: {\r\n // istanbul ignore else\r\n if (this.props.invertFunc)\r\n this.props.invertFunc();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Call on parent to do processing of the item\r\n this.props.setEnabled(item, enabled);\r\n };\r\n\r\n /** Renders ListPicker */\r\n public override render() {\r\n return (\r\n <ListPickerPopupItem\r\n {...this.props}\r\n title={this.props.title}\r\n setEnabled={this._setEnabled}\r\n onExpanded={this.props.onExpanded}\r\n items={this.createItems(this.props.items)}\r\n iconSpec={this.props.iconSpec}\r\n />\r\n );\r\n }\r\n}\r\n"]}
@@ -12,7 +12,7 @@ $no-shadow: none;
12
12
  $shadow: drop-shadow(0 1px 0 $buic-text-color-reverse);
13
13
  $space-after-label: 16px;
14
14
  $space-before-label: 16px;
15
- $label-color: $buic-text-color;
15
+ $label-color: var(--iui-color-text);
16
16
  $border-color: $buic-background-control-stroke;
17
17
  $item-height: 32px;
18
18
 
@@ -85,7 +85,7 @@ $item-height: 32px;
85
85
  }
86
86
 
87
87
  .ListPicker-item {
88
- $label-color: $buic-text-color;
88
+ $label-color: var(--iui-color-text);
89
89
  $pressed-label-color: $buic-foreground-activehover;
90
90
  $hovered-label-color: $buic-foreground-primary-tone;
91
91
  $focused-label-color: $buic-foreground-primary-tone;
@@ -135,7 +135,7 @@ $item-height: 32px;
135
135
  }
136
136
 
137
137
  &:active {
138
- background: $buic-row-selection;
138
+ background: var(--iui-color-background-hover);
139
139
  color: $pressed-label-color;
140
140
 
141
141
  > .icon,
@@ -187,7 +187,7 @@ $item-height: 32px;
187
187
  }
188
188
 
189
189
  .ListPickerWidget-item {
190
- $label-color: $buic-text-color;
190
+ $label-color: var(--iui-color-text);
191
191
  $pressed-label-color: $buic-foreground-activehover;
192
192
  $hovered-label-color: $buic-foreground-primary;
193
193
  $focused-label-color: $buic-foreground-primary;
@@ -289,7 +289,7 @@ $item-height: 32px;
289
289
 
290
290
  white-space: nowrap;
291
291
  text-align: center;
292
- color: $buic-text-color;
292
+ color: var(--iui-color-text);
293
293
  filter: drop-shadow(0 1px 0 $buic-text-color-reverse);
294
294
  margin-bottom: 9px;
295
295
  margin-left: $horizontal-margin;
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSelector.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAa,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKhD,OAAO,EAAE,QAAQ,EAA4B,MAAM,cAAc,CAAC;AAIlE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,UAAU,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,OAAO,CAAC,4BAA4B,CAAC;CAAI;AAEvF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;AAe/H;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAErF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAqC;IAC3F,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAC/C,OAAO,CAAC,UAAU,CAAS;IAE3B,gBAAuB,YAAY,EAAE,wBAAwB,CAK3D;IAEF,4CAA4C;IAC5C,gBAAuB,0BAA0B,2BAAkC;IAEnF;OACG;WACW,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAI/H,6BAA6B;gBACjB,KAAK,EAAE,iBAAiB;IAcd,iBAAiB;IAQjB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAMrD,oBAAoB;IAOpC,OAAO,CAAC,kCAAkC,CAMxC;IAEF,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCvC;;;OAGG;IAEU,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD,OAAO,CAAC,WAAW,CAkDjB;IAIF,OAAO,CAAC,WAAW,CAGjB;IAEF;;OAEG;IACa,MAAM;CAiBvB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,oEAAoD,CAAC"}
1
+ {"version":3,"file":"ViewSelector.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAa,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAqB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAKnE,OAAO,EAAE,QAAQ,EAA4B,MAAM,cAAc,CAAC;AAKlE;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,UAAU,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,OAAO,CAAC,4BAA4B,CAAC;CAAI;AAEvF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,UAAU,iBAAiB;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;AAe/H;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAErF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAqC;IAC3F,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAC/C,OAAO,CAAC,UAAU,CAAS;IAE3B,gBAAuB,YAAY,EAAE,wBAAwB,CAK3D;IAEF,4CAA4C;IAC5C,gBAAuB,0BAA0B,2BAAkC;IAEnF;OACG;WACW,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAI/H,6BAA6B;gBACjB,KAAK,EAAE,iBAAiB;IAcd,iBAAiB;IAQjB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAMrD,oBAAoB;IAOpC,OAAO,CAAC,kCAAkC,CAMxC;IAEF,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCvC;;;OAGG;IAEU,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD,OAAO,CAAC,WAAW,CAkDjB;IAIF,OAAO,CAAC,WAAW,CAGjB;IAEF;;OAEG;IACa,MAAM;CAkBvB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,oEAAoD,CAAC"}
@@ -8,11 +8,12 @@
8
8
  import * as React from "react";
9
9
  import { Logger } from "@itwin/core-bentley";
10
10
  import { IModelApp } from "@itwin/core-frontend";
11
- import { UiEvent } from "@itwin/appui-abstract";
11
+ import { IconSpecUtilities, UiEvent } from "@itwin/appui-abstract";
12
12
  import { connectIModelConnection } from "../redux/connectIModel";
13
13
  import { UiFramework } from "../UiFramework";
14
14
  import { ViewUtilities } from "../utils/ViewUtilities";
15
15
  import { ListItemType, ListPicker } from "./ListPicker";
16
+ import svgSavedView from "@bentley/icons-generic/icons/saved-view.svg";
16
17
  /** ViewSelector Changed Event class.
17
18
  * @beta
18
19
  */
@@ -226,8 +227,9 @@ export class ViewSelector extends React.Component {
226
227
  render() {
227
228
  if (!this.state.initialized)
228
229
  return null;
230
+ const iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSavedView);
229
231
  const { imodel, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars
230
- return (React.createElement(ListPicker, { ...props, title: this.state.title, setEnabled: this._setEnabled, items: this.state.items, iconSpec: "icon-saved-view", onExpanded: this._onExpanded }));
232
+ return (React.createElement(ListPicker, { ...props, title: this.state.title, setEnabled: this._setEnabled, items: this.state.items, iconSpec: iconSpec, onExpanded: this._onExpanded }));
231
233
  }
232
234
  }
233
235
  ViewSelector._onViewSelectorShowUpdateEvent = new ViewSelectorShowUpdateEvent();
@@ -1 +1 @@
1
- {"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Id64String, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelApp, IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { SupportsViewSelectorChange } from \"../content/ContentControl\";\r\nimport { connectIModelConnection } from \"../redux/connectIModel\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { ListItem, ListItemType, ListPicker } from \"./ListPicker\";\r\n\r\n// cSpell:ignore Spatials\r\n\r\n/** [[ViewSelectorChangedEvent]] Args interface.\r\n * @beta\r\n */\r\nexport interface ViewSelectorChangedEventArgs {\r\n iModelConnection: IModelConnection;\r\n viewDefinitionId: Id64String;\r\n viewState: ViewState;\r\n name: string;\r\n}\r\n\r\n/** ViewSelector Changed Event class.\r\n * @beta\r\n */\r\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> { }\r\n\r\n/** Properties for the [[ViewSelector]] component\r\n * @beta\r\n */\r\nexport interface ViewSelectorProps {\r\n imodel?: IModelConnection;\r\n listenForShowUpdates?: boolean;\r\n\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** State for the [[ViewSelector]] component\r\n * @beta\r\n */\r\ninterface ViewSelectorState {\r\n items: ListItem[];\r\n title: string;\r\n initialized: boolean;\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** Default properties of [[ViewSelector]] component.\r\n * @beta\r\n */\r\nexport type ViewSelectorDefaultProps = Pick<ViewSelectorProps, \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\">;\r\n\r\n/** ViewSelector Show Update Event Args interface.\r\n */\r\ninterface ViewSelectorShowUpdateEventArgs {\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** ViewSelector Show Update Event class.\r\n */\r\nclass ViewSelectorShowUpdateEvent extends UiEvent<ViewSelectorShowUpdateEventArgs> { }\r\n\r\n/** View Selector React component\r\n * @beta\r\n */\r\nexport class ViewSelector extends React.Component<ViewSelectorProps, ViewSelectorState> {\r\n\r\n private static readonly _onViewSelectorShowUpdateEvent = new ViewSelectorShowUpdateEvent();\r\n private _removeShowUpdateListener?: () => void;\r\n private _isMounted = false;\r\n\r\n public static readonly defaultProps: ViewSelectorDefaultProps = {\r\n showSpatials: true,\r\n showDrawings: true,\r\n showSheets: true,\r\n showUnknown: true,\r\n };\r\n\r\n /** Gets the [[ViewSelectorChangedEvent]] */\r\n public static readonly onViewSelectorChangedEvent = new ViewSelectorChangedEvent();\r\n\r\n /** Updates the ViewSelector show settings.\r\n */\r\n public static updateShowSettings(showSpatials: boolean, showDrawings: boolean, showSheets: boolean, showUnknown: boolean): void {\r\n ViewSelector._onViewSelectorShowUpdateEvent.emit({ showSpatials, showDrawings, showSheets, showUnknown });\r\n }\r\n\r\n /** Creates a ViewSelector */\r\n constructor(props: ViewSelectorProps) {\r\n super(props);\r\n\r\n this.state = {\r\n items: new Array<ListItem>(),\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: false,\r\n showSpatials: props.showSpatials,\r\n showDrawings: props.showDrawings,\r\n showSheets: props.showSheets,\r\n showUnknown: props.showUnknown,\r\n };\r\n }\r\n\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n if (this.props.listenForShowUpdates)\r\n this._removeShowUpdateListener = ViewSelector._onViewSelectorShowUpdateEvent.addListener(this._handleViewSelectorShowUpdateEvent);\r\n\r\n await this.loadViews();\r\n }\r\n\r\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\r\n if (this.props.imodel !== prevProps.imodel) {\r\n await this.loadViews();\r\n }\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n // istanbul ignore else\r\n if (this._removeShowUpdateListener)\r\n this._removeShowUpdateListener();\r\n }\r\n\r\n private _handleViewSelectorShowUpdateEvent = (args: ViewSelectorShowUpdateEventArgs): void => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState(args, async () => this.loadViews());\r\n };\r\n\r\n private setStateContainers(views3d: ListItem[], views2d: ListItem[], sheets: ListItem[], unknown?: ListItem[]) {\r\n const views3dContainer: ListItem = {\r\n key: \"views3dContainer\",\r\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views3d,\r\n };\r\n\r\n const views2dContainer: ListItem = {\r\n key: \"views2dContainer\",\r\n name: UiFramework.translate(\"viewTypes.drawings\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views2d,\r\n };\r\n\r\n const sheetContainer: ListItem = {\r\n key: \"sheetContainer\",\r\n name: UiFramework.translate(\"viewTypes.sheets\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: sheets,\r\n };\r\n\r\n const containers = [views3dContainer, views2dContainer, sheetContainer];\r\n\r\n // istanbul ignore if\r\n if (unknown && unknown.length > 0) {\r\n // This should never show, but just in case we missed a type of view state\r\n const unknownContainer: ListItem = {\r\n key: \"unknownContainer\",\r\n name: UiFramework.translate(\"viewTypes.others\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: unknown,\r\n };\r\n\r\n if (unknown.length !== 0)\r\n containers.push(unknownContainer);\r\n }\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({\r\n items: containers,\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: true,\r\n });\r\n }\r\n /**\r\n * Query the views and set the initial state with the iModel's views.\r\n */\r\n public async loadViews(): Promise<void> {\r\n // Query views and add them to state\r\n const views3d: ListItem[] = [];\r\n const views2d: ListItem[] = [];\r\n const sheets: ListItem[] = [];\r\n const unknown: ListItem[] = [];\r\n\r\n if (this.props.imodel && this.props.imodel.views.getViewList) {\r\n const query = { wantPrivate: false };\r\n const specs = await this.props.imodel.views.getViewList(query);\r\n\r\n specs.forEach((spec: IModelConnection.ViewSpec) => {\r\n const viewItem: ListItem = {\r\n key: spec.id,\r\n name: spec.name,\r\n enabled: false,\r\n type: ListItemType.Item,\r\n };\r\n\r\n const className = ViewUtilities.getBisBaseClass(spec.class);\r\n\r\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\r\n views3d.push(viewItem);\r\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\r\n views2d.push(viewItem);\r\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\r\n sheets.push(viewItem);\r\n else if (this.state.showUnknown)\r\n unknown.push(viewItem);\r\n });\r\n }\r\n\r\n this.setStateContainers(views3d, views2d, sheets, unknown);\r\n }\r\n\r\n /**\r\n * Update state of the entries in the widget.\r\n * @param viewId Identifier for the relevant view\r\n */\r\n // istanbul ignore next\r\n public async updateState(viewId?: any): Promise<void> {\r\n // Wait for initialization finished\r\n if (!this.state.initialized)\r\n return;\r\n\r\n // Query views and add them to state\r\n const views3d: ListItem[] = this.state.items[0].children!;\r\n const views2d: ListItem[] = this.state.items[1].children!;\r\n const sheets: ListItem[] = this.state.items[2].children!;\r\n const unknown: ListItem[] = this.state.items.length > 3 ? this.state.items[3].children! : [];\r\n\r\n const updateChildren = (item: ListItem) => {\r\n if (item.key === viewId)\r\n return { ...item, enabled: true };\r\n else\r\n return { ...item, enabled: false };\r\n };\r\n\r\n this.setStateContainers(views3d.map(updateChildren), views2d.map(updateChildren), sheets.map(updateChildren), unknown.map(updateChildren));\r\n }\r\n\r\n // enable/disable the models\r\n // istanbul ignore next\r\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\r\n if (!activeContentControl || !activeContentControl.supportsViewSelectorChange) {\r\n Logger.logError(UiFramework.loggerCategory(this), `No active ContentControl for ViewSelector change`);\r\n return;\r\n }\r\n\r\n // Enable the item temporarily to let user see that their click was registered\r\n // while we query for view state and change the current view which may take a bit\r\n if (_enabled && item.type !== ListItemType.Container) {\r\n // This itemMapper simply looks through all the list items and their nested children and enables the one\r\n // that we have registered to enable\r\n // Also disable all other items\r\n const itemMapper: (tempItem: ListItem) => ListItem = (tempItem: ListItem) => {\r\n if (tempItem.type === ListItemType.Container) {\r\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\r\n } else if (tempItem.key === item.key) {\r\n return { ...tempItem, enabled: true };\r\n } else {\r\n return { ...tempItem, enabled: false };\r\n }\r\n };\r\n\r\n // Create the new array with the current item enabled\r\n const itemsWithEnabled = this.state.items.map(itemMapper);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n // Update the state so that we show the user it was enabled while we work in the background\r\n this.setState({ items: itemsWithEnabled });\r\n }\r\n\r\n // Load the view state using the viewSpec's ID\r\n const viewState = await this.props.imodel!.views.load(item.key);\r\n\r\n // Let activeContentControl process the ViewSelector change\r\n await activeContentControl.processViewSelectorChange(this.props.imodel!, item.key, viewState, item.name!);\r\n\r\n // Emit a change event\r\n ViewSelector.onViewSelectorChangedEvent.emit({\r\n iModelConnection: this.props.imodel!,\r\n viewDefinitionId: item.key,\r\n viewState,\r\n name: item.name!,\r\n });\r\n\r\n // Set state to show enabled the view that got selected\r\n this.updateState(item.key); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n // Hook on the category selector being expanded so that we may initialize if needed\r\n // istanbul ignore next\r\n private _onExpanded = (expand: boolean) => {\r\n if (expand)\r\n this.updateState(IModelApp.viewManager.selectedView ? IModelApp.viewManager.selectedView.view.id : undefined); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n /**\r\n * Renders ViewSelector component\r\n */\r\n public override render() {\r\n if (!this.state.initialized)\r\n return null;\r\n\r\n const { imodel, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n return (\r\n <ListPicker\r\n {...props}\r\n title={this.state.title}\r\n setEnabled={this._setEnabled}\r\n items={this.state.items}\r\n iconSpec={\"icon-saved-view\"}\r\n onExpanded={this._onExpanded}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** ViewSelector that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\r\n * @beta\r\n */\r\nexport const IModelConnectedViewSelector = connectIModelConnection(null, null)(ViewSelector); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
1
+ {"version":3,"file":"ViewSelector.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ViewSelector.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Id64String, Logger } from \"@itwin/core-bentley\";\r\nimport { IModelApp, IModelConnection, ViewState } from \"@itwin/core-frontend\";\r\nimport { IconSpecUtilities, UiEvent } from \"@itwin/appui-abstract\";\r\nimport { SupportsViewSelectorChange } from \"../content/ContentControl\";\r\nimport { connectIModelConnection } from \"../redux/connectIModel\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { ViewUtilities } from \"../utils/ViewUtilities\";\r\nimport { ListItem, ListItemType, ListPicker } from \"./ListPicker\";\r\nimport svgSavedView from \"@bentley/icons-generic/icons/saved-view.svg\";\r\n\r\n// cSpell:ignore Spatials\r\n\r\n/** [[ViewSelectorChangedEvent]] Args interface.\r\n * @beta\r\n */\r\nexport interface ViewSelectorChangedEventArgs {\r\n iModelConnection: IModelConnection;\r\n viewDefinitionId: Id64String;\r\n viewState: ViewState;\r\n name: string;\r\n}\r\n\r\n/** ViewSelector Changed Event class.\r\n * @beta\r\n */\r\nexport class ViewSelectorChangedEvent extends UiEvent<ViewSelectorChangedEventArgs> { }\r\n\r\n/** Properties for the [[ViewSelector]] component\r\n * @beta\r\n */\r\nexport interface ViewSelectorProps {\r\n imodel?: IModelConnection;\r\n listenForShowUpdates?: boolean;\r\n\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** State for the [[ViewSelector]] component\r\n * @beta\r\n */\r\ninterface ViewSelectorState {\r\n items: ListItem[];\r\n title: string;\r\n initialized: boolean;\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** Default properties of [[ViewSelector]] component.\r\n * @beta\r\n */\r\nexport type ViewSelectorDefaultProps = Pick<ViewSelectorProps, \"showSpatials\" | \"showDrawings\" | \"showSheets\" | \"showUnknown\">;\r\n\r\n/** ViewSelector Show Update Event Args interface.\r\n */\r\ninterface ViewSelectorShowUpdateEventArgs {\r\n showSpatials: boolean;\r\n showDrawings: boolean;\r\n showSheets: boolean;\r\n showUnknown: boolean;\r\n}\r\n\r\n/** ViewSelector Show Update Event class.\r\n */\r\nclass ViewSelectorShowUpdateEvent extends UiEvent<ViewSelectorShowUpdateEventArgs> { }\r\n\r\n/** View Selector React component\r\n * @beta\r\n */\r\nexport class ViewSelector extends React.Component<ViewSelectorProps, ViewSelectorState> {\r\n\r\n private static readonly _onViewSelectorShowUpdateEvent = new ViewSelectorShowUpdateEvent();\r\n private _removeShowUpdateListener?: () => void;\r\n private _isMounted = false;\r\n\r\n public static readonly defaultProps: ViewSelectorDefaultProps = {\r\n showSpatials: true,\r\n showDrawings: true,\r\n showSheets: true,\r\n showUnknown: true,\r\n };\r\n\r\n /** Gets the [[ViewSelectorChangedEvent]] */\r\n public static readonly onViewSelectorChangedEvent = new ViewSelectorChangedEvent();\r\n\r\n /** Updates the ViewSelector show settings.\r\n */\r\n public static updateShowSettings(showSpatials: boolean, showDrawings: boolean, showSheets: boolean, showUnknown: boolean): void {\r\n ViewSelector._onViewSelectorShowUpdateEvent.emit({ showSpatials, showDrawings, showSheets, showUnknown });\r\n }\r\n\r\n /** Creates a ViewSelector */\r\n constructor(props: ViewSelectorProps) {\r\n super(props);\r\n\r\n this.state = {\r\n items: new Array<ListItem>(),\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: false,\r\n showSpatials: props.showSpatials,\r\n showDrawings: props.showDrawings,\r\n showSheets: props.showSheets,\r\n showUnknown: props.showUnknown,\r\n };\r\n }\r\n\r\n public override async componentDidMount() {\r\n this._isMounted = true;\r\n if (this.props.listenForShowUpdates)\r\n this._removeShowUpdateListener = ViewSelector._onViewSelectorShowUpdateEvent.addListener(this._handleViewSelectorShowUpdateEvent);\r\n\r\n await this.loadViews();\r\n }\r\n\r\n public override async componentDidUpdate(prevProps: ViewSelectorProps) {\r\n if (this.props.imodel !== prevProps.imodel) {\r\n await this.loadViews();\r\n }\r\n }\r\n\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n // istanbul ignore else\r\n if (this._removeShowUpdateListener)\r\n this._removeShowUpdateListener();\r\n }\r\n\r\n private _handleViewSelectorShowUpdateEvent = (args: ViewSelectorShowUpdateEventArgs): void => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState(args, async () => this.loadViews());\r\n };\r\n\r\n private setStateContainers(views3d: ListItem[], views2d: ListItem[], sheets: ListItem[], unknown?: ListItem[]) {\r\n const views3dContainer: ListItem = {\r\n key: \"views3dContainer\",\r\n name: UiFramework.translate(\"viewTypes.spatialViews\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views3d,\r\n };\r\n\r\n const views2dContainer: ListItem = {\r\n key: \"views2dContainer\",\r\n name: UiFramework.translate(\"viewTypes.drawings\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: views2d,\r\n };\r\n\r\n const sheetContainer: ListItem = {\r\n key: \"sheetContainer\",\r\n name: UiFramework.translate(\"viewTypes.sheets\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: sheets,\r\n };\r\n\r\n const containers = [views3dContainer, views2dContainer, sheetContainer];\r\n\r\n // istanbul ignore if\r\n if (unknown && unknown.length > 0) {\r\n // This should never show, but just in case we missed a type of view state\r\n const unknownContainer: ListItem = {\r\n key: \"unknownContainer\",\r\n name: UiFramework.translate(\"viewTypes.others\"),\r\n enabled: false,\r\n type: ListItemType.Container,\r\n children: unknown,\r\n };\r\n\r\n if (unknown.length !== 0)\r\n containers.push(unknownContainer);\r\n }\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState({\r\n items: containers,\r\n title: UiFramework.translate(\"viewTypes.views\"),\r\n initialized: true,\r\n });\r\n }\r\n /**\r\n * Query the views and set the initial state with the iModel's views.\r\n */\r\n public async loadViews(): Promise<void> {\r\n // Query views and add them to state\r\n const views3d: ListItem[] = [];\r\n const views2d: ListItem[] = [];\r\n const sheets: ListItem[] = [];\r\n const unknown: ListItem[] = [];\r\n\r\n if (this.props.imodel && this.props.imodel.views.getViewList) {\r\n const query = { wantPrivate: false };\r\n const specs = await this.props.imodel.views.getViewList(query);\r\n\r\n specs.forEach((spec: IModelConnection.ViewSpec) => {\r\n const viewItem: ListItem = {\r\n key: spec.id,\r\n name: spec.name,\r\n enabled: false,\r\n type: ListItemType.Item,\r\n };\r\n\r\n const className = ViewUtilities.getBisBaseClass(spec.class);\r\n\r\n if (ViewUtilities.isSpatial(className) && this.state.showSpatials)\r\n views3d.push(viewItem);\r\n else if (ViewUtilities.isDrawing(className) && this.state.showDrawings)\r\n views2d.push(viewItem);\r\n else if (ViewUtilities.isSheet(className) && this.state.showSheets)\r\n sheets.push(viewItem);\r\n else if (this.state.showUnknown)\r\n unknown.push(viewItem);\r\n });\r\n }\r\n\r\n this.setStateContainers(views3d, views2d, sheets, unknown);\r\n }\r\n\r\n /**\r\n * Update state of the entries in the widget.\r\n * @param viewId Identifier for the relevant view\r\n */\r\n // istanbul ignore next\r\n public async updateState(viewId?: any): Promise<void> {\r\n // Wait for initialization finished\r\n if (!this.state.initialized)\r\n return;\r\n\r\n // Query views and add them to state\r\n const views3d: ListItem[] = this.state.items[0].children!;\r\n const views2d: ListItem[] = this.state.items[1].children!;\r\n const sheets: ListItem[] = this.state.items[2].children!;\r\n const unknown: ListItem[] = this.state.items.length > 3 ? this.state.items[3].children! : [];\r\n\r\n const updateChildren = (item: ListItem) => {\r\n if (item.key === viewId)\r\n return { ...item, enabled: true };\r\n else\r\n return { ...item, enabled: false };\r\n };\r\n\r\n this.setStateContainers(views3d.map(updateChildren), views2d.map(updateChildren), sheets.map(updateChildren), unknown.map(updateChildren));\r\n }\r\n\r\n // enable/disable the models\r\n // istanbul ignore next\r\n private _setEnabled = async (item: ListItem, _enabled: boolean) => {\r\n const activeContentControl = UiFramework.content.getActiveContentControl() as unknown as SupportsViewSelectorChange;\r\n if (!activeContentControl || !activeContentControl.supportsViewSelectorChange) {\r\n Logger.logError(UiFramework.loggerCategory(this), `No active ContentControl for ViewSelector change`);\r\n return;\r\n }\r\n\r\n // Enable the item temporarily to let user see that their click was registered\r\n // while we query for view state and change the current view which may take a bit\r\n if (_enabled && item.type !== ListItemType.Container) {\r\n // This itemMapper simply looks through all the list items and their nested children and enables the one\r\n // that we have registered to enable\r\n // Also disable all other items\r\n const itemMapper: (tempItem: ListItem) => ListItem = (tempItem: ListItem) => {\r\n if (tempItem.type === ListItemType.Container) {\r\n return { ...tempItem, children: tempItem.children!.map(itemMapper) };\r\n } else if (tempItem.key === item.key) {\r\n return { ...tempItem, enabled: true };\r\n } else {\r\n return { ...tempItem, enabled: false };\r\n }\r\n };\r\n\r\n // Create the new array with the current item enabled\r\n const itemsWithEnabled = this.state.items.map(itemMapper);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n // Update the state so that we show the user it was enabled while we work in the background\r\n this.setState({ items: itemsWithEnabled });\r\n }\r\n\r\n // Load the view state using the viewSpec's ID\r\n const viewState = await this.props.imodel!.views.load(item.key);\r\n\r\n // Let activeContentControl process the ViewSelector change\r\n await activeContentControl.processViewSelectorChange(this.props.imodel!, item.key, viewState, item.name!);\r\n\r\n // Emit a change event\r\n ViewSelector.onViewSelectorChangedEvent.emit({\r\n iModelConnection: this.props.imodel!,\r\n viewDefinitionId: item.key,\r\n viewState,\r\n name: item.name!,\r\n });\r\n\r\n // Set state to show enabled the view that got selected\r\n this.updateState(item.key); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n // Hook on the category selector being expanded so that we may initialize if needed\r\n // istanbul ignore next\r\n private _onExpanded = (expand: boolean) => {\r\n if (expand)\r\n this.updateState(IModelApp.viewManager.selectedView ? IModelApp.viewManager.selectedView.view.id : undefined); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n /**\r\n * Renders ViewSelector component\r\n */\r\n public override render() {\r\n if (!this.state.initialized)\r\n return null;\r\n const iconSpec = IconSpecUtilities.createWebComponentIconSpec(svgSavedView);\r\n\r\n const { imodel, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n return (\r\n <ListPicker\r\n {...props}\r\n title={this.state.title}\r\n setEnabled={this._setEnabled}\r\n items={this.state.items}\r\n iconSpec={iconSpec}\r\n onExpanded={this._onExpanded}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** ViewSelector that is connected to the IModelConnection property in the Redux store. The application must set up the Redux store and include the FrameworkReducer.\r\n * @beta\r\n */\r\nexport const IModelConnectedViewSelector = connectIModelConnection(null, null)(ViewSelector); // eslint-disable-line @typescript-eslint/naming-convention\r\n"]}
@@ -10,7 +10,7 @@ import * as React from "react";
10
10
  import classnames from "classnames";
11
11
  import { SpecialKey } from "@itwin/appui-abstract";
12
12
  import { DivWithOutsideClick, FocusTrap, Point, Size } from "@itwin/core-react";
13
- import { Leading } from "@itwin/itwinui-react";
13
+ import { Text } from "@itwin/itwinui-react";
14
14
  import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
15
15
  import { isReactContent, PopupManager } from "./PopupManager";
16
16
  import { PositionPopup } from "./PositionPopup";
@@ -62,11 +62,11 @@ export function Card(props) {
62
62
  // istanbul ignore else
63
63
  if (props.title) {
64
64
  if (typeof props.title === "string")
65
- titleNode = React.createElement(Leading, null, props.title);
65
+ titleNode = React.createElement(Text, { variant: "leading" }, props.title);
66
66
  else {
67
67
  const propertyValueRendererManager = PropertyValueRendererManager.defaultManager;
68
68
  const titleValue = propertyValueRendererManager.render(props.title);
69
- titleNode = React.createElement(Leading, null, titleValue);
69
+ titleNode = React.createElement(Text, { variant: "leading" }, titleValue);
70
70
  }
71
71
  }
72
72
  const content = isReactContent(props.content) ? props.content.reactNode : React.createElement(MessageDiv, { message: props.content });
@@ -1 +1 @@
1
- {"version":3,"file":"CardPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport \"./CardPopup.scss\";\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, PropertyRecord, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Leading } from \"@itwin/itwinui-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { isReactContent, PopupContentType, PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { MessageDiv } from \"../messages/MessageSpan\";\r\nimport { Direction, PropertyValueRendererManager, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\r\n\r\n/** Props for defining a CardPopup editor\r\n * @beta */\r\nexport interface CardPopupProps extends PopupPropsBase {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface CardPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Input Editor\r\n * @beta\r\n */\r\nexport class CardPopup extends React.PureComponent<CardPopupProps, CardPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className={classnames(\"uifw-no-border\", \"uifw-card\")}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Card content={this.props.content} title={this.props.title} items={this.props.items}\r\n onItemExecuted={this.props.onItemExecuted} />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n\r\n/** Props defining a Card component\r\n * @beta */\r\nexport interface CardProps {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** Card component\r\n * @beta */\r\nexport function Card(props: CardProps) {\r\n let titleNode: React.ReactNode;\r\n // istanbul ignore else\r\n if (props.title) {\r\n if (typeof props.title === \"string\")\r\n titleNode = <Leading>{props.title}</Leading>;\r\n else {\r\n const propertyValueRendererManager = PropertyValueRendererManager.defaultManager;\r\n const titleValue = propertyValueRendererManager.render(props.title);\r\n titleNode = <Leading>{titleValue}</Leading>;\r\n }\r\n }\r\n\r\n const content = isReactContent(props.content) ? props.content.reactNode : <MessageDiv message={props.content} />;\r\n\r\n return (\r\n <>\r\n <div className=\"uifw-card-content\">\r\n {props.title &&\r\n <>\r\n {titleNode}\r\n <div className=\"uifw-card-gap\" />\r\n </>\r\n }\r\n {content}\r\n </div>\r\n {props.items &&\r\n <>\r\n <div className=\"uifw-card-separator\" />\r\n <ToolbarWithOverflow\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={props.items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Transparent}\r\n onItemExecuted={props.onItemExecuted}\r\n />\r\n </>\r\n }\r\n </>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"CardPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport \"./CardPopup.scss\";\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, PropertyRecord, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Text } from \"@itwin/itwinui-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { isReactContent, PopupContentType, PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { MessageDiv } from \"../messages/MessageSpan\";\r\nimport { Direction, PropertyValueRendererManager, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\r\n\r\n/** Props for defining a CardPopup editor\r\n * @beta */\r\nexport interface CardPopupProps extends PopupPropsBase {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface CardPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Input Editor\r\n * @beta\r\n */\r\nexport class CardPopup extends React.PureComponent<CardPopupProps, CardPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className={classnames(\"uifw-no-border\", \"uifw-card\")}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Card content={this.props.content} title={this.props.title} items={this.props.items}\r\n onItemExecuted={this.props.onItemExecuted} />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n\r\n/** Props defining a Card component\r\n * @beta */\r\nexport interface CardProps {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** Card component\r\n * @beta */\r\nexport function Card(props: CardProps) {\r\n let titleNode: React.ReactNode;\r\n // istanbul ignore else\r\n if (props.title) {\r\n if (typeof props.title === \"string\")\r\n titleNode = <Text variant=\"leading\">{props.title}</Text>;\r\n else {\r\n const propertyValueRendererManager = PropertyValueRendererManager.defaultManager;\r\n const titleValue = propertyValueRendererManager.render(props.title);\r\n titleNode = <Text variant=\"leading\">{titleValue}</Text>;\r\n }\r\n }\r\n\r\n const content = isReactContent(props.content) ? props.content.reactNode : <MessageDiv message={props.content} />;\r\n\r\n return (\r\n <>\r\n <div className=\"uifw-card-content\">\r\n {props.title &&\r\n <>\r\n {titleNode}\r\n <div className=\"uifw-card-gap\" />\r\n </>\r\n }\r\n {content}\r\n </div>\r\n {props.items &&\r\n <>\r\n <div className=\"uifw-card-separator\" />\r\n <ToolbarWithOverflow\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={props.items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Transparent}\r\n onItemExecuted={props.onItemExecuted}\r\n />\r\n </>\r\n }\r\n </>\r\n );\r\n}\r\n"]}
@@ -10,7 +10,7 @@
10
10
 
11
11
  box-sizing: border-box;
12
12
  background: $buic-background-control;
13
- color: $buic-foreground-body;
13
+ color: var(--iui-color-text);
14
14
  -webkit-box-shadow: 0 3px 6px $buic-popup-boxshadow;
15
15
  box-shadow: 0px 3px 6px $buic-popup-boxshadow;
16
16
 
@@ -12,7 +12,7 @@
12
12
  width: $uifw-popup-border-width;
13
13
  }
14
14
 
15
- background-color: rgba($buic-background-2-rgb, $uifw-popup-opacity);
15
+ background-color: hsl(var(--iui-color-background-hsl) / $uifw-popup-opacity);
16
16
  position: fixed;
17
17
  height: fit-content;
18
18
  width: fit-content;
@@ -2,13 +2,14 @@
2
2
  * @module Popup
3
3
  */
4
4
  import * as React from "react";
5
- import { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, RelativePosition } from "@itwin/appui-abstract";
5
+ import { OnCancelFunc, OnItemExecutedFunc, RelativePosition } from "@itwin/appui-abstract";
6
6
  import { Orientation, Size } from "@itwin/core-react";
7
7
  import { PopupPropsBase } from "./PopupManager";
8
+ import { ToolbarItem } from "../toolbar/ToolbarItem";
8
9
  /** Props for a popup toolbar
9
10
  * @beta */
10
11
  export interface ToolbarPopupProps extends PopupPropsBase {
11
- items: CommonToolbarItem[];
12
+ items: ToolbarItem[];
12
13
  relativePosition: RelativePosition;
13
14
  orientation: Orientation;
14
15
  onCancel: OnCancelFunc;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC1H,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAGxG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG9D;WACW;AACX,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzF,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CA0BvB"}
1
+ {"version":3,"file":"ToolbarPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAGxG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGrD;WACW;AACX,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,iBAAiB;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACzF,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CA0BvB"}
@@ -12,6 +12,7 @@ import { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from
12
12
  import { CursorPopup } from "../cursor/cursorpopup/CursorPopup";
13
13
  import { PopupManager } from "./PopupManager";
14
14
  import { PositionPopup } from "./PositionPopup";
15
+ import { toUIAToolbarItem } from "../toolbar/toUIAToolbarItem";
15
16
  /** Popup component for Toolbar
16
17
  * @beta
17
18
  */
@@ -45,10 +46,11 @@ export class ToolbarPopup extends React.PureComponent {
45
46
  let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);
46
47
  const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);
47
48
  point = new Point(popupRect.left, popupRect.top);
49
+ const items = this.props.items.map((item) => toUIAToolbarItem(item));
48
50
  return (React.createElement(PositionPopup, { key: this.props.id, className: "uifw-no-border", point: point, onSizeKnown: this._onSizeKnown },
49
51
  React.createElement(DivWithOutsideClick, { onOutsideClick: this.props.onCancel, onKeyDown: this._handleKeyDown },
50
52
  React.createElement(FocusTrap, { active: true, returnFocusOnDeactivate: true },
51
- React.createElement(Toolbar, { expandsTo: Direction.Bottom, panelAlignment: ToolbarPanelAlignment.Start, items: this.props.items, useDragInteraction: true, toolbarOpacitySetting: ToolbarOpacitySetting.Defaults, onItemExecuted: this.props.onItemExecuted })))));
53
+ React.createElement(Toolbar, { expandsTo: Direction.Bottom, panelAlignment: ToolbarPanelAlignment.Start, items: items, useDragInteraction: true, toolbarOpacitySetting: ToolbarOpacitySetting.Defaults, onItemExecuted: this.props.onItemExecuted })))));
52
54
  }
53
55
  }
54
56
  //# sourceMappingURL=ToolbarPopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\n\r\n/** Props for a popup toolbar\r\n * @beta */\r\nexport interface ToolbarPopupProps extends PopupPropsBase {\r\n items: CommonToolbarItem[];\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolbarPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Toolbar\r\n * @beta\r\n */\r\nexport class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className=\"uifw-no-border\"\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Toolbar\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={this.props.items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Defaults}\r\n onItemExecuted={this.props.onItemExecuted}\r\n />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolbarPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolbarPopup.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnCancelFunc, OnItemExecutedFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Direction, Toolbar, ToolbarOpacitySetting, ToolbarPanelAlignment } from \"@itwin/components-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { ToolbarItem } from \"../toolbar/ToolbarItem\";\r\nimport { toUIAToolbarItem } from \"../toolbar/toUIAToolbarItem\";\r\n\r\n/** Props for a popup toolbar\r\n * @beta */\r\nexport interface ToolbarPopupProps extends PopupPropsBase {\r\n items: ToolbarItem[];\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolbarPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Toolbar\r\n * @beta\r\n */\r\nexport class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n const items = this.props.items.map((item) => toUIAToolbarItem(item));\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className=\"uifw-no-border\"\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Toolbar\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Defaults}\r\n onItemExecuted={this.props.onItemExecuted}\r\n />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionContextItemDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,EAAE,CAEzD;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,uBAAuB,CAE7E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,uBAAuB,CAEzE;AAED;;GAEG;AAEH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,CAS7F;AAED;;GAEG;AAEH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,CAWvF;AAED;;GAEG;AAEH,qBAAa,+BAA+B;IAE1C,WAAkB,+BAA+B,mBAOhD;IAED,WAAkB,mCAAmC,mBAOpD;IAED,WAAkB,sBAAsB,mBAQvC;IAED,WAAkB,yBAAyB,iBAS1C;IAED,WAAkB,4BAA4B,mBAO7C;IAED,WAAkB,gCAAgC,mBAOjD;IAED,WAAkB,mBAAmB,mBAQpC;IAED,WAAkB,oBAAoB,iBASrC;IAED,WAAkB,wBAAwB,mBAQzC;IAED,WAAkB,wCAAwC,mBAYzD;CAEF"}
1
+ {"version":3,"file":"SelectionContextItemDef.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/selection/SelectionContextItemDef.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAqB,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAcpD;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,MAAM,EAAE,CAEzD;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,MAAM,EAAE,CAE1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,OAAO,CAOrD;AAED;;GAEG;AACH,wBAAgB,mCAAmC,IAAI,uBAAuB,CAE7E;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,uBAAuB,CAEzE;AAED;;GAEG;AAEH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,CAS7F;AAED;;GAEG;AAEH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,CAWvF;AAED;;GAEG;AAEH,qBAAa,+BAA+B;IAE1C,WAAkB,+BAA+B,mBAOhD;IAED,WAAkB,mCAAmC,mBAOpD;IAED,WAAkB,sBAAsB,mBAQvC;IAED,WAAkB,yBAAyB,iBAS1C;IAED,WAAkB,4BAA4B,mBAO7C;IAED,WAAkB,gCAAgC,mBAOjD;IAED,WAAkB,mBAAmB,mBAQpC;IAED,WAAkB,oBAAoB,iBASrC;IAED,WAAkB,wBAAwB,mBAQzC;IAED,WAAkB,wCAAwC,mBAYzD;CAEF"}
@@ -5,13 +5,23 @@
5
5
  /** @packageDocumentation
6
6
  * @module Tools
7
7
  */
8
- import { ConditionalBooleanValue } from "@itwin/appui-abstract";
8
+ import { ConditionalBooleanValue, IconSpecUtilities } from "@itwin/appui-abstract";
9
9
  import { SessionStateActionId } from "../redux/SessionState";
10
10
  import { CommandItemDef } from "../shared/CommandItemDef";
11
11
  import { SyncUiEventId } from "../syncui/SyncUiEventDispatcher";
12
12
  import { GroupItemDef } from "../toolbar/GroupItem";
13
13
  import { UiFramework } from "../UiFramework";
14
14
  import { HideIsolateEmphasizeActionHandler } from "./HideIsolateEmphasizeManager";
15
+ import svgModelIsolate from "@bentley/icons-generic/icons/model-isolate.svg";
16
+ import svgLayersIsolate from "@bentley/icons-generic/icons/layers-isolate.svg";
17
+ import svgAssetIsolate from "@bentley/icons-generic/icons/asset-isolate.svg";
18
+ import svgIsolate from "@bentley/icons-generic/icons/isolate.svg";
19
+ import svgModelHide from "@bentley/icons-generic/icons/model-hide.svg";
20
+ import svgLayersHide from "@bentley/icons-generic/icons/layers-hide.svg";
21
+ import svgAssetClassificationHide from "@bentley/icons-generic/icons/asset-classification-hide.svg";
22
+ import svgVisibilitySemiTransparent from "@bentley/icons-generic/icons/visibility-semi-transparent.svg";
23
+ import svgVisibilityHide from "@bentley/icons-generic/icons/visibility-hide_2.svg";
24
+ import svgVisibility from "@bentley/icons-generic/icons/visibility.svg";
15
25
  /** return SyncEventIds that trigger selection state function refresh.
16
26
  * @beta
17
27
  */
@@ -95,7 +105,7 @@ export class SelectionContextToolDefinitions {
95
105
  static get isolateModelsInSelectionItemDef() {
96
106
  return new CommandItemDef({
97
107
  commandId: "UiFramework.IsolateModel",
98
- iconSpec: "icon-model-isolate",
108
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelIsolate),
99
109
  labelKey: "UiFramework:tools.isolateModels",
100
110
  execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsModel(),
101
111
  });
@@ -103,7 +113,7 @@ export class SelectionContextToolDefinitions {
103
113
  static get isolateCategoriesInSelectionItemDef() {
104
114
  return new CommandItemDef({
105
115
  commandId: "UiFramework.IsolateCategory",
106
- iconSpec: "icon-layers-isolate",
116
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersIsolate),
107
117
  labelKey: "UiFramework:tools.isolateCategories",
108
118
  execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelectedElementsCategory(),
109
119
  });
@@ -111,7 +121,7 @@ export class SelectionContextToolDefinitions {
111
121
  static get isolateElementsItemDef() {
112
122
  return new CommandItemDef({
113
123
  commandId: "UiFramework.IsolateSelected",
114
- iconSpec: "icon-asset-isolate",
124
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgAssetIsolate),
115
125
  labelKey: "UiFramework:tools.isolateSelected",
116
126
  isHidden: getIsHiddenIfSelectionNotActive(),
117
127
  execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processIsolateSelected(),
@@ -121,7 +131,7 @@ export class SelectionContextToolDefinitions {
121
131
  return new GroupItemDef({
122
132
  groupId: "UiFramework.IsolateSelectionGroup",
123
133
  labelKey: "UiFramework:tools.isolate",
124
- iconSpec: "icon-isolate",
134
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgIsolate),
125
135
  isHidden: getIsHiddenIfSelectionNotActive(),
126
136
  items: [this.isolateElementsItemDef, this.isolateCategoriesInSelectionItemDef, this.isolateModelsInSelectionItemDef],
127
137
  itemsInColumn: 3,
@@ -130,7 +140,7 @@ export class SelectionContextToolDefinitions {
130
140
  static get hideModelsInSelectionItemDef() {
131
141
  return new CommandItemDef({
132
142
  commandId: "UiFramework.HideModel",
133
- iconSpec: "icon-model-hide",
143
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgModelHide),
134
144
  labelKey: "UiFramework:tools.hideModels",
135
145
  execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsModel(),
136
146
  });
@@ -138,7 +148,7 @@ export class SelectionContextToolDefinitions {
138
148
  static get hideCategoriesInSelectionItemDef() {
139
149
  return new CommandItemDef({
140
150
  commandId: "UiFramework.HideCategory",
141
- iconSpec: "icon-layers-hide",
151
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgLayersHide),
142
152
  labelKey: "UiFramework:tools.hideCategories",
143
153
  execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processHideSelectedElementsCategory(),
144
154
  });
@@ -146,7 +156,7 @@ export class SelectionContextToolDefinitions {
146
156
  static get hideElementsItemDef() {
147
157
  return new CommandItemDef({
148
158
  commandId: "UiFramework.HideSelected",
149
- iconSpec: "icon-asset-classification-hide",
159
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgAssetClassificationHide),
150
160
  labelKey: "UiFramework:tools.hideSelected",
151
161
  isHidden: getIsHiddenIfSelectionNotActive(),
152
162
  execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processHideSelected(),
@@ -156,7 +166,7 @@ export class SelectionContextToolDefinitions {
156
166
  return new GroupItemDef({
157
167
  groupId: "UiFramework.HideSelectionGroup",
158
168
  labelKey: "UiFramework:tools.hide",
159
- iconSpec: "icon-visibility-hide-2",
169
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibilityHide),
160
170
  isHidden: getIsHiddenIfSelectionNotActive(),
161
171
  items: [this.hideElementsItemDef, this.hideCategoriesInSelectionItemDef, this.hideModelsInSelectionItemDef],
162
172
  itemsInColumn: 3,
@@ -165,7 +175,7 @@ export class SelectionContextToolDefinitions {
165
175
  static get emphasizeElementsItemDef() {
166
176
  return new CommandItemDef({
167
177
  commandId: "UiFramework.EmphasizeSelected",
168
- iconSpec: "icon-visibility-semi-transparent",
178
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibilitySemiTransparent),
169
179
  labelKey: "UiFramework:tools.emphasizeSelected",
170
180
  isHidden: getIsHiddenIfSelectionNotActive(),
171
181
  execute: async () => UiFramework.hideIsolateEmphasizeActionHandler.processEmphasizeSelected(),
@@ -174,7 +184,7 @@ export class SelectionContextToolDefinitions {
174
184
  static get clearHideIsolateEmphasizeElementsItemDef() {
175
185
  return new CommandItemDef({
176
186
  commandId: "UiFramework.ClearHideIsolateEmphasize",
177
- iconSpec: "icon-visibility",
187
+ iconSpec: IconSpecUtilities.createWebComponentIconSpec(svgVisibility),
178
188
  labelKey: "UiFramework:tools.clearVisibility",
179
189
  isHidden: getIsHiddenIfFeatureOverridesActive(),
180
190
  execute: async () => {