@itwin/appui-react 3.0.0-extension.1 → 3.0.2

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 (933) hide show
  1. package/CHANGELOG.md +209 -16
  2. package/LICENSE.md +1 -1
  3. package/README.md +3 -3
  4. package/lib/cjs/appui-react/UiFramework.d.ts +30 -15
  5. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.js +49 -30
  7. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/Calculator.js +1 -1
  15. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  17. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +5 -4
  19. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  20. package/lib/cjs/appui-react/backstage/Backstage.d.ts +0 -2
  21. package/lib/cjs/appui-react/backstage/Backstage.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/backstage/Backstage.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +2 -0
  24. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposer.js +26 -8
  26. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  30. package/lib/cjs/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  31. package/lib/cjs/appui-react/backstage/BackstageItemProps.js +1 -1
  32. package/lib/cjs/appui-react/backstage/BackstageItemProps.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  34. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +3 -3
  35. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts +2 -0
  37. package/lib/cjs/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/backstage/CommandLaunch.js +1 -0
  39. package/lib/cjs/appui-react/backstage/CommandLaunch.js.map +1 -1
  40. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  41. package/lib/cjs/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  42. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js +5 -6
  43. package/lib/cjs/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  44. package/lib/cjs/appui-react/backstage/Separator.d.ts +1 -0
  45. package/lib/cjs/appui-react/backstage/Separator.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/backstage/Separator.js +3 -2
  47. package/lib/cjs/appui-react/backstage/Separator.js.map +1 -1
  48. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  49. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  50. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +3 -4
  51. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  52. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  54. package/lib/cjs/appui-react/configurableui/state.d.ts +7 -1
  55. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/state.js +12 -0
  57. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentControl.d.ts +1 -1
  59. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js +2 -2
  61. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -2
  63. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/content/ContentLayout.js +4 -3
  65. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  66. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +1 -1
  67. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/content/ContentViewManager.js +3 -3
  69. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  70. package/lib/cjs/appui-react/content/IModelViewport.d.ts +13 -1
  71. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  72. package/lib/cjs/appui-react/content/IModelViewport.js +18 -5
  73. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  74. package/lib/cjs/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  75. package/lib/cjs/appui-react/content/StageContentLayout.d.ts.map +1 -0
  76. package/lib/cjs/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +19 -17
  77. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -0
  78. package/lib/cjs/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  79. package/lib/cjs/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  80. package/lib/cjs/appui-react/content/{SavedView.js → ViewStateHelper.js} +4 -4
  81. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -0
  82. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts +21 -0
  83. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  84. package/lib/cjs/appui-react/content/split-pane/Pane.js +43 -0
  85. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -0
  86. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts +23 -0
  87. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  88. package/lib/cjs/appui-react/content/split-pane/Resizer.js +39 -0
  89. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -0
  90. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  91. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  92. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +243 -0
  93. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -0
  94. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +1 -2
  95. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/cursor/CursorInformation.js +1 -1
  97. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  98. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  99. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  100. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  101. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +3 -3
  103. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  104. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  105. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -2
  107. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  108. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  109. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +3 -0
  110. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  111. package/lib/cjs/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js +8 -4
  113. package/lib/cjs/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  114. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -2
  115. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/feedback/ElementTooltip.js +4 -2
  117. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  118. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts +1 -0
  119. package/lib/cjs/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/frontstage/Frontstage.js +32 -13
  121. package/lib/cjs/appui-react/frontstage/Frontstage.js.map +1 -1
  122. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  123. package/lib/cjs/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js +16 -1
  125. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  126. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +20 -2
  127. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +164 -3
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  130. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  131. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +10 -0
  133. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  134. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  135. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  136. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  139. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  141. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  142. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts +6 -0
  143. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  144. package/lib/cjs/appui-react/hooks/useUiVisibility.js +27 -0
  145. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -0
  146. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  147. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  149. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  150. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  151. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  152. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +3 -2
  153. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  154. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  155. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  157. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  158. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  159. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +81 -68
  161. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  162. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  163. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  164. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  165. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  166. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  167. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  168. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  169. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  170. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  171. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  172. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
  173. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  174. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  175. package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
  176. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/messages/MessageManager.js +15 -9
  178. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  179. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  180. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  181. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  182. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  183. package/lib/cjs/appui-react/messages/ToastMessage.js +2 -1
  184. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  185. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  186. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
  188. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  189. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  190. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  192. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  193. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  194. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  195. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  196. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/pickers/ListPicker.js +24 -9
  198. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  199. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  200. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  201. package/lib/cjs/appui-react/pickers/ViewSelector.js +9 -9
  202. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  203. package/lib/cjs/appui-react/popup/CardPopup.d.ts +7 -4
  204. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/popup/CardPopup.js +3 -2
  206. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  207. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +3 -2
  208. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/popup/InputEditorPopup.js +1 -1
  210. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  211. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -6
  212. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  213. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  214. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  215. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  216. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  217. package/lib/cjs/appui-react/popup/PopupManager.d.ts +10 -10
  218. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  219. package/lib/cjs/appui-react/popup/PopupManager.js +4 -4
  220. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  221. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +5 -3
  222. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  223. package/lib/cjs/appui-react/popup/PositionPopup.js +3 -2
  224. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  225. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  226. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  228. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  229. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +4 -3
  230. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  232. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  233. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  234. package/lib/cjs/appui-react/redux/SessionState.d.ts +0 -6
  235. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  236. package/lib/cjs/appui-react/redux/SessionState.js +0 -8
  237. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  238. package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
  239. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  240. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  241. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  242. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  244. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  245. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  246. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +28 -19
  247. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  248. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  249. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  250. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  251. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  252. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  253. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
  254. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  255. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  256. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  257. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  258. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  259. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  260. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  261. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  262. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  263. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  264. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +2 -2
  265. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
  267. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  268. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +26 -3
  269. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +26 -6
  271. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  272. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  273. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +2 -1
  275. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  276. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  277. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  278. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  279. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +17 -5
  280. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  281. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  282. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  283. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  284. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +15 -14
  285. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/statusfields/Indicator.js +23 -21
  287. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  288. package/lib/cjs/appui-react/statusfields/Indicator.scss +29 -18
  289. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  290. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -1
  291. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  292. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +1 -0
  293. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  294. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -4
  295. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  296. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +13 -3
  297. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -10
  298. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  299. package/lib/cjs/appui-react/statusfields/SnapMode.js +4 -34
  300. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  301. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  302. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -25
  304. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  305. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  306. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  307. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -12
  308. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  309. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  310. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  311. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  312. package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
  313. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  314. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  315. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  316. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +30 -103
  317. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  318. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +2 -1
  319. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  320. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  321. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +2 -1
  322. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  323. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +24 -20
  324. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  325. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  326. package/lib/cjs/appui-react/toolbar/GroupItem.js +33 -29
  327. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  328. package/lib/cjs/appui-react/toolbar/ToolButton.js +3 -2
  329. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  330. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
  332. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  333. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +22 -20
  335. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  336. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  337. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +4 -4
  338. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  339. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  340. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +2 -2
  341. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  342. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  343. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  344. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -36
  345. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  346. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  347. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +12 -20
  349. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  350. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  351. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  352. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +39 -50
  353. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  354. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +7 -4
  355. package/lib/{esm/appui-react/uisettings → cjs/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  356. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  357. package/lib/cjs/appui-react/{uisettings → uistate}/AppUiSettings.js +12 -8
  358. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -0
  359. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  360. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  361. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +62 -0
  362. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  363. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  364. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  365. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -0
  366. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -0
  367. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +5 -5
  368. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  369. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -8
  370. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  371. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/widget-panels/Content.js +1 -4
  373. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  374. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +98 -8
  375. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  376. package/lib/cjs/appui-react/widget-panels/Frontstage.js +103 -103
  377. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  378. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  379. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  380. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +56 -0
  381. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -0
  382. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  383. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +3 -2
  384. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  385. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  386. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  387. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +6 -18
  388. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  389. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  390. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  391. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +12 -2
  392. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  393. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  394. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -1
  395. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  396. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  397. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  398. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  399. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  400. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  401. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +2 -1
  402. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  403. package/lib/cjs/appui-react/widgets/ToolWidget.js +3 -2
  404. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  405. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  406. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  407. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -36
  408. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  409. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  410. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  411. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  412. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  413. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  414. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  415. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +3 -3
  416. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  417. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -3
  418. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  419. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -7
  420. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  421. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  422. package/lib/cjs/appui-react/widgets/WidgetHost.js +1 -0
  423. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  424. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  425. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -0
  426. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  427. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  428. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  429. package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
  430. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  431. package/lib/cjs/appui-react/zones/Zone.js +2 -1
  432. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  433. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
  434. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  435. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -4
  436. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  437. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  438. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
  440. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  441. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  442. package/lib/cjs/appui-react.d.ts +16 -18
  443. package/lib/cjs/appui-react.d.ts.map +1 -1
  444. package/lib/cjs/appui-react.js +16 -18
  445. package/lib/cjs/appui-react.js.map +1 -1
  446. package/lib/esm/appui-react/UiFramework.d.ts +30 -15
  447. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  448. package/lib/esm/appui-react/UiFramework.js +48 -29
  449. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  450. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  451. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  452. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  453. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  454. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  455. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  456. package/lib/esm/appui-react/accudraw/Calculator.js +1 -1
  457. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  458. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  459. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  460. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +6 -5
  461. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  462. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  463. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  464. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  465. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -0
  466. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  467. package/lib/esm/appui-react/backstage/BackstageComposer.js +27 -9
  468. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  469. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  470. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  471. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  472. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  473. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  474. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  475. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  476. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
  477. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  478. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -0
  479. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  480. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -0
  481. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  482. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  483. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  484. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +5 -6
  485. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  486. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -0
  487. package/lib/esm/appui-react/backstage/Separator.d.ts.map +1 -1
  488. package/lib/esm/appui-react/backstage/Separator.js +3 -2
  489. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  490. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  491. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  492. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +3 -4
  493. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  494. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  495. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  496. package/lib/esm/appui-react/configurableui/state.d.ts +7 -1
  497. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  498. package/lib/esm/appui-react/configurableui/state.js +12 -0
  499. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  500. package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
  501. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  502. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  503. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  504. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  505. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  506. package/lib/esm/appui-react/content/ContentLayout.js +3 -2
  507. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  508. package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
  509. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  510. package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
  511. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  512. package/lib/esm/appui-react/content/IModelViewport.d.ts +13 -1
  513. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  514. package/lib/esm/appui-react/content/IModelViewport.js +16 -4
  515. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  516. package/lib/esm/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  517. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -0
  518. package/lib/esm/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +17 -15
  519. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -0
  520. package/lib/esm/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  521. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  522. package/lib/esm/appui-react/content/{SavedView.js → ViewStateHelper.js} +2 -2
  523. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -0
  524. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
  525. package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  526. package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
  527. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
  528. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
  529. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  530. package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
  531. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
  532. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  533. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  534. package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
  535. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
  536. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
  537. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  538. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
  539. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  540. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  541. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  542. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  543. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  544. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
  545. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  546. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  547. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  548. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
  549. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  550. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  551. package/lib/esm/appui-react/dialog/StandardMessageBox.js +3 -0
  552. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  553. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  554. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +8 -4
  555. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  556. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
  557. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  558. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -2
  559. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  560. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -0
  561. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  562. package/lib/esm/appui-react/frontstage/Frontstage.js +32 -13
  563. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  564. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  565. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  566. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +16 -1
  567. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  568. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +20 -2
  569. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  570. package/lib/esm/appui-react/frontstage/FrontstageDef.js +166 -5
  571. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  572. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +3 -0
  573. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  574. package/lib/esm/appui-react/frontstage/FrontstageManager.js +10 -0
  575. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  576. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  577. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  578. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  579. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  580. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  581. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  582. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  583. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  584. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts +6 -0
  585. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -0
  586. package/lib/esm/appui-react/hooks/useUiVisibility.js +23 -0
  587. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -0
  588. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  589. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  590. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  591. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  592. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  593. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  594. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +3 -2
  595. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  596. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  597. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  598. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  599. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +3 -3
  600. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  601. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  602. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +83 -70
  603. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  604. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  605. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  606. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  607. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  608. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
  609. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  610. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  611. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  612. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  613. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  614. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
  615. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  616. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  617. package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
  618. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  619. package/lib/esm/appui-react/messages/MessageManager.js +9 -3
  620. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  621. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  622. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  623. package/lib/esm/appui-react/messages/Pointer.js +4 -3
  624. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  625. package/lib/esm/appui-react/messages/ToastMessage.js +2 -1
  626. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  627. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  628. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  629. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  630. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  631. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  632. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  633. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  634. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  635. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  636. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  637. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  638. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  639. package/lib/esm/appui-react/pickers/ListPicker.js +23 -9
  640. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  641. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  642. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  643. package/lib/esm/appui-react/pickers/ViewSelector.js +7 -7
  644. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  645. package/lib/esm/appui-react/popup/CardPopup.d.ts +7 -4
  646. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  647. package/lib/esm/appui-react/popup/CardPopup.js +3 -2
  648. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  649. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +3 -2
  650. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  651. package/lib/esm/appui-react/popup/InputEditorPopup.js +1 -1
  652. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  653. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -7
  654. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  655. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  656. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  657. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  658. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  659. package/lib/esm/appui-react/popup/PopupManager.d.ts +10 -10
  660. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  661. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  662. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  663. package/lib/esm/appui-react/popup/PositionPopup.d.ts +5 -3
  664. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  665. package/lib/esm/appui-react/popup/PositionPopup.js +3 -2
  666. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  667. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  668. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  669. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  670. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  671. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +4 -3
  672. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  673. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  674. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  675. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  676. package/lib/esm/appui-react/redux/SessionState.d.ts +0 -6
  677. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  678. package/lib/esm/appui-react/redux/SessionState.js +0 -8
  679. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  680. package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
  681. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  682. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  683. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  684. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  685. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  686. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  687. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  688. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +28 -19
  689. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  690. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  691. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  692. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  693. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  694. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  695. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
  696. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  697. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  698. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  699. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  700. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  701. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  702. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  703. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  704. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  705. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  706. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +2 -2
  707. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  708. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
  709. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  710. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +26 -3
  711. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  712. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +25 -5
  713. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  714. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  715. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  716. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +2 -1
  717. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  718. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  719. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  720. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  721. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -5
  722. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  723. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  724. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  725. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  726. package/lib/esm/appui-react/statusfields/Indicator.d.ts +15 -14
  727. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  728. package/lib/esm/appui-react/statusfields/Indicator.js +23 -21
  729. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  730. package/lib/esm/appui-react/statusfields/Indicator.scss +29 -18
  731. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  732. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -1
  733. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  734. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +1 -0
  735. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  736. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -4
  737. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  738. package/lib/esm/appui-react/statusfields/SelectionScope.scss +13 -3
  739. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -10
  740. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  741. package/lib/esm/appui-react/statusfields/SnapMode.js +5 -35
  742. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  743. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  744. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  745. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -26
  746. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  747. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  748. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  749. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -13
  750. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  751. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  752. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  753. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  754. package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
  755. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  756. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  757. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  758. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +29 -101
  759. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  760. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +2 -1
  761. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  762. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  763. package/lib/esm/appui-react/toolbar/ActionItemButton.js +2 -1
  764. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  765. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +24 -20
  766. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  767. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  768. package/lib/esm/appui-react/toolbar/GroupItem.js +33 -29
  769. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  770. package/lib/esm/appui-react/toolbar/ToolButton.js +3 -2
  771. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  772. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  773. package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
  774. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  775. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  776. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +22 -20
  777. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  778. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  779. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +4 -4
  780. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  781. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  782. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +2 -2
  783. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  784. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  785. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  786. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +18 -37
  787. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  788. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  789. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  790. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +13 -21
  791. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  792. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  793. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  794. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +40 -51
  795. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  796. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +7 -4
  797. package/lib/{cjs/appui-react/uisettings → esm/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  798. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  799. package/lib/esm/appui-react/{uisettings → uistate}/AppUiSettings.js +13 -9
  800. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -0
  801. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  802. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  803. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +58 -0
  804. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  805. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  806. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  807. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -0
  808. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -0
  809. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +5 -5
  810. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  811. package/lib/esm/appui-react/utils/UiShowHideManager.js +9 -9
  812. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  813. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  814. package/lib/esm/appui-react/widget-panels/Content.js +1 -4
  815. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  816. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +98 -8
  817. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  818. package/lib/esm/appui-react/widget-panels/Frontstage.js +103 -102
  819. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  820. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  821. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  822. package/lib/esm/appui-react/widgets/BackstageAppButton.js +52 -0
  823. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -0
  824. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  825. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +2 -1
  826. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  827. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +0 -2
  828. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  829. package/lib/esm/appui-react/widgets/BasicToolWidget.js +4 -15
  830. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  831. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  832. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  833. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +11 -1
  834. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  835. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  836. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -1
  837. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  838. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  839. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  840. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  841. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  842. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  843. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +2 -1
  844. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  845. package/lib/esm/appui-react/widgets/ToolWidget.js +3 -2
  846. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  847. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  848. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  849. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +2 -36
  850. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  851. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  852. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  853. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  854. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  855. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  856. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  857. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +2 -2
  858. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  859. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -3
  860. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  861. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -7
  862. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  863. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  864. package/lib/esm/appui-react/widgets/WidgetHost.js +1 -0
  865. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  866. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  867. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -0
  868. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  869. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  870. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  871. package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
  872. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  873. package/lib/esm/appui-react/zones/Zone.js +2 -1
  874. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  875. package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
  876. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  877. package/lib/esm/appui-react/zones/ZoneDef.js +5 -4
  878. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  879. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  880. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  881. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
  882. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  883. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  884. package/lib/esm/appui-react.d.ts +16 -18
  885. package/lib/esm/appui-react.d.ts.map +1 -1
  886. package/lib/esm/appui-react.js +16 -18
  887. package/lib/esm/appui-react.js.map +1 -1
  888. package/lib/public/locales/en/UiFramework.json +9 -2
  889. package/package.json +43 -51
  890. package/lib/cjs/appui-react/UserInfo.d.ts +0 -58
  891. package/lib/cjs/appui-react/UserInfo.d.ts.map +0 -1
  892. package/lib/cjs/appui-react/UserInfo.js +0 -34
  893. package/lib/cjs/appui-react/UserInfo.js.map +0 -1
  894. package/lib/cjs/appui-react/content/SavedView.d.ts.map +0 -1
  895. package/lib/cjs/appui-react/content/SavedView.js.map +0 -1
  896. package/lib/cjs/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  897. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +0 -1
  898. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  899. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  900. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js +0 -34
  901. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  902. package/lib/cjs/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  903. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +0 -1
  904. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  905. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  906. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js +0 -74
  907. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  908. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts +0 -21
  909. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  910. package/lib/cjs/appui-react/uisettings/useUiSettings.js +0 -28
  911. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +0 -1
  912. package/lib/esm/appui-react/UserInfo.d.ts +0 -58
  913. package/lib/esm/appui-react/UserInfo.d.ts.map +0 -1
  914. package/lib/esm/appui-react/UserInfo.js +0 -30
  915. package/lib/esm/appui-react/UserInfo.js.map +0 -1
  916. package/lib/esm/appui-react/content/SavedView.d.ts.map +0 -1
  917. package/lib/esm/appui-react/content/SavedView.js.map +0 -1
  918. package/lib/esm/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  919. package/lib/esm/appui-react/content/SavedViewLayout.js.map +0 -1
  920. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  921. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  922. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js +0 -31
  923. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  924. package/lib/esm/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  925. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +0 -1
  926. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  927. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  928. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js +0 -68
  929. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  930. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts +0 -21
  931. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  932. package/lib/esm/appui-react/uisettings/useUiSettings.js +0 -23
  933. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +0 -1
@@ -15,7 +15,7 @@ import { FrontstageManager } from "../frontstage/FrontstageManager";
15
15
  import { FrameworkVersionSwitch } from "../hooks/useFrameworkVersion";
16
16
  import { ToolbarDragInteractionContext } from "../toolbar/DragInteraction";
17
17
  import { UiFramework } from "../UiFramework";
18
- // eslint-disable-next-line @typescript-eslint/naming-convention
18
+ // eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation
19
19
  const ContainedGroup = withOnOutsideClick(withContainIn(Group), undefined, false);
20
20
  /** Enum for the list picker item type
21
21
  * @beta
@@ -59,15 +59,19 @@ export class ExpandableSection extends React.PureComponent {
59
59
  const className = classnames("nz-toolbar-item-expandable-group-group", this.props.className);
60
60
  const icon = this.state.expanded ? React.createElement("i", { className: "icon icon-chevron-down" }) : React.createElement("i", { className: "icon icon-chevron-right" });
61
61
  return (React.createElement(Panel, { className: className, style: this.props.style, key: this.props.title },
62
+ " ",
62
63
  React.createElement("div", { onClick: this._onClick, className: this.state.expanded ? "ListPickerInnerContainer-header-expanded" : "ListPickerInnerContainer-header", role: "button", tabIndex: -1, "aria-expanded": this.state.expanded },
63
64
  React.createElement("div", { className: "ListPickerInnerContainer-header-content" },
64
65
  React.createElement("div", { className: "ListPickerInnerContainer-expander" }, icon),
65
66
  React.createElement("div", { className: "ListPickerInnerContainer-title" }, this.props.title))),
66
67
  this.state.expanded ?
67
- React.createElement(GroupColumn, null, this.props.children) : React.createElement("div", null)));
68
+ React.createElement(GroupColumn, null,
69
+ " ",
70
+ this.props.children) : React.createElement("div", null)));
68
71
  }
69
72
  }
70
- function getListPanel(props) {
73
+ /** @beta */
74
+ export function getListPanel(props) {
71
75
  const expandSingleSection = () => {
72
76
  const populatedContainers = props.items.filter((item) => {
73
77
  return (item.type === ListItemType.Container && item.children.length !== 0);
@@ -85,7 +89,9 @@ function getListPanel(props) {
85
89
  case ListItemType.Container:
86
90
  if (item.children.length !== 0) {
87
91
  return (React.createElement(ExpandableSection, { key: itemIndex.toString(), title: item.name, className: "ListPickerInnerContainer", expanded: expandSingleSection() },
88
- React.createElement(GroupColumn, null, item.children.map(listItemToElement))));
92
+ React.createElement(GroupColumn, null,
93
+ " ",
94
+ item.children.map(listItemToElement))));
89
95
  }
90
96
  else {
91
97
  return (React.createElement("div", { key: itemIndex.toString() }));
@@ -95,7 +101,9 @@ function getListPanel(props) {
95
101
  return (React.createElement("div", { key: itemIndex.toString() }));
96
102
  }
97
103
  };
98
- return (React.createElement(ContainedGroup, { className: "ListPickerContainer", columns: React.createElement(GroupColumn, { className: "ListPicker-column" }, props.items.map(listItemToElement)), containFn: containHorizontally, title: props.title }));
104
+ return (React.createElement(ContainedGroup, { className: "ListPickerContainer", columns: React.createElement(GroupColumn, { className: "ListPicker-column" },
105
+ " ",
106
+ props.items.map(listItemToElement)), containFn: containHorizontally, title: props.title }));
99
107
  }
100
108
  /**
101
109
  * List picker base class.
@@ -176,9 +184,11 @@ export class ListPickerBase extends React.PureComponent {
176
184
  /* istanbul ignore next */ React.createElement(Icon, { iconSpec: this.props.iconSpec }) : React.createElement("i", { className: "icon uifw-item-svg-icon" }, this.props.iconSpec)) :
177
185
  React.createElement("i", { className: "icon icon-list" });
178
186
  return (React.createElement(ToolbarDragInteractionContext.Consumer, null, (isEnabled) => {
179
- return (React.createElement(ExpandableItem, { ...this.props, hideIndicator: isEnabled, panel: this.getExpandedContent() },
187
+ return (React.createElement(ExpandableItem // eslint-disable-line deprecation/deprecation
188
+ , { ...this.props, hideIndicator: isEnabled, panel: this.getExpandedContent() },
180
189
  React.createElement("div", { ref: this._ref },
181
- React.createElement(Item, { icon: icon, onClick: this._handleClick, onSizeKnown: this.props.onSizeKnown, title: this.props.title }))));
190
+ React.createElement(Item // eslint-disable-line deprecation/deprecation
191
+ , { icon: icon, onClick: this._handleClick, onSizeKnown: this.props.onSizeKnown, title: this.props.title }))));
182
192
  }));
183
193
  }
184
194
  /** Returns the list with the items */
@@ -200,7 +210,9 @@ export class ListPickerBase extends React.PureComponent {
200
210
  case ListItemType.Container:
201
211
  if (item.children.length !== 0) {
202
212
  return (React.createElement(ExpandableSection, { key: itemIndex.toString(), title: item.name, className: "ListPickerInnerContainer", expanded: expandSingleSection() },
203
- React.createElement(GroupColumn, null, item.children.map(listItemToElement))));
213
+ React.createElement(GroupColumn, null,
214
+ " ",
215
+ item.children.map(listItemToElement))));
204
216
  }
205
217
  else {
206
218
  return (React.createElement("div", { key: itemIndex.toString() }));
@@ -209,7 +221,9 @@ export class ListPickerBase extends React.PureComponent {
209
221
  return (React.createElement("div", { key: itemIndex.toString() }));
210
222
  }
211
223
  };
212
- return (React.createElement(ContainedGroup, { className: "ListPickerContainer", columns: React.createElement(GroupColumn, { className: "ListPicker-column" }, this.props.items.map(listItemToElement)), containFn: containHorizontally, onOutsideClick: this._handleOnOutsideClick, title: this.props.title }));
224
+ return (React.createElement(ContainedGroup, { className: "ListPickerContainer", columns: React.createElement(GroupColumn, { className: "ListPicker-column" },
225
+ " ",
226
+ this.props.items.map(listItemToElement)), containFn: containHorizontally, onOutsideClick: this._handleOnOutsideClick, title: this.props.title }));
213
227
  }
214
228
  }
215
229
  /**
@@ -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 { PopupItem } from \"@itwin/components-react\";\r\nimport { CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { containHorizontally, ExpandableItem, Group, GroupColumn, Item, Panel, withContainIn } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrameworkVersionSwitch } from \"../hooks/useFrameworkVersion\";\r\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst ContainedGroup = withOnOutsideClick(withContainIn(Group), undefined, false);\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 name?: string;\r\n enabled: boolean;\r\n type?: ListItemType;\r\n children?: ListItem[];\r\n}\r\n\r\n/** Properties for the [[ListPickerBase]] 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/** State for the [[ListPickerBase]] component\r\n * @internal\r\n */\r\ninterface ListPickerState {\r\n expanded: boolean;\r\n}\r\n\r\nlet lastOpenedPicker: ListPickerBase | undefined;\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}\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\nfunction 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 <ContainedGroup\r\n className=\"ListPickerContainer\"\r\n columns={\r\n <GroupColumn className=\"ListPicker-column\">\r\n {props.items.map(listItemToElement)}\r\n </GroupColumn>}\r\n containFn={containHorizontally}\r\n title={props.title}\r\n />\r\n );\r\n}\r\n\r\n/**\r\n * List picker base class.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nexport class ListPickerBase extends React.PureComponent<ListPickerProps, ListPickerState> {\r\n private _isMounted = false;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n\r\n /** Creates a ListPickerBase */\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n expanded: false,\r\n };\r\n }\r\n\r\n /** Minimizes the expandable component. */\r\n public minimize = () => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n expanded: false,\r\n });\r\n };\r\n\r\n /** Checks if ExpandableItem is expanded. */\r\n public isExpanded = () => {\r\n return this.state.expanded;\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n /** Renders ListPickerBase */\r\n public override render() {\r\n const icon = this.props.iconSpec ? /* istanbul ignore next */ (typeof this.props.iconSpec === \"string\" ?\r\n /* istanbul ignore next */ <Icon iconSpec={this.props.iconSpec} /> : <i className=\"icon uifw-item-svg-icon\">{this.props.iconSpec}</i>) :\r\n <i className=\"icon icon-list\" />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return (\r\n <ExpandableItem\r\n {...this.props}\r\n hideIndicator={isEnabled}\r\n panel={this.getExpandedContent()}\r\n >\r\n <div ref={this._ref}>\r\n <Item\r\n icon={icon}\r\n onClick={this._handleClick}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.props.title}\r\n />\r\n </div>\r\n </ExpandableItem>\r\n );\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n }\r\n\r\n /** Returns the list with the items */\r\n public getExpandedContent(): React.ReactNode {\r\n if (!this.state.expanded)\r\n return undefined;\r\n\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = this.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 {...this.props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={() => { this.props.setEnabled(item, !item.enabled); }}\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 default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <ContainedGroup\r\n className=\"ListPickerContainer\"\r\n columns={\r\n <GroupColumn className=\"ListPicker-column\">\r\n {this.props.items.map(listItemToElement)}\r\n </GroupColumn>}\r\n containFn={containHorizontally}\r\n onOutsideClick={this._handleOnOutsideClick}\r\n title={this.props.title}\r\n />\r\n );\r\n }\r\n\r\n private _handleOnOutsideClick = (e: MouseEvent) => {\r\n if (!this._ref.current || !(e.target instanceof Node) || this._ref.current.contains(e.target))\r\n return;\r\n this.minimize();\r\n this.props.onExpanded && this.props.onExpanded(false);\r\n };\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n this.minimize();\r\n };\r\n\r\n private _handleClick = () => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const expanded = !prevState.expanded;\r\n return {\r\n expanded,\r\n };\r\n }, () => {\r\n const expanded = this.state.expanded;\r\n if (expanded) {\r\n // Minimize any other list picker that has been opened\r\n // This is to mimic Bimium's behavior where pickers only close when other pickers are opened\r\n if (lastOpenedPicker && lastOpenedPicker !== this && lastOpenedPicker.isExpanded())\r\n lastOpenedPicker.minimize();\r\n\r\n lastOpenedPicker = this;\r\n\r\n this._closeOnPanelOpened = false;\r\n expanded && FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n }\r\n\r\n this.props.onExpanded && this.props.onExpanded(expanded);\r\n });\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 <FrameworkVersionSwitch\r\n v1={\r\n <ListPickerBase\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 v2={\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 }\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 { PopupItem } from \"@itwin/components-react\";\r\nimport { CommonProps, Icon, SizeProps, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { containHorizontally, ExpandableItem, Group, GroupColumn, Item, Panel, withContainIn } from \"@itwin/appui-layout-react\";\r\nimport { FrontstageManager } from \"../frontstage/FrontstageManager\";\r\nimport { FrameworkVersionSwitch } from \"../hooks/useFrameworkVersion\";\r\nimport { ToolbarDragInteractionContext } from \"../toolbar/DragInteraction\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention, deprecation/deprecation\r\nconst ContainedGroup = withOnOutsideClick(withContainIn(Group), undefined, false);\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 [[ListPickerBase]] 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/** State for the [[ListPickerBase]] component\r\n * @internal\r\n */\r\ninterface ListPickerState {\r\n expanded: boolean;\r\n}\r\n\r\nlet lastOpenedPicker: ListPickerBase | undefined;\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}\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}> {/* eslint-disable-line deprecation/deprecation */}\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> {/* eslint-disable-line deprecation/deprecation */}\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> {/* eslint-disable-line deprecation/deprecation */}\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 <ContainedGroup\r\n className=\"ListPickerContainer\"\r\n columns={\r\n <GroupColumn className=\"ListPicker-column\"> {/* eslint-disable-line deprecation/deprecation */}\r\n {props.items.map(listItemToElement)}\r\n </GroupColumn>}\r\n containFn={containHorizontally} // eslint-disable-line deprecation/deprecation\r\n title={props.title}\r\n />\r\n );\r\n}\r\n\r\n/**\r\n * List picker base class.\r\n * Used to provide an expandable list of items to enable/disable items.\r\n * @beta\r\n */\r\nexport class ListPickerBase extends React.PureComponent<ListPickerProps, ListPickerState> {\r\n private _isMounted = false;\r\n private _closeOnPanelOpened = true;\r\n private _ref = React.createRef<HTMLDivElement>();\r\n\r\n /** Creates a ListPickerBase */\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n expanded: false,\r\n };\r\n }\r\n\r\n /** Minimizes the expandable component. */\r\n public minimize = () => {\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n expanded: false,\r\n });\r\n };\r\n\r\n /** Checks if ExpandableItem is expanded. */\r\n public isExpanded = () => {\r\n return this.state.expanded;\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n FrontstageManager.onToolPanelOpenedEvent.addListener(this._handleToolPanelOpenedEvent);\r\n }\r\n\r\n /** Renders ListPickerBase */\r\n public override render() {\r\n const icon = this.props.iconSpec ? /* istanbul ignore next */ (typeof this.props.iconSpec === \"string\" ?\r\n /* istanbul ignore next */ <Icon iconSpec={this.props.iconSpec} /> : <i className=\"icon uifw-item-svg-icon\">{this.props.iconSpec}</i>) :\r\n <i className=\"icon icon-list\" />;\r\n\r\n return (\r\n <ToolbarDragInteractionContext.Consumer>\r\n {(isEnabled) => {\r\n return (\r\n <ExpandableItem // eslint-disable-line deprecation/deprecation\r\n {...this.props}\r\n hideIndicator={isEnabled}\r\n panel={this.getExpandedContent()}\r\n >\r\n <div ref={this._ref}>\r\n <Item // eslint-disable-line deprecation/deprecation\r\n icon={icon}\r\n onClick={this._handleClick}\r\n onSizeKnown={this.props.onSizeKnown}\r\n title={this.props.title}\r\n />\r\n </div>\r\n </ExpandableItem>\r\n );\r\n }}\r\n </ToolbarDragInteractionContext.Consumer>\r\n );\r\n }\r\n\r\n /** Returns the list with the items */\r\n public getExpandedContent(): React.ReactNode {\r\n if (!this.state.expanded)\r\n return undefined;\r\n\r\n const expandSingleSection = (): boolean => {\r\n const populatedContainers = this.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 {...this.props}\r\n key={itemIndex.toString()}\r\n label={item.name}\r\n isActive={item.enabled}\r\n onClick={() => { this.props.setEnabled(item, !item.enabled); }}\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> {/* eslint-disable-line deprecation/deprecation */}\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 default:\r\n return (<div key={itemIndex.toString()} />);\r\n }\r\n };\r\n\r\n return (\r\n <ContainedGroup\r\n className=\"ListPickerContainer\"\r\n columns={\r\n <GroupColumn className=\"ListPicker-column\"> {/* eslint-disable-line deprecation/deprecation */}\r\n {this.props.items.map(listItemToElement)}\r\n </GroupColumn>}\r\n containFn={containHorizontally} // eslint-disable-line deprecation/deprecation\r\n onOutsideClick={this._handleOnOutsideClick}\r\n title={this.props.title}\r\n />\r\n );\r\n }\r\n\r\n private _handleOnOutsideClick = (e: MouseEvent) => {\r\n if (!this._ref.current || !(e.target instanceof Node) || this._ref.current.contains(e.target))\r\n return;\r\n this.minimize();\r\n this.props.onExpanded && this.props.onExpanded(false);\r\n };\r\n\r\n private _handleToolPanelOpenedEvent = () => {\r\n if (!this._closeOnPanelOpened)\r\n return;\r\n this.minimize();\r\n };\r\n\r\n private _handleClick = () => {\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.setState((prevState) => {\r\n const expanded = !prevState.expanded;\r\n return {\r\n expanded,\r\n };\r\n }, () => {\r\n const expanded = this.state.expanded;\r\n if (expanded) {\r\n // Minimize any other list picker that has been opened\r\n // This is to mimic Bimium's behavior where pickers only close when other pickers are opened\r\n if (lastOpenedPicker && lastOpenedPicker !== this && lastOpenedPicker.isExpanded())\r\n lastOpenedPicker.minimize();\r\n\r\n lastOpenedPicker = this;\r\n\r\n this._closeOnPanelOpened = false;\r\n expanded && FrontstageManager.onToolPanelOpenedEvent.emit();\r\n this._closeOnPanelOpened = true;\r\n }\r\n\r\n this.props.onExpanded && this.props.onExpanded(expanded);\r\n });\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 <FrameworkVersionSwitch\r\n v1={\r\n <ListPickerBase\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 v2={\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 }\r\n}\r\n"]}
@@ -4,7 +4,7 @@
4
4
  import * as React from "react";
5
5
  import { Id64String } from "@itwin/core-bentley";
6
6
  import { IModelConnection, ViewState } from "@itwin/core-frontend";
7
- import { UiEvent } from "@itwin/core-react";
7
+ import { UiEvent } from "@itwin/appui-abstract";
8
8
  import { ListItem } from "./ListPicker";
9
9
  /** [[ViewSelectorChangedEvent]] Args interface.
10
10
  * @beta
@@ -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,mBAAmB,CAAC;AAM5C,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;IAoCvC;;;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,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAMhD,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;IAoCvC;;;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"}
@@ -8,7 +8,7 @@
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/core-react";
11
+ import { UiEvent } from "@itwin/appui-abstract";
12
12
  import { ContentViewManager } from "../content/ContentViewManager";
13
13
  import { connectIModelConnection } from "../redux/connectIModel";
14
14
  import { UiFramework } from "../UiFramework";
@@ -92,7 +92,7 @@ export class ViewSelector extends React.Component {
92
92
  };
93
93
  this.state = {
94
94
  items: new Array(),
95
- title: UiFramework.translate("savedViews.views"),
95
+ title: UiFramework.translate("viewTypes.views"),
96
96
  initialized: false,
97
97
  showSpatials: props.showSpatials,
98
98
  showDrawings: props.showDrawings,
@@ -125,21 +125,21 @@ export class ViewSelector extends React.Component {
125
125
  setStateContainers(views3d, views2d, sheets, unknown) {
126
126
  const views3dContainer = {
127
127
  key: "views3dContainer",
128
- name: UiFramework.translate("savedViews.spatialViews"),
128
+ name: UiFramework.translate("viewTypes.spatialViews"),
129
129
  enabled: false,
130
130
  type: ListItemType.Container,
131
131
  children: views3d,
132
132
  };
133
133
  const views2dContainer = {
134
134
  key: "views2dContainer",
135
- name: UiFramework.translate("savedViews.drawings"),
135
+ name: UiFramework.translate("viewTypes.drawings"),
136
136
  enabled: false,
137
137
  type: ListItemType.Container,
138
138
  children: views2d,
139
139
  };
140
140
  const sheetContainer = {
141
141
  key: "sheetContainer",
142
- name: UiFramework.translate("savedViews.sheets"),
142
+ name: UiFramework.translate("viewTypes.sheets"),
143
143
  enabled: false,
144
144
  type: ListItemType.Container,
145
145
  children: sheets,
@@ -150,7 +150,7 @@ export class ViewSelector extends React.Component {
150
150
  // This should never show, but just in case we missed a type of view state
151
151
  const unknownContainer = {
152
152
  key: "unknownContainer",
153
- name: UiFramework.translate("savedViews.others"),
153
+ name: UiFramework.translate("viewTypes.others"),
154
154
  enabled: false,
155
155
  type: ListItemType.Container,
156
156
  children: unknown,
@@ -163,7 +163,7 @@ export class ViewSelector extends React.Component {
163
163
  return;
164
164
  this.setState({
165
165
  items: containers,
166
- title: UiFramework.translate("savedViews.views"),
166
+ title: UiFramework.translate("viewTypes.views"),
167
167
  initialized: true,
168
168
  });
169
169
  }
@@ -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/core-react\";\r\nimport { SupportsViewSelectorChange } from \"../content/ContentControl\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\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(\"savedViews.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(\"savedViews.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(\"savedViews.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(\"savedViews.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(\"savedViews.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(\"savedViews.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 // istanbul ignore if\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 = ContentViewManager.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 { UiEvent } from \"@itwin/appui-abstract\";\r\nimport { SupportsViewSelectorChange } from \"../content/ContentControl\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\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 // istanbul ignore if\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 = ContentViewManager.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"]}
@@ -6,7 +6,8 @@ import * as React from "react";
6
6
  import { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, PropertyRecord, RelativePosition } from "@itwin/appui-abstract";
7
7
  import { Orientation, Size } from "@itwin/core-react";
8
8
  import { PopupContentType, PopupPropsBase } from "./PopupManager";
9
- /** @alpha */
9
+ /** Props for defining a CardPopup editor
10
+ * @beta */
10
11
  export interface CardPopupProps extends PopupPropsBase {
11
12
  content: PopupContentType;
12
13
  title: string | PropertyRecord | undefined;
@@ -21,7 +22,7 @@ interface CardPopupState {
21
22
  size: Size;
22
23
  }
23
24
  /** Popup component for Input Editor
24
- * @alpha
25
+ * @beta
25
26
  */
26
27
  export declare class CardPopup extends React.PureComponent<CardPopupProps, CardPopupState> {
27
28
  /** @internal */
@@ -33,14 +34,16 @@ export declare class CardPopup extends React.PureComponent<CardPopupProps, CardP
33
34
  private _cancel;
34
35
  render(): JSX.Element;
35
36
  }
36
- /** @alpha */
37
+ /** Props defining a Card component
38
+ * @beta */
37
39
  export interface CardProps {
38
40
  content: PopupContentType;
39
41
  title: string | PropertyRecord | undefined;
40
42
  items: CommonToolbarItem[] | undefined;
41
43
  onItemExecuted: OnItemExecutedFunc;
42
44
  }
43
- /** @alpha */
45
+ /** Card component
46
+ * @beta */
44
47
  export declare function Card(props: CardProps): JSX.Element;
45
48
  export {};
46
49
  //# sourceMappingURL=CardPopup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC1I,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAGxG,OAAO,EAAkB,gBAAgB,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhG,aAAa;AACb,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,cAAc;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAChF,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CAoBvB;AAED,aAAa;AACb,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,aAAa;AACb,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eAyCpC"}
1
+ {"version":3,"file":"CardPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/CardPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC1I,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAGxG,OAAO,EAAkB,gBAAgB,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhG;WACW;AACX,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,gBAAgB;AAChB,UAAU,cAAc;IACtB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC;IAChF,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,OAAO;IAOC,MAAM;CAoBvB;AAED;WACW;AACX,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED;WACW;AACX,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,eAyCpC"}
@@ -17,7 +17,7 @@ import { PositionPopup } from "./PositionPopup";
17
17
  import { MessageDiv } from "../messages/MessageSpan";
18
18
  import { Direction, PropertyValueRendererManager, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from "@itwin/components-react";
19
19
  /** Popup component for Input Editor
20
- * @alpha
20
+ * @beta
21
21
  */
22
22
  export class CardPopup extends React.PureComponent {
23
23
  constructor() {
@@ -55,7 +55,8 @@ export class CardPopup extends React.PureComponent {
55
55
  React.createElement(Card, { content: this.props.content, title: this.props.title, items: this.props.items, onItemExecuted: this.props.onItemExecuted })))));
56
56
  }
57
57
  }
58
- /** @alpha */
58
+ /** Card component
59
+ * @beta */
59
60
  export function Card(props) {
60
61
  let titleNode;
61
62
  // istanbul ignore else
@@ -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/** @alpha */\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 * @alpha\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/** @alpha */\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/** @alpha */\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":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAyF,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC1I,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAe,KAAK,EAAE,IAAI,EAAa,MAAM,mBAAmB,CAAC;AACxG,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAoB,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAmBrJ;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK,CAAC,aAA6C;IAAlF;;QACE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAEM,iBAAY,GAAG,CAAC,OAAkB,EAAE,EAAE;YAC5C,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,KAA0B,EAAQ,EAAE;YAC5D,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,UAAU,CAAC,MAAM;oBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM;aACT;QACH,CAAC,CAAC;IA6BJ,CAAC;IA3BS,OAAO;QACb,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SACvB;IACH,CAAC;IAEe,MAAM;QACpB,IAAI,KAAK,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnH,KAAK,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,OAAO,CACL,oBAAC,aAAa,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC/B,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,WAAW,CAAC,EACpD,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,mBAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc;gBACtF,oBAAC,SAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;oBACpD,oBAAC,IAAI,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACjF,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAI,CACrC,CACQ,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAWD;WACW;AACX,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,IAAI,SAA0B,CAAC;IAC/B,uBAAuB;IACvB,IAAI,KAAK,CAAC,KAAK,EAAE;QACf,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YACjC,SAAS,GAAG,oBAAC,OAAO,QAAE,KAAK,CAAC,KAAK,CAAW,CAAC;aAC1C;YACH,MAAM,4BAA4B,GAAG,4BAA4B,CAAC,cAAc,CAAC;YACjF,MAAM,UAAU,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpE,SAAS,GAAG,oBAAC,OAAO,QAAE,UAAU,CAAW,CAAC;SAC7C;KACF;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAC,UAAU,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAEjH,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,mBAAmB;YAC/B,KAAK,CAAC,KAAK;gBACV;oBACG,SAAS;oBACV,6BAAK,SAAS,EAAC,eAAe,GAAG,CAChC;YAEJ,OAAO,CACJ;QACL,KAAK,CAAC,KAAK;YACV;gBACE,6BAAK,SAAS,EAAC,qBAAqB,GAAG;gBACvC,oBAAC,mBAAmB,IAClB,SAAS,EAAE,SAAS,CAAC,MAAM,EAC3B,cAAc,EAAE,qBAAqB,CAAC,KAAK,EAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,kBAAkB,EAAE,IAAI,EACxB,qBAAqB,EAAE,qBAAqB,CAAC,WAAW,EACxD,cAAc,EAAE,KAAK,CAAC,cAAc,GACpC,CACD,CAEJ,CACJ,CAAC;AACJ,CAAC","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"]}
@@ -6,13 +6,14 @@ import { OnCancelFunc, OnValueCommitFunc, PropertyRecord } from "@itwin/appui-ab
6
6
  import { PropertyUpdatedArgs } from "@itwin/components-react";
7
7
  import { Size } from "@itwin/core-react";
8
8
  import { PopupPropsBase } from "./PopupManager";
9
- /** @alpha */
9
+ /** @beta */
10
10
  export declare class InputEditorCommitHandler {
11
11
  readonly onCommit: OnValueCommitFunc;
12
12
  constructor(onCommit: OnValueCommitFunc);
13
13
  handleCommit: (args: PropertyUpdatedArgs) => void;
14
14
  }
15
- /** @alpha */
15
+ /** Props for popup editor
16
+ * @beta */
16
17
  export interface InputEditorPopupProps extends PopupPropsBase {
17
18
  record: PropertyRecord;
18
19
  onCancel: OnCancelFunc;
@@ -1 +1 @@
1
- {"version":3,"file":"InputEditorPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAc,cAAc,EAAuB,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAmB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAuB,IAAI,EAAa,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG9D,aAAa;AACb,qBAAa,wBAAwB;aAEjB,QAAQ,EAAE,iBAAiB;gBAA3B,QAAQ,EAAE,iBAAiB;IAGtC,YAAY,SAAU,mBAAmB,UAO9C;CACH;AAED,aAAa;AACb,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,wBAAwB,CAAC;CACzC;AAED,gBAAgB;AAChB,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACrG,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,gBAAgB;IACA,MAAM;CAoBvB"}
1
+ {"version":3,"file":"InputEditorPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAc,cAAc,EAAuB,MAAM,uBAAuB,CAAC;AACzH,OAAO,EAAmB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAuB,IAAI,EAAa,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG9D,YAAY;AACZ,qBAAa,wBAAwB;aAEjB,QAAQ,EAAE,iBAAiB;gBAA3B,QAAQ,EAAE,iBAAiB;IAGtC,YAAY,SAAU,mBAAmB,UAO9C;CACH;AAED;WACW;AACX,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,wBAAwB,CAAC;CACzC;AAED,gBAAgB;AAChB,UAAU,qBAAqB;IAC7B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,aAAa,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACrG,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;IAEF,OAAO,CAAC,YAAY,CAIlB;IAEF,gBAAgB;IACA,MAAM;CAoBvB"}
@@ -11,7 +11,7 @@ import { EditorContainer } from "@itwin/components-react";
11
11
  import { DivWithOutsideClick, Size } from "@itwin/core-react";
12
12
  import { PopupManager } from "./PopupManager";
13
13
  import { PositionPopup, PositionPopupContent } from "./PositionPopup";
14
- /** @alpha */
14
+ /** @beta */
15
15
  export class InputEditorCommitHandler {
16
16
  constructor(onCommit) {
17
17
  this.onCommit = onCommit;