@itwin/appui-react 3.0.0-extension.1 → 3.1.0-dev.6

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 (919) hide show
  1. package/CHANGELOG.md +80 -1
  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 +15 -1
  125. package/lib/cjs/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  126. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +15 -2
  127. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +138 -3
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  130. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +1 -0
  132. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  134. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  136. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  138. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  139. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  141. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  142. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  143. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  144. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  145. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  146. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  148. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  149. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  150. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  152. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  153. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  154. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +81 -68
  155. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  156. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  157. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  158. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  159. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  162. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  163. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  165. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  166. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
  167. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  168. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  169. package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
  170. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/messages/MessageManager.js +15 -9
  172. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  173. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  174. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  175. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  176. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  177. package/lib/cjs/appui-react/messages/ToastMessage.js +2 -1
  178. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  179. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  180. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  181. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
  182. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  183. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  184. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  185. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  186. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  187. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  188. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  189. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  190. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/pickers/ListPicker.js +24 -9
  192. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  193. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  194. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/pickers/ViewSelector.js +9 -9
  196. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  197. package/lib/cjs/appui-react/popup/CardPopup.d.ts +7 -4
  198. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  199. package/lib/cjs/appui-react/popup/CardPopup.js +3 -2
  200. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  201. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +3 -2
  202. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  203. package/lib/cjs/appui-react/popup/InputEditorPopup.js +1 -1
  204. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  205. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -6
  206. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  207. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  208. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  210. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  211. package/lib/cjs/appui-react/popup/PopupManager.d.ts +10 -10
  212. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  213. package/lib/cjs/appui-react/popup/PopupManager.js +4 -4
  214. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  215. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +5 -3
  216. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  217. package/lib/cjs/appui-react/popup/PositionPopup.js +3 -2
  218. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  219. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  220. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  221. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  222. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  223. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +4 -3
  224. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  225. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  226. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  227. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  228. package/lib/cjs/appui-react/redux/SessionState.d.ts +0 -6
  229. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  230. package/lib/cjs/appui-react/redux/SessionState.js +0 -8
  231. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  232. package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
  233. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  234. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  235. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  236. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  237. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  238. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  239. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +28 -19
  241. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  242. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  243. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  244. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  245. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  246. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
  248. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  249. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  250. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  251. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  252. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  253. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  254. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  255. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  257. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  258. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +2 -2
  259. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
  261. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  262. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  263. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +24 -3
  265. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  266. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  267. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +2 -1
  269. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  270. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  271. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  272. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  273. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +17 -5
  274. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  275. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  276. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  277. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  278. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +15 -14
  279. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  280. package/lib/cjs/appui-react/statusfields/Indicator.js +23 -21
  281. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  282. package/lib/cjs/appui-react/statusfields/Indicator.scss +29 -18
  283. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  284. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -1
  285. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  286. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +1 -0
  287. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -4
  289. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  290. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +13 -3
  291. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -10
  292. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/statusfields/SnapMode.js +4 -34
  294. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  295. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  296. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -25
  298. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  299. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  300. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  301. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -12
  302. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  303. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  304. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  305. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  306. package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
  307. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  308. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  309. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  310. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +30 -103
  311. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  312. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +2 -1
  313. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  314. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  315. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +2 -1
  316. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  317. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +24 -20
  318. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  319. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  320. package/lib/cjs/appui-react/toolbar/GroupItem.js +33 -29
  321. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  322. package/lib/cjs/appui-react/toolbar/ToolButton.js +3 -2
  323. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  324. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
  326. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  327. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +22 -20
  329. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  330. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  331. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +4 -4
  332. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  333. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  334. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +2 -2
  335. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  336. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  337. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -36
  339. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  340. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  341. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +12 -20
  343. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  344. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  345. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  346. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +39 -50
  347. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  348. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  349. package/lib/{esm/appui-react/uisettings → cjs/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  350. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  351. package/lib/cjs/appui-react/{uisettings → uistate}/AppUiSettings.js +12 -8
  352. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -0
  353. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  354. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  355. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +59 -0
  356. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  357. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  358. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  359. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -0
  360. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -0
  361. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +5 -5
  362. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  363. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -8
  364. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  365. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  366. package/lib/cjs/appui-react/widget-panels/Content.js +1 -4
  367. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  368. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +98 -8
  369. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  370. package/lib/cjs/appui-react/widget-panels/Frontstage.js +91 -96
  371. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  372. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  373. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  374. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +56 -0
  375. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -0
  376. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  377. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +1 -0
  378. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  379. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  380. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +3 -1
  381. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  382. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  383. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  385. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  386. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  387. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -1
  388. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  389. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  390. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  391. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  392. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  393. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  394. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +2 -1
  395. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  396. package/lib/cjs/appui-react/widgets/ToolWidget.js +3 -2
  397. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  398. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  399. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -36
  401. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  402. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  403. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  404. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  405. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  406. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  407. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  408. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  409. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  410. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -3
  411. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  412. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -7
  413. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  414. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  415. package/lib/cjs/appui-react/widgets/WidgetHost.js +1 -0
  416. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  417. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  418. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -0
  419. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  420. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  421. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  422. package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
  423. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/zones/Zone.js +2 -1
  425. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  426. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
  427. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  428. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -4
  429. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  430. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  431. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  432. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
  433. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  434. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  435. package/lib/cjs/appui-react.d.ts +15 -18
  436. package/lib/cjs/appui-react.d.ts.map +1 -1
  437. package/lib/cjs/appui-react.js +15 -18
  438. package/lib/cjs/appui-react.js.map +1 -1
  439. package/lib/esm/appui-react/UiFramework.d.ts +30 -15
  440. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  441. package/lib/esm/appui-react/UiFramework.js +48 -29
  442. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  443. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  444. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  445. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  446. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  447. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  448. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  449. package/lib/esm/appui-react/accudraw/Calculator.js +1 -1
  450. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  451. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  452. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  453. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +6 -5
  454. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  455. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  456. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  457. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  458. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -0
  459. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  460. package/lib/esm/appui-react/backstage/BackstageComposer.js +27 -9
  461. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  462. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  463. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  464. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  465. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  466. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  467. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  468. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  469. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
  470. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  471. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -0
  472. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  473. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -0
  474. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  475. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  476. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  477. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +5 -6
  478. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  479. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -0
  480. package/lib/esm/appui-react/backstage/Separator.d.ts.map +1 -1
  481. package/lib/esm/appui-react/backstage/Separator.js +3 -2
  482. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  483. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  484. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  485. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +3 -4
  486. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  487. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  488. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  489. package/lib/esm/appui-react/configurableui/state.d.ts +7 -1
  490. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  491. package/lib/esm/appui-react/configurableui/state.js +12 -0
  492. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  493. package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
  494. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  495. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  496. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  497. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  498. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  499. package/lib/esm/appui-react/content/ContentLayout.js +3 -2
  500. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  501. package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
  502. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  503. package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
  504. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  505. package/lib/esm/appui-react/content/IModelViewport.d.ts +13 -1
  506. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  507. package/lib/esm/appui-react/content/IModelViewport.js +16 -4
  508. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  509. package/lib/esm/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  510. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -0
  511. package/lib/esm/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +17 -15
  512. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -0
  513. package/lib/esm/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  514. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  515. package/lib/esm/appui-react/content/{SavedView.js → ViewStateHelper.js} +2 -2
  516. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -0
  517. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
  518. package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  519. package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
  520. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
  521. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
  522. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  523. package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
  524. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
  525. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  526. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  527. package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
  528. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
  529. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
  530. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  531. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
  532. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  533. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  534. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  535. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  536. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  537. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
  538. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  539. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  540. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  541. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
  542. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  543. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  544. package/lib/esm/appui-react/dialog/StandardMessageBox.js +3 -0
  545. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  546. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  547. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +8 -4
  548. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  549. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
  550. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  551. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -2
  552. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  553. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -0
  554. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  555. package/lib/esm/appui-react/frontstage/Frontstage.js +32 -13
  556. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  557. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  558. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  559. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +15 -1
  560. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  561. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +15 -2
  562. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  563. package/lib/esm/appui-react/frontstage/FrontstageDef.js +140 -5
  564. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  565. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  566. package/lib/esm/appui-react/frontstage/FrontstageManager.js +1 -0
  567. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  568. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  569. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  570. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  571. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  572. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  573. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  574. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  575. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  576. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  577. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  578. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  579. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  580. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  581. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  582. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  583. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  584. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  585. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  586. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  587. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  588. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  589. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +83 -70
  590. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  591. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  592. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  593. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  594. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  595. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
  596. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  597. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  598. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  599. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  600. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  601. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
  602. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  603. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  604. package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
  605. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/messages/MessageManager.js +9 -3
  607. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  608. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  609. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  610. package/lib/esm/appui-react/messages/Pointer.js +4 -3
  611. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  612. package/lib/esm/appui-react/messages/ToastMessage.js +2 -1
  613. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  614. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  615. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  616. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  617. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  618. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  619. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  620. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  621. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  622. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  623. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  624. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  625. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  626. package/lib/esm/appui-react/pickers/ListPicker.js +23 -9
  627. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  628. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  629. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  630. package/lib/esm/appui-react/pickers/ViewSelector.js +7 -7
  631. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  632. package/lib/esm/appui-react/popup/CardPopup.d.ts +7 -4
  633. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  634. package/lib/esm/appui-react/popup/CardPopup.js +3 -2
  635. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  636. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +3 -2
  637. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  638. package/lib/esm/appui-react/popup/InputEditorPopup.js +1 -1
  639. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  640. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -7
  641. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  642. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  643. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  644. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  645. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  646. package/lib/esm/appui-react/popup/PopupManager.d.ts +10 -10
  647. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  648. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  649. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  650. package/lib/esm/appui-react/popup/PositionPopup.d.ts +5 -3
  651. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  652. package/lib/esm/appui-react/popup/PositionPopup.js +3 -2
  653. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  654. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  655. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  656. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  657. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  658. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +4 -3
  659. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  660. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  661. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  662. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  663. package/lib/esm/appui-react/redux/SessionState.d.ts +0 -6
  664. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  665. package/lib/esm/appui-react/redux/SessionState.js +0 -8
  666. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  667. package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
  668. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  669. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  670. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  671. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  672. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  673. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  674. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  675. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +28 -19
  676. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  677. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  678. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  679. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  680. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  681. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  682. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
  683. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  684. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  685. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  686. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  687. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  688. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  689. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  690. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  691. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  692. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  693. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +2 -2
  694. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  695. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
  696. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  697. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  698. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  699. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +24 -3
  700. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  701. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  702. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  703. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +2 -1
  704. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  705. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  706. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  707. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  708. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -5
  709. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  710. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  711. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  712. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  713. package/lib/esm/appui-react/statusfields/Indicator.d.ts +15 -14
  714. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  715. package/lib/esm/appui-react/statusfields/Indicator.js +23 -21
  716. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  717. package/lib/esm/appui-react/statusfields/Indicator.scss +29 -18
  718. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  719. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -1
  720. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  721. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +1 -0
  722. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  723. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -4
  724. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  725. package/lib/esm/appui-react/statusfields/SelectionScope.scss +13 -3
  726. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -10
  727. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  728. package/lib/esm/appui-react/statusfields/SnapMode.js +5 -35
  729. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  730. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  731. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  732. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -26
  733. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  734. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  735. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  736. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -13
  737. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  738. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  739. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  740. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  741. package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
  742. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  743. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  744. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  745. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +29 -101
  746. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  747. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +2 -1
  748. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  749. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  750. package/lib/esm/appui-react/toolbar/ActionItemButton.js +2 -1
  751. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  752. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +24 -20
  753. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  754. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  755. package/lib/esm/appui-react/toolbar/GroupItem.js +33 -29
  756. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  757. package/lib/esm/appui-react/toolbar/ToolButton.js +3 -2
  758. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  759. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  760. package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
  761. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  762. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  763. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +22 -20
  764. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  765. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  766. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +4 -4
  767. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  768. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  769. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +2 -2
  770. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  771. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  772. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  773. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +18 -37
  774. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  775. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  776. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  777. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +13 -21
  778. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  779. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  780. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  781. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +40 -51
  782. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  783. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  784. package/lib/{cjs/appui-react/uisettings → esm/appui-react/uistate}/AppUiSettings.d.ts +9 -7
  785. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  786. package/lib/esm/appui-react/{uisettings → uistate}/AppUiSettings.js +13 -9
  787. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -0
  788. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  789. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  790. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +55 -0
  791. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  792. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  793. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  794. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -0
  795. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -0
  796. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +5 -5
  797. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  798. package/lib/esm/appui-react/utils/UiShowHideManager.js +9 -9
  799. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  800. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  801. package/lib/esm/appui-react/widget-panels/Content.js +1 -4
  802. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  803. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +98 -8
  804. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  805. package/lib/esm/appui-react/widget-panels/Frontstage.js +91 -95
  806. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  807. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  808. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  809. package/lib/esm/appui-react/widgets/BackstageAppButton.js +52 -0
  810. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -0
  811. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  812. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -0
  813. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  814. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  815. package/lib/esm/appui-react/widgets/BasicToolWidget.js +3 -1
  816. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  817. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  818. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  819. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  820. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  821. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  822. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -1
  823. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  824. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  825. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  826. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  827. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  828. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  829. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +2 -1
  830. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  831. package/lib/esm/appui-react/widgets/ToolWidget.js +3 -2
  832. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  833. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  834. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  835. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +2 -36
  836. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  837. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  838. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  839. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  840. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  841. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  842. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  843. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  844. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  845. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -3
  846. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  847. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -7
  848. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  849. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  850. package/lib/esm/appui-react/widgets/WidgetHost.js +1 -0
  851. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  852. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  853. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -0
  854. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  855. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  856. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  857. package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
  858. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  859. package/lib/esm/appui-react/zones/Zone.js +2 -1
  860. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  861. package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
  862. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  863. package/lib/esm/appui-react/zones/ZoneDef.js +5 -4
  864. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  865. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  866. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  867. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
  868. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  869. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  870. package/lib/esm/appui-react.d.ts +15 -18
  871. package/lib/esm/appui-react.d.ts.map +1 -1
  872. package/lib/esm/appui-react.js +15 -18
  873. package/lib/esm/appui-react.js.map +1 -1
  874. package/lib/public/locales/en/UiFramework.json +9 -2
  875. package/package.json +44 -51
  876. package/lib/cjs/appui-react/UserInfo.d.ts +0 -58
  877. package/lib/cjs/appui-react/UserInfo.d.ts.map +0 -1
  878. package/lib/cjs/appui-react/UserInfo.js +0 -34
  879. package/lib/cjs/appui-react/UserInfo.js.map +0 -1
  880. package/lib/cjs/appui-react/content/SavedView.d.ts.map +0 -1
  881. package/lib/cjs/appui-react/content/SavedView.js.map +0 -1
  882. package/lib/cjs/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  883. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +0 -1
  884. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  885. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  886. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js +0 -34
  887. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  888. package/lib/cjs/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  889. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +0 -1
  890. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  891. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  892. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js +0 -74
  893. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  894. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts +0 -21
  895. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  896. package/lib/cjs/appui-react/uisettings/useUiSettings.js +0 -28
  897. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +0 -1
  898. package/lib/esm/appui-react/UserInfo.d.ts +0 -58
  899. package/lib/esm/appui-react/UserInfo.d.ts.map +0 -1
  900. package/lib/esm/appui-react/UserInfo.js +0 -30
  901. package/lib/esm/appui-react/UserInfo.js.map +0 -1
  902. package/lib/esm/appui-react/content/SavedView.d.ts.map +0 -1
  903. package/lib/esm/appui-react/content/SavedView.js.map +0 -1
  904. package/lib/esm/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  905. package/lib/esm/appui-react/content/SavedViewLayout.js.map +0 -1
  906. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  907. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  908. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js +0 -31
  909. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  910. package/lib/esm/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  911. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +0 -1
  912. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  913. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  914. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js +0 -68
  915. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  916. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts +0 -21
  917. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  918. package/lib/esm/appui-react/uisettings/useUiSettings.js +0 -23
  919. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ListPicker.js","sourceRoot":"","sources":["../../../../src/appui-react/pickers/ListPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Picker\r\n */\r\n\r\nimport \"./ListPicker.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { 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":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,6BAA2B;AAC3B,2CAAoC;AACpC,+BAA+B;AAC/B,8DAAoD;AACpD,kDAAqF;AACrF,kEAAgI;AAChI,uEAAoE;AACpE,sEAAsE;AACtE,gEAA2E;AAC3E,gDAA6C;AAE7C,yFAAyF;AACzF,MAAM,cAAc,GAAG,IAAA,+BAAkB,EAAC,IAAA,kCAAa,EAAC,0BAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAElF;;GAEG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,+CAAQ,CAAA;IACR,yDAAa,CAAA;IACb,yDAAa,CAAA;AACf,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAiCD,IAAI,gBAA4C,CAAC;AAajD;;GAEG;AACH,MAAa,cAAe,SAAQ,KAAK,CAAC,aAAkC;IAC1E,6BAA6B;IACb,MAAM;QACpB,MAAM,aAAa,GAAG,IAAA,oBAAU,EAC9B,iBAAiB,EACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,EAClC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,YAAY,EACpC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QACF,kCAAkC;QAClC,MAAM,KAAK,GAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpH,OAAO;QACL,iEAAiE;QACjE,6BAAK,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC;YACpF,6BAAK,SAAS,EAAC,OAAO,EAAC,KAAK,EAAE,KAAK,IAChC,IAAI,CAAC,KAAK,CAAC,KAAK,CACb,CACF,CACP,CAAC;IACJ,CAAC;CACF;AArBD,wCAqBC;AAiBD;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAA6D;IACxG,mCAAmC;IACnC,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QAIP,aAAQ,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QALA,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;IAMD,gCAAgC;IAChB,MAAM;QACpB,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,wCAAwC,EACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CACrB,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,2BAAG,SAAS,EAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,2BAAG,SAAS,EAAC,yBAAyB,GAAG,CAAC;QAExH,OAAO,CACL,oBAAC,0BAAK,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;;YAEzE,6BAAK,OAAO,EAAE,IAAI,CAAC,QAAQ,EACzB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,iCAAiC,EAC/G,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,mBAAiB,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAE9D,6BAAK,SAAS,EAAC,yCAAyC;oBACtD,6BAAK,SAAS,EAAC,mCAAmC,IAAE,IAAI,CAAO;oBAC/D,6BAAK,SAAS,EAAC,gCAAgC,IAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAO,CACpE,CACF;YACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpB,oBAAC,gCAAW;;oBACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CACR,CAAC,CAAC,CAAC,gCAAO,CAEpB,CACT,CAAC;IACJ,CAAC;CACF;AAxCD,8CAwCC;AAED,YAAY;AACZ,SAAgB,YAAY,CAAC,KAAsB;IACjD,MAAM,mBAAmB,GAAG,GAAY,EAAE;QACxC,MAAM,mBAAmB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE;YAChE,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,SAAiB,EAAE,EAAE;QAC9D,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,YAAY,CAAC,IAAI;gBACpB,OAAO,CACL,oBAAC,cAAc,OACT,KAAK,EACT,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,QAAQ,EAAE,IAAI,CAAC,OAAO,EACtB,OAAO;oBACL,uBAAuB;oBACvB,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAElD,CACH,CAAC;YACJ,KAAK,YAAY,CAAC,SAAS;gBACzB,OAAO,CACL,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAC,sBAAsB,GAAG,CACpE,CAAC;YACJ,KAAK,YAAY,CAAC,SAAS;gBACzB,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC/B,OAAO,CACL,oBAAC,iBAAiB,IAChB,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,SAAS,EAAC,0BAA0B,EACpC,QAAQ,EAAE,mBAAmB,EAAE;wBAE/B,oBAAC,gCAAW;;4BACT,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAC1B,CACI,CACrB,CAAC;iBACH;qBAAM;oBACL,OAAO,CAAC,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAI,CAAC,CAAC;iBAC7C;YACH,uBAAuB;YACvB;gBACE,OAAO,CAAC,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAI,CAAC,CAAC;SAC/C;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAC,qBAAqB,EAC/B,OAAO,EACL,oBAAC,gCAAW,IAAC,SAAS,EAAC,mBAAmB;;YACvC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CACvB,EAChB,SAAS,EAAE,wCAAmB,EAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAClB,CACH,CAAC;AACJ,CAAC;AA7DD,oCA6DC;AAED;;;;GAIG;AACH,MAAa,cAAe,SAAQ,KAAK,CAAC,aAA+C;IAKvF,+BAA+B;IAC/B,YAAY,KAAU;QACpB,KAAK,CAAC,KAAK,CAAC,CAAC;QANP,eAAU,GAAG,KAAK,CAAC;QACnB,wBAAmB,GAAG,IAAI,CAAC;QAC3B,SAAI,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAUjD,0CAA0C;QACnC,aAAQ,GAAG,GAAG,EAAE;YACrB,uBAAuB;YACvB,IAAI,IAAI,CAAC,UAAU;gBACjB,IAAI,CAAC,QAAQ,CAAC;oBACZ,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,4CAA4C;QACrC,eAAU,GAAG,GAAG,EAAE;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC;QA4GM,0BAAqB,GAAG,CAAC,CAAa,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC3F,OAAO;YACT,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC;QAEM,gCAA2B,GAAG,GAAG,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,mBAAmB;gBAC3B,OAAO;YACT,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU;gBAClB,OAAO;YAET,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC1B,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACrC,OAAO;oBACL,QAAQ;iBACT,CAAC;YACJ,CAAC,EAAE,GAAG,EAAE;gBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACrC,IAAI,QAAQ,EAAE;oBACZ,sDAAsD;oBACtD,4FAA4F;oBAC5F,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,CAAC,UAAU,EAAE;wBAChF,gBAAgB,CAAC,QAAQ,EAAE,CAAC;oBAE9B,gBAAgB,GAAG,IAAI,CAAC;oBAExB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;oBACjC,QAAQ,IAAI,qCAAiB,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC5D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;iBACjC;gBAED,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QArKA,IAAI,CAAC,KAAK,GAAG;YACX,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;IAgBD,gBAAgB;IACA,iBAAiB;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,qCAAiB,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzF,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,qCAAiB,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzF,CAAC;IAED,6BAA6B;IACb,MAAM;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;YACtG,0BAA0B,CAAC,oBAAC,iBAAI,IAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAI,CAAC,CAAC,CAAC,2BAAG,SAAS,EAAC,yBAAyB,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAK,CAAC,CAAC,CAAC;YACxI,2BAAG,SAAS,EAAC,gBAAgB,GAAG,CAAC;QAEnC,OAAO,CACL,oBAAC,+CAA6B,CAAC,QAAQ,QACpC,CAAC,SAAS,EAAE,EAAE;YACb,OAAO,CACL,oBAAC,mCAAc,CAAC,8CAA8C;mBACxD,IAAI,CAAC,KAAK,EACd,aAAa,EAAE,SAAS,EACxB,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE;gBAEhC,6BAAK,GAAG,EAAE,IAAI,CAAC,IAAI;oBACjB,oBAAC,yBAAI,CAAC,8CAA8C;wBAClD,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GACvB,CACE,CACS,CAClB,CAAC;QACJ,CAAC,CACsC,CAC1C,CAAC;IACJ,CAAC;IAED,sCAAsC;IAC/B,kBAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;YACtB,OAAO,SAAS,CAAC;QAEnB,MAAM,mBAAmB,GAAG,GAAY,EAAE;YACxC,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,EAAE;gBACrE,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;YACH,OAAO,mBAAmB,CAAC,MAAM,KAAK,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,CAAC,IAAc,EAAE,SAAiB,EAAE,EAAE;YAC9D,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,YAAY,CAAC,IAAI;oBACpB,OAAO,CACL,oBAAC,cAAc,OACT,IAAI,CAAC,KAAK,EACd,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,QAAQ,EAAE,IAAI,CAAC,OAAO,EACtB,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC9D,CACH,CAAC;gBACJ,KAAK,YAAY,CAAC,SAAS;oBACzB,OAAO,CACL,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAC,sBAAsB,GAAG,CACpE,CAAC;gBACJ,KAAK,YAAY,CAAC,SAAS;oBACzB,IAAI,IAAI,CAAC,QAAS,CAAC,MAAM,KAAK,CAAC,EAAE;wBAC/B,OAAO,CACL,oBAAC,iBAAiB,IAChB,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,EACzB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,SAAS,EAAC,0BAA0B,EACpC,QAAQ,EAAE,mBAAmB,EAAE;4BAE/B,oBAAC,gCAAW;;gCACT,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAC1B,CACI,CACrB,CAAC;qBACH;yBAAM;wBACL,OAAO,CAAC,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAI,CAAC,CAAC;qBAC7C;gBACH;oBACE,OAAO,CAAC,6BAAK,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAI,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC;QAEF,OAAO,CACL,oBAAC,cAAc,IACb,SAAS,EAAC,qBAAqB,EAC/B,OAAO,EACL,oBAAC,gCAAW,IAAC,SAAS,EAAC,mBAAmB;;gBACvC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAC5B,EAChB,SAAS,EAAE,wCAAmB,EAC9B,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GACvB,CACH,CAAC;IACJ,CAAC;CA2CF;AA9KD,wCA8KC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAsB;IACjD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,0BAA2B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAC,iBAAI,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAC,CAAC;QACjI,2BAAG,SAAS,EAAC,yBAAyB,IAAE,KAAK,CAAC,QAAQ,CAAK,CAAC,CAAC,CAAC,CAAC,oBAAC,iBAAI,IAAC,QAAQ,EAAC,WAAW,GAAG,CAAC;IAE/F,OAAO,CACL,oBAAC,+CAA6B,CAAC,QAAQ,QACpC,CAAC,SAAS,EAAE,EAAE;QACb,OAAO,oBAAC,4BAAS,IACf,aAAa,EAAE,SAAS,EACxB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAC1B,CAAC;IACL,CAAC,CACsC,CAC1C,CAAC;AACJ,CAAC;AAWD;;;;GAIG;AACH,MAAa,UAAW,SAAQ,KAAK,CAAC,SAAkC;IAMtE,2BAA2B;IAC3B,YAAY,KAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QAsCf,sCAAsC;QACtC,sGAAsG;QAC9F,gBAAW,GAAG,CAAC,IAAc,EAAE,OAAgB,EAAE,EAAE;YACzD,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;gBAC5B,QAAQ,IAAI,CAAC,GAAG,EAAE;oBAChB,KAAK,UAAU,CAAC,OAAO,CAAC,CAAC;wBACvB,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;4BAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;wBAC7B,OAAO;qBACR;oBACD,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACxB,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc;4BAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;wBAC9B,OAAO;qBACR;oBACD,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;wBAC1B,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU;4BACvB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBAC1B,OAAO;qBACR;iBACF;aACF;YAED,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC;IAjEF,CAAC;IARM,MAAM,KAAK,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,KAAK,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,KAAK,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAOhD,8FAA8F;IACtF,WAAW,CAAC,KAAiB;QACnC,MAAM,QAAQ,GAAe,EAAE,CAAC;QAEhC,2CAA2C;QAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC5B,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE,GAAG,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5I;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC7B,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAc,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;SAChJ;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,UAAU,EAAE,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7I;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,aAAa,EAAE,IAAI,EAAE,yBAAW,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;SACxJ;QAED,aAAa;QACb,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,IAAc;QACjC,OAAO,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,aAAa,CAAC;IAC/L,CAAC;IAgCD,yBAAyB;IACT,MAAM;QACpB,OAAO,CACL,oBAAC,4CAAsB,IACrB,EAAE,EACA,oBAAC,cAAc,OACT,IAAI,CAAC,KAAK,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAC7B,EAEJ,EAAE,EACA,oBAAC,mBAAmB,OACd,IAAI,CAAC,KAAK,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACvB,UAAU,EAAE,IAAI,CAAC,WAAW,EAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAC7B,GAEJ,CACH,CAAC;IACJ,CAAC;CACF;AAvGD,gCAuGC","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"}
@@ -11,7 +11,7 @@ exports.IModelConnectedViewSelector = exports.ViewSelector = exports.ViewSelecto
11
11
  const React = require("react");
12
12
  const core_bentley_1 = require("@itwin/core-bentley");
13
13
  const core_frontend_1 = require("@itwin/core-frontend");
14
- const core_react_1 = require("@itwin/core-react");
14
+ const appui_abstract_1 = require("@itwin/appui-abstract");
15
15
  const ContentViewManager_1 = require("../content/ContentViewManager");
16
16
  const connectIModel_1 = require("../redux/connectIModel");
17
17
  const UiFramework_1 = require("../UiFramework");
@@ -20,12 +20,12 @@ const ListPicker_1 = require("./ListPicker");
20
20
  /** ViewSelector Changed Event class.
21
21
  * @beta
22
22
  */
23
- class ViewSelectorChangedEvent extends core_react_1.UiEvent {
23
+ class ViewSelectorChangedEvent extends appui_abstract_1.UiEvent {
24
24
  }
25
25
  exports.ViewSelectorChangedEvent = ViewSelectorChangedEvent;
26
26
  /** ViewSelector Show Update Event class.
27
27
  */
28
- class ViewSelectorShowUpdateEvent extends core_react_1.UiEvent {
28
+ class ViewSelectorShowUpdateEvent extends appui_abstract_1.UiEvent {
29
29
  }
30
30
  /** View Selector React component
31
31
  * @beta
@@ -96,7 +96,7 @@ class ViewSelector extends React.Component {
96
96
  };
97
97
  this.state = {
98
98
  items: new Array(),
99
- title: UiFramework_1.UiFramework.translate("savedViews.views"),
99
+ title: UiFramework_1.UiFramework.translate("viewTypes.views"),
100
100
  initialized: false,
101
101
  showSpatials: props.showSpatials,
102
102
  showDrawings: props.showDrawings,
@@ -129,21 +129,21 @@ class ViewSelector extends React.Component {
129
129
  setStateContainers(views3d, views2d, sheets, unknown) {
130
130
  const views3dContainer = {
131
131
  key: "views3dContainer",
132
- name: UiFramework_1.UiFramework.translate("savedViews.spatialViews"),
132
+ name: UiFramework_1.UiFramework.translate("viewTypes.spatialViews"),
133
133
  enabled: false,
134
134
  type: ListPicker_1.ListItemType.Container,
135
135
  children: views3d,
136
136
  };
137
137
  const views2dContainer = {
138
138
  key: "views2dContainer",
139
- name: UiFramework_1.UiFramework.translate("savedViews.drawings"),
139
+ name: UiFramework_1.UiFramework.translate("viewTypes.drawings"),
140
140
  enabled: false,
141
141
  type: ListPicker_1.ListItemType.Container,
142
142
  children: views2d,
143
143
  };
144
144
  const sheetContainer = {
145
145
  key: "sheetContainer",
146
- name: UiFramework_1.UiFramework.translate("savedViews.sheets"),
146
+ name: UiFramework_1.UiFramework.translate("viewTypes.sheets"),
147
147
  enabled: false,
148
148
  type: ListPicker_1.ListItemType.Container,
149
149
  children: sheets,
@@ -154,7 +154,7 @@ class ViewSelector extends React.Component {
154
154
  // This should never show, but just in case we missed a type of view state
155
155
  const unknownContainer = {
156
156
  key: "unknownContainer",
157
- name: UiFramework_1.UiFramework.translate("savedViews.others"),
157
+ name: UiFramework_1.UiFramework.translate("viewTypes.others"),
158
158
  enabled: false,
159
159
  type: ListPicker_1.ListItemType.Container,
160
160
  children: unknown,
@@ -167,7 +167,7 @@ class ViewSelector extends React.Component {
167
167
  return;
168
168
  this.setState({
169
169
  items: containers,
170
- title: UiFramework_1.UiFramework.translate("savedViews.views"),
170
+ title: UiFramework_1.UiFramework.translate("viewTypes.views"),
171
171
  initialized: true,
172
172
  });
173
173
  }
@@ -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"}
@@ -20,7 +20,7 @@ const PositionPopup_1 = require("./PositionPopup");
20
20
  const MessageSpan_1 = require("../messages/MessageSpan");
21
21
  const components_react_1 = require("@itwin/components-react");
22
22
  /** Popup component for Input Editor
23
- * @alpha
23
+ * @beta
24
24
  */
25
25
  class CardPopup extends React.PureComponent {
26
26
  constructor() {
@@ -59,7 +59,8 @@ class CardPopup extends React.PureComponent {
59
59
  }
60
60
  }
61
61
  exports.CardPopup = CardPopup;
62
- /** @alpha */
62
+ /** Card component
63
+ * @beta */
63
64
  function Card(props) {
64
65
  let titleNode;
65
66
  // 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":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport \"./CardPopup.scss\";\r\nimport * as React from \"react\";\r\nimport classnames from \"classnames\";\r\nimport { CommonToolbarItem, OnCancelFunc, OnItemExecutedFunc, PropertyRecord, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { Leading } from \"@itwin/itwinui-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { isReactContent, PopupContentType, PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { MessageDiv } from \"../messages/MessageSpan\";\r\nimport { Direction, PropertyValueRendererManager, ToolbarOpacitySetting, ToolbarPanelAlignment, ToolbarWithOverflow } from \"@itwin/components-react\";\r\n\r\n/** Props for defining a CardPopup editor\r\n * @beta */\r\nexport interface CardPopupProps extends PopupPropsBase {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface CardPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Input Editor\r\n * @beta\r\n */\r\nexport class CardPopup extends React.PureComponent<CardPopupProps, CardPopupState> {\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n private _onSizeKnown = (newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!this.state.size.equals(newSize))\r\n this.setState({ size: Size.create(newSize) });\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n this._cancel();\r\n break;\r\n }\r\n };\r\n\r\n private _cancel() {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\r\n }\r\n\r\n public override render() {\r\n let point = PopupManager.getPopupPosition(this.props.el, this.props.pt, new Point(), this.state.size);\r\n const popupRect = CursorPopup.getPopupRect(point, this.props.offset, this.state.size, this.props.relativePosition);\r\n point = new Point(popupRect.left, popupRect.top);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n className={classnames(\"uifw-no-border\", \"uifw-card\")}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <Card content={this.props.content} title={this.props.title} items={this.props.items}\r\n onItemExecuted={this.props.onItemExecuted} />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n\r\n/** Props defining a Card component\r\n * @beta */\r\nexport interface CardProps {\r\n content: PopupContentType;\r\n title: string | PropertyRecord | undefined;\r\n items: CommonToolbarItem[] | undefined;\r\n onItemExecuted: OnItemExecutedFunc;\r\n}\r\n\r\n/** Card component\r\n * @beta */\r\nexport function Card(props: CardProps) {\r\n let titleNode: React.ReactNode;\r\n // istanbul ignore else\r\n if (props.title) {\r\n if (typeof props.title === \"string\")\r\n titleNode = <Leading>{props.title}</Leading>;\r\n else {\r\n const propertyValueRendererManager = PropertyValueRendererManager.defaultManager;\r\n const titleValue = propertyValueRendererManager.render(props.title);\r\n titleNode = <Leading>{titleValue}</Leading>;\r\n }\r\n }\r\n\r\n const content = isReactContent(props.content) ? props.content.reactNode : <MessageDiv message={props.content} />;\r\n\r\n return (\r\n <>\r\n <div className=\"uifw-card-content\">\r\n {props.title &&\r\n <>\r\n {titleNode}\r\n <div className=\"uifw-card-gap\" />\r\n </>\r\n }\r\n {content}\r\n </div>\r\n {props.items &&\r\n <>\r\n <div className=\"uifw-card-separator\" />\r\n <ToolbarWithOverflow\r\n expandsTo={Direction.Bottom}\r\n panelAlignment={ToolbarPanelAlignment.Start}\r\n items={props.items}\r\n useDragInteraction={true}\r\n toolbarOpacitySetting={ToolbarOpacitySetting.Transparent}\r\n onItemExecuted={props.onItemExecuted}\r\n />\r\n </>\r\n }\r\n </>\r\n );\r\n}\r\n"]}
@@ -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"}
@@ -14,7 +14,7 @@ const components_react_1 = require("@itwin/components-react");
14
14
  const core_react_1 = require("@itwin/core-react");
15
15
  const PopupManager_1 = require("./PopupManager");
16
16
  const PositionPopup_1 = require("./PositionPopup");
17
- /** @alpha */
17
+ /** @beta */
18
18
  class InputEditorCommitHandler {
19
19
  constructor(onCommit) {
20
20
  this.onCommit = onCommit;
@@ -1 +1 @@
1
- {"version":3,"file":"InputEditorPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAAyH;AACzH,8DAA+E;AAC/E,kDAAyE;AACzE,iDAA8D;AAC9D,mDAAsE;AAEtE,aAAa;AACb,MAAa,wBAAwB;IACnC,YACkB,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;QAGtC,iBAAY,GAAG,CAAC,IAAyB,EAAE,EAAE;YAClD,IAAI,QAAQ,GAAqB,CAAC,CAAC;YACnC,uBAAuB;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,oCAAmB,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE;gBACpG,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;aAChC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IATE,CAAC;CAUN;AAbD,4DAaC;AAcD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,KAAK,CAAC,aAA2D;IAAvG;;QACE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,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,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IAuBJ,CAAC;IArBC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9G,OAAO,CACL,oBAAC,6BAAa,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,oCAAoB;oBACnB,oBAAC,kCAAe,IACd,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAC/C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE,IAAI,GAAI,CACC,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAjCD,4CAiCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnCancelFunc, OnValueCommitFunc, Primitives, PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { EditorContainer, PropertyUpdatedArgs } from \"@itwin/components-react\";\r\nimport { DivWithOutsideClick, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\r\n\r\n/** @alpha */\r\nexport class InputEditorCommitHandler {\r\n constructor(\r\n public readonly onCommit: OnValueCommitFunc,\r\n ) { }\r\n\r\n public handleCommit = (args: PropertyUpdatedArgs) => {\r\n let newValue: Primitives.Value = 0;\r\n // istanbul ignore else\r\n if (args.newValue.valueFormat === PropertyValueFormat.Primitive && args.newValue.value !== undefined) {\r\n newValue = args.newValue.value;\r\n }\r\n this.onCommit(newValue);\r\n };\r\n}\r\n\r\n/** @alpha */\r\nexport interface InputEditorPopupProps extends PopupPropsBase {\r\n record: PropertyRecord;\r\n onCancel: OnCancelFunc;\r\n commitHandler: InputEditorCommitHandler;\r\n}\r\n\r\n/** @internal */\r\ninterface InputEditorPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Input Editor\r\n * @alpha\r\n */\r\nexport class InputEditorPopup extends React.PureComponent<InputEditorPopupProps, InputEditorPopupState> {\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 /** @internal */\r\n public override render() {\r\n const point = PopupManager.getPopupPosition(this.props.el, this.props.pt, this.props.offset, this.state.size);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\r\n <PositionPopupContent>\r\n <EditorContainer\r\n propertyRecord={this.props.record}\r\n onCommit={this.props.commitHandler.handleCommit}\r\n onCancel={this.props.onCancel}\r\n setFocus={true} />\r\n </PositionPopupContent>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"InputEditorPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/InputEditorPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAAyH;AACzH,8DAA+E;AAC/E,kDAAyE;AACzE,iDAA8D;AAC9D,mDAAsE;AAEtE,YAAY;AACZ,MAAa,wBAAwB;IACnC,YACkB,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;QAGtC,iBAAY,GAAG,CAAC,IAAyB,EAAE,EAAE;YAClD,IAAI,QAAQ,GAAqB,CAAC,CAAC;YACnC,uBAAuB;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,oCAAmB,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE;gBACpG,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;aAChC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC;IATE,CAAC;CAUN;AAbD,4DAaC;AAeD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,KAAK,CAAC,aAA2D;IAAvG;;QACE,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,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,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;IAuBJ,CAAC;IArBC,gBAAgB;IACA,MAAM;QACpB,MAAM,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9G,OAAO,CACL,oBAAC,6BAAa,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAC/B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,YAAY;YAE9B,oBAAC,gCAAmB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBACtD,oBAAC,oCAAoB;oBACnB,oBAAC,kCAAe,IACd,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,EAC/C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE,IAAI,GAAI,CACC,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAjCD,4CAiCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnCancelFunc, OnValueCommitFunc, Primitives, PropertyRecord, PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport { EditorContainer, PropertyUpdatedArgs } from \"@itwin/components-react\";\r\nimport { DivWithOutsideClick, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\r\n\r\n/** @beta */\r\nexport class InputEditorCommitHandler {\r\n constructor(\r\n public readonly onCommit: OnValueCommitFunc,\r\n ) { }\r\n\r\n public handleCommit = (args: PropertyUpdatedArgs) => {\r\n let newValue: Primitives.Value = 0;\r\n // istanbul ignore else\r\n if (args.newValue.valueFormat === PropertyValueFormat.Primitive && args.newValue.value !== undefined) {\r\n newValue = args.newValue.value;\r\n }\r\n this.onCommit(newValue);\r\n };\r\n}\r\n\r\n/** Props for popup editor\r\n * @beta */\r\nexport interface InputEditorPopupProps extends PopupPropsBase {\r\n record: PropertyRecord;\r\n onCancel: OnCancelFunc;\r\n commitHandler: InputEditorCommitHandler;\r\n}\r\n\r\n/** @internal */\r\ninterface InputEditorPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Input Editor\r\n * @alpha\r\n */\r\nexport class InputEditorPopup extends React.PureComponent<InputEditorPopupProps, InputEditorPopupState> {\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 /** @internal */\r\n public override render() {\r\n const point = PopupManager.getPopupPosition(this.props.el, this.props.pt, this.props.offset, this.state.size);\r\n\r\n return (\r\n <PositionPopup key={this.props.id}\r\n point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel}>\r\n <PositionPopupContent>\r\n <EditorContainer\r\n propertyRecord={this.props.record}\r\n onCommit={this.props.commitHandler.handleCommit}\r\n onCancel={this.props.onCancel}\r\n setFocus={true} />\r\n </PositionPopupContent>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
@@ -16,13 +16,13 @@ const core_frontend_1 = require("@itwin/core-frontend");
16
16
  const UiFramework_1 = require("../UiFramework");
17
17
  const appui_abstract_1 = require("@itwin/appui-abstract");
18
18
  const KeyinPaletteTools_1 = require("../tools/KeyinPaletteTools");
19
- const useUiSettings_1 = require("../uisettings/useUiSettings");
19
+ const useUiStateStorage_1 = require("../uistate/useUiStateStorage");
20
20
  const itwinui_react_1 = require("@itwin/itwinui-react");
21
21
  const KEYIN_PALETTE_NAMESPACE = "KeyinPalettePanel";
22
22
  const KEYIN_HISTORY_KEY = "historyArray";
23
23
  /** @internal */
24
24
  function clearKeyinPaletteHistory() {
25
- const uiSettingsStorage = UiFramework_1.UiFramework.getUiSettingsStorage();
25
+ const uiSettingsStorage = UiFramework_1.UiFramework.getUiStateStorage();
26
26
  // istanbul ignore else
27
27
  if (uiSettingsStorage) {
28
28
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
@@ -39,12 +39,12 @@ function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allowedHist
39
39
  const inputRef = React.useRef(null);
40
40
  const keyinSeparator = "--#--";
41
41
  const [historyKeyins, setHistoryKeyins] = React.useState([]);
42
- const uiSettingsStorage = (0, useUiSettings_1.useUiSettingsStorageContext)();
42
+ const uiSettingsStorage = (0, useUiStateStorage_1.useUiStateStorageHandler)();
43
43
  React.useEffect(() => {
44
44
  async function fetchState() {
45
45
  const settingsResult = await uiSettingsStorage.getSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY);
46
46
  // istanbul ignore else
47
- if (core_react_1.UiSettingsStatus.Success === settingsResult.status) {
47
+ if (core_react_1.UiStateStorageStatus.Success === settingsResult.status) {
48
48
  const filteredHistory = settingsResult.setting.filter((keyin) => {
49
49
  const result = core_frontend_1.IModelApp.tools.parseKeyin(keyin);
50
50
  return result.ok;
@@ -61,7 +61,7 @@ function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allowedHist
61
61
  const storeHistoryKeyins = React.useCallback(async (value) => {
62
62
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
63
63
  const result = await uiSettingsStorage.saveSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY, value);
64
- if (result.status !== core_react_1.UiSettingsStatus.Success) {
64
+ if (result.status !== core_react_1.UiStateStorageStatus.Success) {
65
65
  const briefMessage = UiFramework_1.UiFramework.translate("keyinbrowser.couldNotSaveHistory");
66
66
  const errorDetails = new core_frontend_1.NotifyMessageDetails(core_frontend_1.OutputMessagePriority.Error, briefMessage);
67
67
  core_frontend_1.IModelApp.notifications.outputMessage(errorDetails);
@@ -238,7 +238,7 @@ function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allowedHist
238
238
  }, [filteredKeyins, submitKeyin, currentKeyin, updateKeyin]);
239
239
  const lastHistoryIndex = filteredKeyins.findIndex((entry) => (true !== entry.isHistory)) - 1;
240
240
  return React.createElement("div", { className: "uifw-command-palette-panel" },
241
- React.createElement(itwinui_react_1.Input, { ref: inputRef, type: "text", onKeyDown: onInputValueKeyDown, className: "uifw-command-palette-input", "data-testid": "command-palette-input", onChange: onInputValueChange, placeholder: placeholderLabel.current, value: currentKeyin }),
241
+ React.createElement(itwinui_react_1.Input, { ref: inputRef, type: "text", onKeyDown: onInputValueKeyDown, className: "uifw-command-palette-input", "data-testid": "command-palette-input", onChange: onInputValueChange, placeholder: placeholderLabel.current, value: currentKeyin, size: "small" }),
242
242
  (filteredKeyins.length > 0) &&
243
243
  React.createElement(core_react_1.Listbox, { id: "uifw-command-sources", className: "map-manager-source-list", onKeyPress: handleKeypressOnKeyinsList, onListboxValueChange: onListboxValueChange }, filteredKeyins.map((entry, index) => {
244
244
  const value = `${entry.value}${keyinSeparator}${entry.isHistory ? "history" : "registry"}`;