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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) 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 +37 -22
  5. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.js +53 -38
  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 +4 -5
  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 +10 -3
  55. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/state.js +15 -2
  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 +2 -1
  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.d.ts +12 -9
  141. package/lib/cjs/appui-react/hooks/useFrameworkVersion.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js +19 -21
  143. package/lib/cjs/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  144. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  145. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  146. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  147. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  148. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  149. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  151. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  152. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  153. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  154. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  155. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  156. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  157. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +81 -68
  158. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  159. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  162. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  163. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  164. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  165. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  166. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  167. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  168. package/lib/cjs/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  169. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +1 -1
  170. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  171. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  172. package/lib/cjs/appui-react/messages/MessageManager.d.ts +1 -2
  173. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/messages/MessageManager.js +15 -9
  175. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  176. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  177. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  178. package/lib/cjs/appui-react/messages/Pointer.js +4 -3
  179. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  180. package/lib/cjs/appui-react/messages/ToastMessage.js +2 -1
  181. package/lib/cjs/appui-react/messages/ToastMessage.js.map +1 -1
  182. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  183. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +2 -2
  185. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  186. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  187. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  188. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  189. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  190. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  191. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  192. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +3 -0
  193. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  194. package/lib/cjs/appui-react/pickers/ListPicker.js +24 -9
  195. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  196. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +1 -1
  197. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  198. package/lib/cjs/appui-react/pickers/ViewSelector.js +9 -9
  199. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  200. package/lib/cjs/appui-react/popup/CardPopup.d.ts +7 -4
  201. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  202. package/lib/cjs/appui-react/popup/CardPopup.js +3 -2
  203. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  204. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +3 -2
  205. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  206. package/lib/cjs/appui-react/popup/InputEditorPopup.js +1 -1
  207. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  208. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -6
  209. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  210. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  211. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  212. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  213. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  214. package/lib/cjs/appui-react/popup/PopupManager.d.ts +10 -10
  215. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  216. package/lib/cjs/appui-react/popup/PopupManager.js +4 -4
  217. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  218. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +5 -3
  219. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  220. package/lib/cjs/appui-react/popup/PositionPopup.js +3 -2
  221. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  222. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  223. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  224. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  225. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  226. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +4 -3
  227. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -2
  229. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  230. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  231. package/lib/cjs/appui-react/redux/SessionState.d.ts +0 -6
  232. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/redux/SessionState.js +0 -8
  234. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  235. package/lib/cjs/appui-react/redux/StateManager.d.ts +1 -1
  236. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  237. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  238. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  239. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  240. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  241. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  242. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  243. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +28 -19
  244. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  245. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  246. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  247. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  248. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  249. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  250. package/lib/cjs/appui-react/shared/ItemDefBase.js +1 -1
  251. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  252. package/lib/cjs/appui-react/shared/ItemProps.d.ts +2 -2
  253. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  254. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +1 -1
  255. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/shared/ToolItemDef.js +2 -2
  257. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  258. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  259. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  260. package/lib/cjs/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  261. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts +2 -2
  262. package/lib/cjs/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  263. package/lib/cjs/appui-react/stagepanels/StagePanel.js +1 -0
  264. package/lib/cjs/appui-react/stagepanels/StagePanel.js.map +1 -1
  265. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  266. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  267. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +24 -3
  268. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  269. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  270. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  271. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js +2 -1
  272. package/lib/cjs/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  273. package/lib/cjs/appui-react/statusbar/StatusBar.js +2 -1
  274. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  275. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  276. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +17 -5
  277. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  278. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  279. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  280. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  281. package/lib/cjs/appui-react/statusfields/Indicator.d.ts +15 -14
  282. package/lib/cjs/appui-react/statusfields/Indicator.d.ts.map +1 -1
  283. package/lib/cjs/appui-react/statusfields/Indicator.js +23 -21
  284. package/lib/cjs/appui-react/statusfields/Indicator.js.map +1 -1
  285. package/lib/cjs/appui-react/statusfields/Indicator.scss +29 -18
  286. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  287. package/lib/cjs/appui-react/statusfields/MessageCenter.js +2 -1
  288. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  289. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +1 -0
  290. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  291. package/lib/cjs/appui-react/statusfields/SelectionScope.js +6 -4
  292. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  293. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +13 -3
  294. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +2 -10
  295. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  296. package/lib/cjs/appui-react/statusfields/SnapMode.js +4 -34
  297. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  298. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  299. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +1 -25
  301. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  302. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  303. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  304. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -12
  305. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  306. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  307. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts +2 -2
  308. package/lib/cjs/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  309. package/lib/cjs/appui-react/syncui/BooleanListener.js +2 -1
  310. package/lib/cjs/appui-react/syncui/BooleanListener.js.map +1 -1
  311. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  312. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  313. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +30 -103
  314. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  315. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js +2 -1
  316. package/lib/cjs/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  317. package/lib/cjs/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  318. package/lib/cjs/appui-react/toolbar/ActionItemButton.js +2 -1
  319. package/lib/cjs/appui-react/toolbar/ActionItemButton.js.map +1 -1
  320. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js +24 -20
  321. package/lib/cjs/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  322. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  323. package/lib/cjs/appui-react/toolbar/GroupItem.js +33 -29
  324. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  325. package/lib/cjs/appui-react/toolbar/ToolButton.js +3 -2
  326. package/lib/cjs/appui-react/toolbar/ToolButton.js.map +1 -1
  327. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/toolbar/Toolbar.js +3 -2
  329. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  330. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +22 -20
  332. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  333. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  334. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +4 -4
  335. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  336. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  337. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js +2 -2
  338. package/lib/cjs/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  339. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  340. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  341. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +17 -36
  342. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  343. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  344. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  345. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +12 -20
  346. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  347. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  348. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  349. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +39 -50
  350. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  351. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  352. package/lib/{esm/appui-react/uisettings → cjs/appui-react/uistate}/AppUiSettings.d.ts +11 -9
  353. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  354. package/lib/cjs/appui-react/{uisettings → uistate}/AppUiSettings.js +12 -8
  355. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -0
  356. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  357. package/lib/cjs/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  358. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js +59 -0
  359. package/lib/cjs/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  360. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  361. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  362. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -0
  363. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -0
  364. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +5 -5
  365. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  366. package/lib/cjs/appui-react/utils/UiShowHideManager.js +8 -8
  367. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  368. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  369. package/lib/cjs/appui-react/widget-panels/Content.js +1 -4
  370. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  371. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +98 -8
  372. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  373. package/lib/cjs/appui-react/widget-panels/Frontstage.js +83 -93
  374. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  375. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  376. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  377. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  378. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  379. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +56 -0
  380. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -0
  381. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  382. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +1 -0
  383. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  384. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  385. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +3 -1
  386. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  387. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  388. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  390. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  391. package/lib/cjs/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  392. package/lib/cjs/appui-react/widgets/NavigationWidget.js +2 -1
  393. package/lib/cjs/appui-react/widgets/NavigationWidget.js.map +1 -1
  394. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  395. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  396. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  397. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +1 -1
  398. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  399. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +2 -1
  400. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  401. package/lib/cjs/appui-react/widgets/ToolWidget.js +3 -2
  402. package/lib/cjs/appui-react/widgets/ToolWidget.js.map +1 -1
  403. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  404. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  405. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +1 -36
  406. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  407. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  408. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  409. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  410. package/lib/cjs/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  411. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  412. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  414. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  415. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -3
  416. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  417. package/lib/cjs/appui-react/widgets/WidgetDef.js +18 -7
  418. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  419. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/widgets/WidgetHost.js +1 -0
  421. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  422. package/lib/cjs/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  423. package/lib/cjs/appui-react/widgets/WidgetStack.js +2 -0
  424. package/lib/cjs/appui-react/widgets/WidgetStack.js.map +1 -1
  425. package/lib/cjs/appui-react/zones/FrameworkZone.js.map +1 -1
  426. package/lib/cjs/appui-react/zones/StatusBarZone.js.map +1 -1
  427. package/lib/cjs/appui-react/zones/Zone.d.ts +1 -1
  428. package/lib/cjs/appui-react/zones/Zone.d.ts.map +1 -1
  429. package/lib/cjs/appui-react/zones/Zone.js +2 -1
  430. package/lib/cjs/appui-react/zones/Zone.js.map +1 -1
  431. package/lib/cjs/appui-react/zones/ZoneDef.d.ts +4 -4
  432. package/lib/cjs/appui-react/zones/ZoneDef.d.ts.map +1 -1
  433. package/lib/cjs/appui-react/zones/ZoneDef.js +5 -4
  434. package/lib/cjs/appui-react/zones/ZoneDef.js.map +1 -1
  435. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  436. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js +3 -2
  438. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  439. package/lib/cjs/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  440. package/lib/cjs/appui-react.d.ts +15 -18
  441. package/lib/cjs/appui-react.d.ts.map +1 -1
  442. package/lib/cjs/appui-react.js +15 -18
  443. package/lib/cjs/appui-react.js.map +1 -1
  444. package/lib/esm/appui-react/UiFramework.d.ts +37 -22
  445. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  446. package/lib/esm/appui-react/UiFramework.js +52 -37
  447. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  448. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +3 -3
  449. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  450. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +3 -3
  451. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  452. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +1 -1
  453. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  454. package/lib/esm/appui-react/accudraw/Calculator.js +1 -1
  455. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  456. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +4 -4
  457. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  458. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +6 -5
  459. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  460. package/lib/esm/appui-react/backstage/Backstage.d.ts +0 -2
  461. package/lib/esm/appui-react/backstage/Backstage.d.ts.map +1 -1
  462. package/lib/esm/appui-react/backstage/Backstage.js.map +1 -1
  463. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +2 -0
  464. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  465. package/lib/esm/appui-react/backstage/BackstageComposer.js +27 -9
  466. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  467. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +2 -2
  468. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -1
  469. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  470. package/lib/esm/appui-react/backstage/BackstageItemProps.d.ts +3 -3
  471. package/lib/esm/appui-react/backstage/BackstageItemProps.js +1 -1
  472. package/lib/esm/appui-react/backstage/BackstageItemProps.js.map +1 -1
  473. package/lib/esm/appui-react/backstage/BackstageItemUtilities.d.ts +5 -5
  474. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js +3 -3
  475. package/lib/esm/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  476. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts +2 -0
  477. package/lib/esm/appui-react/backstage/CommandLaunch.d.ts.map +1 -1
  478. package/lib/esm/appui-react/backstage/CommandLaunch.js +1 -0
  479. package/lib/esm/appui-react/backstage/CommandLaunch.js.map +1 -1
  480. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts +4 -0
  481. package/lib/esm/appui-react/backstage/FrontstageLaunch.d.ts.map +1 -1
  482. package/lib/esm/appui-react/backstage/FrontstageLaunch.js +5 -6
  483. package/lib/esm/appui-react/backstage/FrontstageLaunch.js.map +1 -1
  484. package/lib/esm/appui-react/backstage/Separator.d.ts +1 -0
  485. package/lib/esm/appui-react/backstage/Separator.d.ts.map +1 -1
  486. package/lib/esm/appui-react/backstage/Separator.js +3 -2
  487. package/lib/esm/appui-react/backstage/Separator.js.map +1 -1
  488. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +1 -1
  489. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts.map +1 -1
  490. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +4 -5
  491. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  492. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  493. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  494. package/lib/esm/appui-react/configurableui/state.d.ts +10 -3
  495. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  496. package/lib/esm/appui-react/configurableui/state.js +15 -2
  497. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  498. package/lib/esm/appui-react/content/ContentControl.d.ts +1 -1
  499. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  500. package/lib/esm/appui-react/content/ContentControl.js +1 -1
  501. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  502. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -2
  503. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  504. package/lib/esm/appui-react/content/ContentLayout.js +3 -2
  505. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  506. package/lib/esm/appui-react/content/ContentViewManager.d.ts +1 -1
  507. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  508. package/lib/esm/appui-react/content/ContentViewManager.js +1 -1
  509. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  510. package/lib/esm/appui-react/content/IModelViewport.d.ts +13 -1
  511. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  512. package/lib/esm/appui-react/content/IModelViewport.js +16 -4
  513. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  514. package/lib/esm/appui-react/content/{SavedViewLayout.d.ts → StageContentLayout.d.ts} +11 -11
  515. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -0
  516. package/lib/esm/appui-react/content/{SavedViewLayout.js → StageContentLayout.js} +17 -15
  517. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -0
  518. package/lib/esm/appui-react/content/{SavedView.d.ts → ViewStateHelper.d.ts} +7 -7
  519. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -0
  520. package/lib/esm/appui-react/content/{SavedView.js → ViewStateHelper.js} +2 -2
  521. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -0
  522. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +21 -0
  523. package/lib/esm/appui-react/content/split-pane/Pane.d.ts.map +1 -0
  524. package/lib/esm/appui-react/content/split-pane/Pane.js +39 -0
  525. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -0
  526. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +23 -0
  527. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -0
  528. package/lib/esm/appui-react/content/split-pane/Resizer.js +35 -0
  529. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -0
  530. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +70 -0
  531. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -0
  532. package/lib/esm/appui-react/content/split-pane/SplitPane.js +239 -0
  533. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -0
  534. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +1 -2
  535. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  536. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -2
  537. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  538. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  539. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  540. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +2 -2
  541. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  542. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +2 -2
  543. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  544. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +1 -1
  545. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  546. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -1
  547. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  548. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  549. package/lib/esm/appui-react/dialog/StandardMessageBox.js +3 -0
  550. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  551. package/lib/esm/appui-react/dragdrop/ZoneTargets.d.ts.map +1 -1
  552. package/lib/esm/appui-react/dragdrop/ZoneTargets.js +8 -4
  553. package/lib/esm/appui-react/dragdrop/ZoneTargets.js.map +1 -1
  554. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -2
  555. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  556. package/lib/esm/appui-react/feedback/ElementTooltip.js +4 -2
  557. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  558. package/lib/esm/appui-react/frontstage/Frontstage.d.ts +1 -0
  559. package/lib/esm/appui-react/frontstage/Frontstage.d.ts.map +1 -1
  560. package/lib/esm/appui-react/frontstage/Frontstage.js +32 -13
  561. package/lib/esm/appui-react/frontstage/Frontstage.js.map +1 -1
  562. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts +3 -0
  563. package/lib/esm/appui-react/frontstage/FrontstageComposer.d.ts.map +1 -1
  564. package/lib/esm/appui-react/frontstage/FrontstageComposer.js +15 -1
  565. package/lib/esm/appui-react/frontstage/FrontstageComposer.js.map +1 -1
  566. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +15 -2
  567. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  568. package/lib/esm/appui-react/frontstage/FrontstageDef.js +140 -5
  569. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  570. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts.map +1 -1
  571. package/lib/esm/appui-react/frontstage/FrontstageManager.js +2 -1
  572. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  573. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +6 -0
  574. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  575. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  576. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  577. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  578. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  579. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  580. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts +12 -9
  581. package/lib/esm/appui-react/hooks/useFrameworkVersion.d.ts.map +1 -1
  582. package/lib/esm/appui-react/hooks/useFrameworkVersion.js +19 -21
  583. package/lib/esm/appui-react/hooks/useFrameworkVersion.js.map +1 -1
  584. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +1 -1
  585. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +1 -1
  586. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +6 -7
  587. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +1 -1
  588. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +3 -3
  589. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +1 -1
  590. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +1 -1
  591. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +1 -1
  592. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -5
  593. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +1 -1
  594. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +1 -1
  595. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +1 -1
  596. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +1 -1
  597. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +83 -70
  598. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +1 -1
  599. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  600. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  601. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +2 -1
  602. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  603. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -2
  604. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  605. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts +5 -5
  606. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.d.ts.map +1 -1
  607. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js +3 -2
  608. package/lib/esm/appui-react/keyinbrowser/KeyinBrowser.js.map +1 -1
  609. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +1 -1
  610. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  611. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  612. package/lib/esm/appui-react/messages/MessageManager.d.ts +1 -2
  613. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  614. package/lib/esm/appui-react/messages/MessageManager.js +9 -3
  615. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  616. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  617. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  618. package/lib/esm/appui-react/messages/Pointer.js +4 -3
  619. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  620. package/lib/esm/appui-react/messages/ToastMessage.js +2 -1
  621. package/lib/esm/appui-react/messages/ToastMessage.js.map +1 -1
  622. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +1 -1
  623. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  624. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -1
  625. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  626. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -1
  627. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  628. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -1
  629. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  630. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +6 -4
  631. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  632. package/lib/esm/appui-react/pickers/ListPicker.d.ts +3 -0
  633. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  634. package/lib/esm/appui-react/pickers/ListPicker.js +23 -9
  635. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  636. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +1 -1
  637. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  638. package/lib/esm/appui-react/pickers/ViewSelector.js +7 -7
  639. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  640. package/lib/esm/appui-react/popup/CardPopup.d.ts +7 -4
  641. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  642. package/lib/esm/appui-react/popup/CardPopup.js +3 -2
  643. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  644. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +3 -2
  645. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  646. package/lib/esm/appui-react/popup/InputEditorPopup.js +1 -1
  647. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  648. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -7
  649. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  650. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +3 -2
  651. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  652. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  653. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  654. package/lib/esm/appui-react/popup/PopupManager.d.ts +10 -10
  655. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  656. package/lib/esm/appui-react/popup/PopupManager.js +5 -5
  657. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  658. package/lib/esm/appui-react/popup/PositionPopup.d.ts +5 -3
  659. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  660. package/lib/esm/appui-react/popup/PositionPopup.js +3 -2
  661. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  662. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +3 -2
  663. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  664. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  665. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  666. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +4 -3
  667. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  668. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -2
  669. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  670. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  671. package/lib/esm/appui-react/redux/SessionState.d.ts +0 -6
  672. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  673. package/lib/esm/appui-react/redux/SessionState.js +0 -8
  674. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  675. package/lib/esm/appui-react/redux/StateManager.d.ts +1 -1
  676. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  677. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +7 -7
  678. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  679. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  680. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  681. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  682. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  683. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +28 -19
  684. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  685. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  686. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  687. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  688. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  689. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  690. package/lib/esm/appui-react/shared/ItemDefBase.js +1 -1
  691. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  692. package/lib/esm/appui-react/shared/ItemProps.d.ts +2 -2
  693. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  694. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +1 -1
  695. package/lib/esm/appui-react/shared/ToolItemDef.d.ts.map +1 -1
  696. package/lib/esm/appui-react/shared/ToolItemDef.js +2 -2
  697. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  698. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.d.ts.map +1 -1
  699. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js +1 -0
  700. package/lib/esm/appui-react/stagepanels/FrameworkStagePanel.js.map +1 -1
  701. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts +2 -2
  702. package/lib/esm/appui-react/stagepanels/StagePanel.d.ts.map +1 -1
  703. package/lib/esm/appui-react/stagepanels/StagePanel.js +1 -0
  704. package/lib/esm/appui-react/stagepanels/StagePanel.js.map +1 -1
  705. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +26 -2
  706. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  707. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +24 -3
  708. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  709. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts +2 -2
  710. package/lib/esm/appui-react/stagepanels/StagePanelHeader.d.ts.map +1 -1
  711. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js +2 -1
  712. package/lib/esm/appui-react/stagepanels/StagePanelHeader.js.map +1 -1
  713. package/lib/esm/appui-react/statusbar/StatusBar.js +2 -1
  714. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  715. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  716. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +17 -5
  717. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  718. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts +1 -1
  719. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +1 -1
  720. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  721. package/lib/esm/appui-react/statusfields/Indicator.d.ts +15 -14
  722. package/lib/esm/appui-react/statusfields/Indicator.d.ts.map +1 -1
  723. package/lib/esm/appui-react/statusfields/Indicator.js +23 -21
  724. package/lib/esm/appui-react/statusfields/Indicator.js.map +1 -1
  725. package/lib/esm/appui-react/statusfields/Indicator.scss +29 -18
  726. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  727. package/lib/esm/appui-react/statusfields/MessageCenter.js +2 -1
  728. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  729. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +1 -0
  730. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  731. package/lib/esm/appui-react/statusfields/SelectionScope.js +6 -4
  732. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  733. package/lib/esm/appui-react/statusfields/SelectionScope.scss +13 -3
  734. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +2 -10
  735. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  736. package/lib/esm/appui-react/statusfields/SnapMode.js +5 -35
  737. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  738. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -6
  739. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  740. package/lib/esm/appui-react/statusfields/ViewAttributes.js +2 -26
  741. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  742. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +7 -7
  743. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  744. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +14 -13
  745. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  746. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -3
  747. package/lib/esm/appui-react/syncui/BooleanListener.d.ts +2 -2
  748. package/lib/esm/appui-react/syncui/BooleanListener.d.ts.map +1 -1
  749. package/lib/esm/appui-react/syncui/BooleanListener.js +2 -1
  750. package/lib/esm/appui-react/syncui/BooleanListener.js.map +1 -1
  751. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +8 -18
  752. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  753. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +29 -101
  754. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  755. package/lib/esm/appui-react/toolbar/ActionButtonItem.js +2 -1
  756. package/lib/esm/appui-react/toolbar/ActionButtonItem.js.map +1 -1
  757. package/lib/esm/appui-react/toolbar/ActionItemButton.d.ts.map +1 -1
  758. package/lib/esm/appui-react/toolbar/ActionItemButton.js +2 -1
  759. package/lib/esm/appui-react/toolbar/ActionItemButton.js.map +1 -1
  760. package/lib/esm/appui-react/toolbar/GroupButtonItem.js +24 -20
  761. package/lib/esm/appui-react/toolbar/GroupButtonItem.js.map +1 -1
  762. package/lib/esm/appui-react/toolbar/GroupItem.d.ts.map +1 -1
  763. package/lib/esm/appui-react/toolbar/GroupItem.js +33 -29
  764. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  765. package/lib/esm/appui-react/toolbar/ToolButton.js +3 -2
  766. package/lib/esm/appui-react/toolbar/ToolButton.js.map +1 -1
  767. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  768. package/lib/esm/appui-react/toolbar/Toolbar.js +3 -2
  769. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  770. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  771. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +22 -20
  772. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  773. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +1 -1
  774. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +4 -4
  775. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  776. package/lib/esm/appui-react/tools/MarkupToolDefinitions.d.ts +2 -2
  777. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js +2 -2
  778. package/lib/esm/appui-react/tools/MarkupToolDefinitions.js.map +1 -1
  779. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +8 -10
  780. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts.map +1 -1
  781. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +18 -37
  782. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  783. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +7 -9
  784. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts.map +1 -1
  785. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +13 -21
  786. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  787. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +7 -9
  788. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts.map +1 -1
  789. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +40 -51
  790. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  791. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +4 -4
  792. package/lib/{cjs/appui-react/uisettings → esm/appui-react/uistate}/AppUiSettings.d.ts +11 -9
  793. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -0
  794. package/lib/esm/appui-react/{uisettings → uistate}/AppUiSettings.js +13 -9
  795. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -0
  796. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts +15 -0
  797. package/lib/esm/appui-react/uistate/UserSettingsStorage.d.ts.map +1 -0
  798. package/lib/esm/appui-react/uistate/UserSettingsStorage.js +55 -0
  799. package/lib/esm/appui-react/uistate/UserSettingsStorage.js.map +1 -0
  800. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +20 -0
  801. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -0
  802. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -0
  803. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -0
  804. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +5 -5
  805. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts.map +1 -1
  806. package/lib/esm/appui-react/utils/UiShowHideManager.js +9 -9
  807. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  808. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  809. package/lib/esm/appui-react/widget-panels/Content.js +1 -4
  810. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  811. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +98 -8
  812. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  813. package/lib/esm/appui-react/widget-panels/Frontstage.js +83 -92
  814. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  815. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  816. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  817. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +22 -0
  818. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -0
  819. package/lib/esm/appui-react/widgets/BackstageAppButton.js +52 -0
  820. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -0
  821. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  822. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +1 -0
  823. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  824. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  825. package/lib/esm/appui-react/widgets/BasicToolWidget.js +3 -1
  826. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  827. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +9 -0
  828. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  829. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +10 -0
  830. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  831. package/lib/esm/appui-react/widgets/NavigationWidget.d.ts.map +1 -1
  832. package/lib/esm/appui-react/widgets/NavigationWidget.js +2 -1
  833. package/lib/esm/appui-react/widgets/NavigationWidget.js.map +1 -1
  834. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +1 -0
  835. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  836. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +1 -1
  837. package/lib/esm/appui-react/widgets/StableWidgetDef.js +1 -1
  838. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  839. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +2 -1
  840. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  841. package/lib/esm/appui-react/widgets/ToolWidget.js +3 -2
  842. package/lib/esm/appui-react/widgets/ToolWidget.js.map +1 -1
  843. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +0 -12
  844. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts.map +1 -1
  845. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +2 -36
  846. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  847. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts +1 -0
  848. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.d.ts.map +1 -1
  849. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js +5 -2
  850. package/lib/esm/appui-react/widgets/ToolbarWidgetBase.js.map +1 -1
  851. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +0 -1
  852. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  853. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +1 -1
  854. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  855. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -3
  856. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  857. package/lib/esm/appui-react/widgets/WidgetDef.js +18 -7
  858. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  859. package/lib/esm/appui-react/widgets/WidgetHost.d.ts.map +1 -1
  860. package/lib/esm/appui-react/widgets/WidgetHost.js +1 -0
  861. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  862. package/lib/esm/appui-react/widgets/WidgetStack.d.ts.map +1 -1
  863. package/lib/esm/appui-react/widgets/WidgetStack.js +2 -0
  864. package/lib/esm/appui-react/widgets/WidgetStack.js.map +1 -1
  865. package/lib/esm/appui-react/zones/FrameworkZone.js.map +1 -1
  866. package/lib/esm/appui-react/zones/StatusBarZone.js.map +1 -1
  867. package/lib/esm/appui-react/zones/Zone.d.ts +1 -1
  868. package/lib/esm/appui-react/zones/Zone.d.ts.map +1 -1
  869. package/lib/esm/appui-react/zones/Zone.js +2 -1
  870. package/lib/esm/appui-react/zones/Zone.js.map +1 -1
  871. package/lib/esm/appui-react/zones/ZoneDef.d.ts +4 -4
  872. package/lib/esm/appui-react/zones/ZoneDef.d.ts.map +1 -1
  873. package/lib/esm/appui-react/zones/ZoneDef.js +5 -4
  874. package/lib/esm/appui-react/zones/ZoneDef.js.map +1 -1
  875. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts +1 -2
  876. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.d.ts.map +1 -1
  877. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js +2 -1
  878. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsManager.js.map +1 -1
  879. package/lib/esm/appui-react/zones/toolsettings/ToolSettingsZone.js.map +1 -1
  880. package/lib/esm/appui-react.d.ts +15 -18
  881. package/lib/esm/appui-react.d.ts.map +1 -1
  882. package/lib/esm/appui-react.js +15 -18
  883. package/lib/esm/appui-react.js.map +1 -1
  884. package/lib/public/locales/en/UiFramework.json +9 -2
  885. package/package.json +46 -53
  886. package/lib/cjs/appui-react/UserInfo.d.ts +0 -58
  887. package/lib/cjs/appui-react/UserInfo.d.ts.map +0 -1
  888. package/lib/cjs/appui-react/UserInfo.js +0 -34
  889. package/lib/cjs/appui-react/UserInfo.js.map +0 -1
  890. package/lib/cjs/appui-react/content/SavedView.d.ts.map +0 -1
  891. package/lib/cjs/appui-react/content/SavedView.js.map +0 -1
  892. package/lib/cjs/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  893. package/lib/cjs/appui-react/content/SavedViewLayout.js.map +0 -1
  894. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  895. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  896. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js +0 -34
  897. package/lib/cjs/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  898. package/lib/cjs/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  899. package/lib/cjs/appui-react/uisettings/AppUiSettings.js.map +0 -1
  900. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  901. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  902. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js +0 -74
  903. package/lib/cjs/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  904. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts +0 -21
  905. package/lib/cjs/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  906. package/lib/cjs/appui-react/uisettings/useUiSettings.js +0 -28
  907. package/lib/cjs/appui-react/uisettings/useUiSettings.js.map +0 -1
  908. package/lib/esm/appui-react/UserInfo.d.ts +0 -58
  909. package/lib/esm/appui-react/UserInfo.d.ts.map +0 -1
  910. package/lib/esm/appui-react/UserInfo.js +0 -30
  911. package/lib/esm/appui-react/UserInfo.js.map +0 -1
  912. package/lib/esm/appui-react/content/SavedView.d.ts.map +0 -1
  913. package/lib/esm/appui-react/content/SavedView.js.map +0 -1
  914. package/lib/esm/appui-react/content/SavedViewLayout.d.ts.map +0 -1
  915. package/lib/esm/appui-react/content/SavedViewLayout.js.map +0 -1
  916. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts +0 -25
  917. package/lib/esm/appui-react/stagepanels/StagePanelEnums.d.ts.map +0 -1
  918. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js +0 -31
  919. package/lib/esm/appui-react/stagepanels/StagePanelEnums.js.map +0 -1
  920. package/lib/esm/appui-react/uisettings/AppUiSettings.d.ts.map +0 -1
  921. package/lib/esm/appui-react/uisettings/AppUiSettings.js.map +0 -1
  922. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts +0 -23
  923. package/lib/esm/appui-react/uisettings/UserSettingsStorage.d.ts.map +0 -1
  924. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js +0 -68
  925. package/lib/esm/appui-react/uisettings/UserSettingsStorage.js.map +0 -1
  926. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts +0 -21
  927. package/lib/esm/appui-react/uisettings/useUiSettings.d.ts.map +0 -1
  928. package/lib/esm/appui-react/uisettings/useUiSettings.js +0 -23
  929. package/lib/esm/appui-react/uisettings/useUiSettings.js.map +0 -1
@@ -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"}`;
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPalettePanel.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePanel.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\n// cSpell:ignore focusvalue uiadmin\r\n\r\nimport * as React from \"react\";\r\nimport \"./KeyinPalettePanel.scss\";\r\nimport { FilteredText, Listbox, ListboxItem, UiSettingsStatus } from \"@itwin/core-react\";\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, OutputMessageType, ParseAndRunResult } from \"@itwin/core-frontend\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { matchesWords, OnItemExecutedFunc, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { ClearKeyinPaletteHistoryTool } from \"../tools/KeyinPaletteTools\";\r\nimport { useUiSettingsStorageContext } from \"../uisettings/useUiSettings\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\nimport { Input } from \"@itwin/itwinui-react\";\r\n\r\nconst KEYIN_PALETTE_NAMESPACE = \"KeyinPalettePanel\";\r\nconst KEYIN_HISTORY_KEY = \"historyArray\";\r\n\r\n/** @internal */\r\nexport function clearKeyinPaletteHistory() {\r\n const uiSettingsStorage = UiFramework.getUiSettingsStorage();\r\n // istanbul ignore else\r\n if (uiSettingsStorage) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n uiSettingsStorage.deleteSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY);\r\n }\r\n}\r\n\r\ninterface KeyinPalettePanelProps {\r\n keyins: KeyinEntry[];\r\n onKeyinExecuted?: OnItemExecutedFunc;\r\n historyLength?: number;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allowedHistoryLength = 6 }: KeyinPalettePanelProps) {\r\n const [currentKeyin, setCurrentKeyin] = React.useState<string>(\"\");\r\n const placeholderLabel = React.useRef(UiFramework.translate(\"keyinbrowser.placeholder\"));\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const keyinSeparator = \"--#--\";\r\n const [historyKeyins, setHistoryKeyins] = React.useState<string[]>([]);\r\n const uiSettingsStorage = useUiSettingsStorageContext();\r\n\r\n React.useEffect(() => {\r\n async function fetchState() {\r\n const settingsResult = await uiSettingsStorage.getSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY);\r\n // istanbul ignore else\r\n if (UiSettingsStatus.Success === settingsResult.status) {\r\n const filteredHistory = (settingsResult.setting as string[]).filter((keyin) => {\r\n const result = IModelApp.tools.parseKeyin(keyin);\r\n return result.ok;\r\n });\r\n setHistoryKeyins(filteredHistory);\r\n } else {\r\n setHistoryKeyins([]);\r\n }\r\n }\r\n\r\n fetchState(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }, [uiSettingsStorage]);\r\n\r\n // istanbul ignore next\r\n const storeHistoryKeyins = React.useCallback(async (value: string[]) => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n const result = await uiSettingsStorage.saveSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY, value);\r\n if (result.status !== UiSettingsStatus.Success) {\r\n const briefMessage = UiFramework.translate(\"keyinbrowser.couldNotSaveHistory\");\r\n const errorDetails = new NotifyMessageDetails(OutputMessagePriority.Error, briefMessage);\r\n IModelApp.notifications.outputMessage(errorDetails);\r\n }\r\n }, [uiSettingsStorage]);\r\n\r\n const allKeyins = React.useMemo(() => {\r\n const availableKeyins = [];\r\n historyKeyins.forEach((value: string) => {\r\n availableKeyins.push({ value, isHistory: true });\r\n });\r\n availableKeyins.push(...keyins.sort((a, b) => a.value.toLowerCase().localeCompare(b.value.toLowerCase())));\r\n return availableKeyins;\r\n }, [historyKeyins, keyins]);\r\n\r\n const submitKeyin = React.useCallback(async (value: string) => {\r\n let detailedMessage: string | undefined;\r\n let message: string | undefined;\r\n try {\r\n switch (await IModelApp.tools.parseAndRun(value)) {\r\n case ParseAndRunResult.ToolNotFound:\r\n message = `UiFramework.translate(\"keyinbrowser.couldNotFindTool\")} ${value}`;\r\n break;\r\n // istanbul ignore next\r\n case ParseAndRunResult.BadArgumentCount:\r\n message = UiFramework.translate(\"keyinbrowser.incorrectArgs\");\r\n break;\r\n // istanbul ignore next\r\n case ParseAndRunResult.FailedToRun:\r\n message = UiFramework.translate(\"keyinbrowser.failedToRun\");\r\n break;\r\n }\r\n } catch (ex) {\r\n // istanbul ignore next\r\n {\r\n message = UiFramework.translate(\"keyinbrowser.exceptionOccurred\");\r\n detailedMessage = `${UiFramework.translate(\"keyinbrowser.exceptionOccurred\")}: ${ex}`;\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (undefined !== message) {\r\n const errorDetails = new NotifyMessageDetails(OutputMessagePriority.Error, message, detailedMessage, OutputMessageType.Sticky);\r\n IModelApp.notifications.outputMessage(errorDetails);\r\n } else {\r\n // istanbul ignore next\r\n if (value.length < 400 && value !== ClearKeyinPaletteHistoryTool.keyin && value !== ClearKeyinPaletteHistoryTool.englishKeyin) {\r\n const newHistoryEntries: string[] = [value];\r\n for (const entry of historyKeyins) {\r\n if (entry !== value) {\r\n newHistoryEntries.push(entry);\r\n if (newHistoryEntries.length >= allowedHistoryLength)\r\n break;\r\n }\r\n }\r\n await storeHistoryKeyins(newHistoryEntries);\r\n }\r\n\r\n // close the popup by processing the supplied onKeyinExecuted function\r\n if (onKeyinExecuted)\r\n onKeyinExecuted(value);\r\n }\r\n }, [storeHistoryKeyins, onKeyinExecuted, historyKeyins, allowedHistoryLength]);\r\n\r\n const selectKeyin = React.useCallback(() => {\r\n // istanbul ignore else\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\r\n }\r\n }, [inputRef]);\r\n\r\n const updateKeyin = React.useCallback((value: string) => {\r\n setCurrentKeyin(value);\r\n selectKeyin();\r\n }, [selectKeyin]);\r\n\r\n const getKeyinFromListboxValue = (value: string | undefined) => {\r\n // istanbul ignore else\r\n if (value) {\r\n const indexSeparator = value.search(keyinSeparator);\r\n // istanbul ignore else\r\n if (indexSeparator)\r\n return value.substr(0, indexSeparator);\r\n }\r\n // istanbul ignore next\r\n return undefined;\r\n };\r\n\r\n const handleKeypressOnKeyinsList = React.useCallback(async (event: React.KeyboardEvent<HTMLUListElement>) => {\r\n const key = event.key;\r\n // built into listbox a \"Space\" key will trigger the selection of a entry so if an Enter key is pressed\r\n // assume user wants to execute the entry.\r\n // istanbul ignore else\r\n if (key === SpecialKey.Enter) {\r\n event.preventDefault();\r\n // istanbul ignore next\r\n const keyinToSend = getKeyinFromListboxValue(event.currentTarget?.dataset?.focusvalue);\r\n // istanbul ignore else\r\n if (keyinToSend) {\r\n if (event.ctrlKey)\r\n updateKeyin(keyinToSend);\r\n else\r\n await submitKeyin(keyinToSend);\r\n }\r\n }\r\n }, [submitKeyin, updateKeyin]);\r\n\r\n const onListboxValueChange = React.useCallback(async (value: string, isControlOrCommandPressed?: boolean) => {\r\n const keyin = getKeyinFromListboxValue(value);\r\n // istanbul ignore else\r\n if (keyin) {\r\n if (isControlOrCommandPressed)\r\n updateKeyin(keyin);\r\n else\r\n await submitKeyin(keyin);\r\n }\r\n }, [submitKeyin, updateKeyin]);\r\n\r\n const onInputValueChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\r\n setCurrentKeyin(event.target.value);\r\n }, []);\r\n\r\n const filteredKeyins = React.useMemo(() => {\r\n const filteredHistory: KeyinEntry[] = [];\r\n if (undefined === currentKeyin || 0 === currentKeyin.length) {\r\n return allKeyins;\r\n } else {\r\n const newKeyinSet: KeyinEntry[] = [];\r\n allKeyins.forEach((value) => {\r\n const matches = matchesWords(currentKeyin, value.value);\r\n if (matches && matches.length) {\r\n // istanbul ignore else\r\n if (value.isHistory) {\r\n filteredHistory.push(value);\r\n newKeyinSet.push({ ...value, matches });\r\n } else {\r\n // only add entry if no match in filtered history\r\n // istanbul ignore else\r\n if (-1 === filteredHistory.findIndex((historyEntry: KeyinEntry) => historyEntry.value === value.value))\r\n newKeyinSet.push({ ...value, matches });\r\n }\r\n }\r\n });\r\n return newKeyinSet;\r\n }\r\n }, [allKeyins, currentKeyin]);\r\n\r\n const onInputValueKeyDown = React.useCallback(async (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (SpecialKey.Enter === event.key) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // istanbul ignore else\r\n if (1 === filteredKeyins.length) {\r\n if (event.ctrlKey)\r\n updateKeyin(filteredKeyins[0].value);\r\n else\r\n await submitKeyin(filteredKeyins[0].value);\r\n } else {\r\n if (currentKeyin)\r\n await submitKeyin(currentKeyin);\r\n }\r\n } else if (SpecialKey.Tab === event.key && 1 === filteredKeyins.length) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n updateKeyin(filteredKeyins[0].value);\r\n } else {\r\n if (event.key === SpecialKey.ArrowDown && filteredKeyins.length > 0) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // istanbul ignore else\r\n if (inputRef.current) {\r\n const nextElement = inputRef.current.nextElementSibling as HTMLElement;\r\n nextElement && nextElement.focus();\r\n }\r\n }\r\n }\r\n\r\n }, [filteredKeyins, submitKeyin, currentKeyin, updateKeyin]);\r\n\r\n const lastHistoryIndex = filteredKeyins.findIndex((entry) => (true !== entry.isHistory)) - 1;\r\n\r\n return <div className=\"uifw-command-palette-panel\">\r\n <Input ref={inputRef} type=\"text\" onKeyDown={onInputValueKeyDown}\r\n className={\"uifw-command-palette-input\"} data-testid=\"command-palette-input\" onChange={onInputValueChange}\r\n placeholder={placeholderLabel.current} value={currentKeyin}\r\n />\r\n {(filteredKeyins.length > 0) &&\r\n <Listbox id=\"uifw-command-sources\" className=\"map-manager-source-list\" onKeyPress={handleKeypressOnKeyinsList}\r\n onListboxValueChange={onListboxValueChange} >\r\n {\r\n filteredKeyins.map((entry, index) => {\r\n const value = `${entry.value}${keyinSeparator}${entry.isHistory ? \"history\" : \"registry\"}`;\r\n const itemClass = `uifw-command-palette-value-entry${index === lastHistoryIndex ? \" uifw-history-bottom-border\" : \"\"}`;\r\n return <ListboxItem key={`${entry.value}-${index}`} className={itemClass} value={value} >\r\n <FilteredText value={entry.value} matches={entry.matches} />\r\n </ListboxItem>;\r\n })\r\n }\r\n </Listbox >\r\n }\r\n </div >;\r\n}\r\n"]}
1
+ {"version":3,"file":"KeyinPalettePanel.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePanel.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\n// cSpell:ignore focusvalue uiadmin\r\n\r\nimport * as React from \"react\";\r\nimport \"./KeyinPalettePanel.scss\";\r\nimport { FilteredText, Listbox, ListboxItem, UiStateStorageStatus } from \"@itwin/core-react\";\r\nimport { IModelApp, NotifyMessageDetails, OutputMessagePriority, OutputMessageType, ParseAndRunResult } from \"@itwin/core-frontend\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { matchesWords, OnItemExecutedFunc, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { ClearKeyinPaletteHistoryTool } from \"../tools/KeyinPaletteTools\";\r\nimport { useUiStateStorageHandler } from \"../uistate/useUiStateStorage\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\nimport { Input } from \"@itwin/itwinui-react\";\r\n\r\nconst KEYIN_PALETTE_NAMESPACE = \"KeyinPalettePanel\";\r\nconst KEYIN_HISTORY_KEY = \"historyArray\";\r\n\r\n/** @internal */\r\nexport function clearKeyinPaletteHistory() {\r\n const uiSettingsStorage = UiFramework.getUiStateStorage();\r\n // istanbul ignore else\r\n if (uiSettingsStorage) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n uiSettingsStorage.deleteSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY);\r\n }\r\n}\r\n\r\ninterface KeyinPalettePanelProps {\r\n keyins: KeyinEntry[];\r\n onKeyinExecuted?: OnItemExecutedFunc;\r\n historyLength?: number;\r\n}\r\n\r\n/**\r\n * @internal\r\n */\r\nexport function KeyinPalettePanel({ keyins, onKeyinExecuted, historyLength: allowedHistoryLength = 6 }: KeyinPalettePanelProps) {\r\n const [currentKeyin, setCurrentKeyin] = React.useState<string>(\"\");\r\n const placeholderLabel = React.useRef(UiFramework.translate(\"keyinbrowser.placeholder\"));\r\n const inputRef = React.useRef<HTMLInputElement>(null);\r\n const keyinSeparator = \"--#--\";\r\n const [historyKeyins, setHistoryKeyins] = React.useState<string[]>([]);\r\n const uiSettingsStorage = useUiStateStorageHandler();\r\n\r\n React.useEffect(() => {\r\n async function fetchState() {\r\n const settingsResult = await uiSettingsStorage.getSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY);\r\n // istanbul ignore else\r\n if (UiStateStorageStatus.Success === settingsResult.status) {\r\n const filteredHistory = (settingsResult.setting as string[]).filter((keyin) => {\r\n const result = IModelApp.tools.parseKeyin(keyin);\r\n return result.ok;\r\n });\r\n setHistoryKeyins(filteredHistory);\r\n } else {\r\n setHistoryKeyins([]);\r\n }\r\n }\r\n\r\n fetchState(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }, [uiSettingsStorage]);\r\n\r\n // istanbul ignore next\r\n const storeHistoryKeyins = React.useCallback(async (value: string[]) => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n const result = await uiSettingsStorage.saveSetting(KEYIN_PALETTE_NAMESPACE, KEYIN_HISTORY_KEY, value);\r\n if (result.status !== UiStateStorageStatus.Success) {\r\n const briefMessage = UiFramework.translate(\"keyinbrowser.couldNotSaveHistory\");\r\n const errorDetails = new NotifyMessageDetails(OutputMessagePriority.Error, briefMessage);\r\n IModelApp.notifications.outputMessage(errorDetails);\r\n }\r\n }, [uiSettingsStorage]);\r\n\r\n const allKeyins = React.useMemo(() => {\r\n const availableKeyins = [];\r\n historyKeyins.forEach((value: string) => {\r\n availableKeyins.push({ value, isHistory: true });\r\n });\r\n availableKeyins.push(...keyins.sort((a, b) => a.value.toLowerCase().localeCompare(b.value.toLowerCase())));\r\n return availableKeyins;\r\n }, [historyKeyins, keyins]);\r\n\r\n const submitKeyin = React.useCallback(async (value: string) => {\r\n let detailedMessage: string | undefined;\r\n let message: string | undefined;\r\n try {\r\n switch (await IModelApp.tools.parseAndRun(value)) {\r\n case ParseAndRunResult.ToolNotFound:\r\n message = `UiFramework.translate(\"keyinbrowser.couldNotFindTool\")} ${value}`;\r\n break;\r\n // istanbul ignore next\r\n case ParseAndRunResult.BadArgumentCount:\r\n message = UiFramework.translate(\"keyinbrowser.incorrectArgs\");\r\n break;\r\n // istanbul ignore next\r\n case ParseAndRunResult.FailedToRun:\r\n message = UiFramework.translate(\"keyinbrowser.failedToRun\");\r\n break;\r\n }\r\n } catch (ex) {\r\n // istanbul ignore next\r\n {\r\n message = UiFramework.translate(\"keyinbrowser.exceptionOccurred\");\r\n detailedMessage = `${UiFramework.translate(\"keyinbrowser.exceptionOccurred\")}: ${ex}`;\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (undefined !== message) {\r\n const errorDetails = new NotifyMessageDetails(OutputMessagePriority.Error, message, detailedMessage, OutputMessageType.Sticky);\r\n IModelApp.notifications.outputMessage(errorDetails);\r\n } else {\r\n // istanbul ignore next\r\n if (value.length < 400 && value !== ClearKeyinPaletteHistoryTool.keyin && value !== ClearKeyinPaletteHistoryTool.englishKeyin) {\r\n const newHistoryEntries: string[] = [value];\r\n for (const entry of historyKeyins) {\r\n if (entry !== value) {\r\n newHistoryEntries.push(entry);\r\n if (newHistoryEntries.length >= allowedHistoryLength)\r\n break;\r\n }\r\n }\r\n await storeHistoryKeyins(newHistoryEntries);\r\n }\r\n\r\n // close the popup by processing the supplied onKeyinExecuted function\r\n if (onKeyinExecuted)\r\n onKeyinExecuted(value);\r\n }\r\n }, [storeHistoryKeyins, onKeyinExecuted, historyKeyins, allowedHistoryLength]);\r\n\r\n const selectKeyin = React.useCallback(() => {\r\n // istanbul ignore else\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\r\n }\r\n }, [inputRef]);\r\n\r\n const updateKeyin = React.useCallback((value: string) => {\r\n setCurrentKeyin(value);\r\n selectKeyin();\r\n }, [selectKeyin]);\r\n\r\n const getKeyinFromListboxValue = (value: string | undefined) => {\r\n // istanbul ignore else\r\n if (value) {\r\n const indexSeparator = value.search(keyinSeparator);\r\n // istanbul ignore else\r\n if (indexSeparator)\r\n return value.substr(0, indexSeparator);\r\n }\r\n // istanbul ignore next\r\n return undefined;\r\n };\r\n\r\n const handleKeypressOnKeyinsList = React.useCallback(async (event: React.KeyboardEvent<HTMLUListElement>) => {\r\n const key = event.key;\r\n // built into listbox a \"Space\" key will trigger the selection of a entry so if an Enter key is pressed\r\n // assume user wants to execute the entry.\r\n // istanbul ignore else\r\n if (key === SpecialKey.Enter) {\r\n event.preventDefault();\r\n // istanbul ignore next\r\n const keyinToSend = getKeyinFromListboxValue(event.currentTarget?.dataset?.focusvalue);\r\n // istanbul ignore else\r\n if (keyinToSend) {\r\n if (event.ctrlKey)\r\n updateKeyin(keyinToSend);\r\n else\r\n await submitKeyin(keyinToSend);\r\n }\r\n }\r\n }, [submitKeyin, updateKeyin]);\r\n\r\n const onListboxValueChange = React.useCallback(async (value: string, isControlOrCommandPressed?: boolean) => {\r\n const keyin = getKeyinFromListboxValue(value);\r\n // istanbul ignore else\r\n if (keyin) {\r\n if (isControlOrCommandPressed)\r\n updateKeyin(keyin);\r\n else\r\n await submitKeyin(keyin);\r\n }\r\n }, [submitKeyin, updateKeyin]);\r\n\r\n const onInputValueChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\r\n setCurrentKeyin(event.target.value);\r\n }, []);\r\n\r\n const filteredKeyins = React.useMemo(() => {\r\n const filteredHistory: KeyinEntry[] = [];\r\n if (undefined === currentKeyin || 0 === currentKeyin.length) {\r\n return allKeyins;\r\n } else {\r\n const newKeyinSet: KeyinEntry[] = [];\r\n allKeyins.forEach((value) => {\r\n const matches = matchesWords(currentKeyin, value.value);\r\n if (matches && matches.length) {\r\n // istanbul ignore else\r\n if (value.isHistory) {\r\n filteredHistory.push(value);\r\n newKeyinSet.push({ ...value, matches });\r\n } else {\r\n // only add entry if no match in filtered history\r\n // istanbul ignore else\r\n if (-1 === filteredHistory.findIndex((historyEntry: KeyinEntry) => historyEntry.value === value.value))\r\n newKeyinSet.push({ ...value, matches });\r\n }\r\n }\r\n });\r\n return newKeyinSet;\r\n }\r\n }, [allKeyins, currentKeyin]);\r\n\r\n const onInputValueKeyDown = React.useCallback(async (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (SpecialKey.Enter === event.key) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // istanbul ignore else\r\n if (1 === filteredKeyins.length) {\r\n if (event.ctrlKey)\r\n updateKeyin(filteredKeyins[0].value);\r\n else\r\n await submitKeyin(filteredKeyins[0].value);\r\n } else {\r\n if (currentKeyin)\r\n await submitKeyin(currentKeyin);\r\n }\r\n } else if (SpecialKey.Tab === event.key && 1 === filteredKeyins.length) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n updateKeyin(filteredKeyins[0].value);\r\n } else {\r\n if (event.key === SpecialKey.ArrowDown && filteredKeyins.length > 0) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // istanbul ignore else\r\n if (inputRef.current) {\r\n const nextElement = inputRef.current.nextElementSibling as HTMLElement;\r\n nextElement && nextElement.focus();\r\n }\r\n }\r\n }\r\n\r\n }, [filteredKeyins, submitKeyin, currentKeyin, updateKeyin]);\r\n\r\n const lastHistoryIndex = filteredKeyins.findIndex((entry) => (true !== entry.isHistory)) - 1;\r\n\r\n return <div className=\"uifw-command-palette-panel\">\r\n <Input ref={inputRef} type=\"text\" onKeyDown={onInputValueKeyDown}\r\n className={\"uifw-command-palette-input\"} data-testid=\"command-palette-input\" onChange={onInputValueChange}\r\n placeholder={placeholderLabel.current} value={currentKeyin} size=\"small\"\r\n />\r\n {(filteredKeyins.length > 0) &&\r\n <Listbox id=\"uifw-command-sources\" className=\"map-manager-source-list\" onKeyPress={handleKeypressOnKeyinsList}\r\n onListboxValueChange={onListboxValueChange} >\r\n {\r\n filteredKeyins.map((entry, index) => {\r\n const value = `${entry.value}${keyinSeparator}${entry.isHistory ? \"history\" : \"registry\"}`;\r\n const itemClass = `uifw-command-palette-value-entry${index === lastHistoryIndex ? \" uifw-history-bottom-border\" : \"\"}`;\r\n return <ListboxItem key={`${entry.value}-${index}`} className={itemClass} value={value} >\r\n <FilteredText value={entry.value} matches={entry.matches} />\r\n </ListboxItem>;\r\n })\r\n }\r\n </Listbox >\r\n }\r\n </div >;\r\n}\r\n"]}
@@ -4,7 +4,8 @@
4
4
  /// <reference types="react" />
5
5
  import { OnCancelFunc, OnItemExecutedFunc } from "@itwin/appui-abstract";
6
6
  import { KeyinEntry } from "../uiadmin/FrameworkUiAdmin";
7
- /** @alpha */
7
+ /** Props defining KeyinPalettePopup component
8
+ * @public */
8
9
  export interface KeyinPalettePopupProps {
9
10
  id: string;
10
11
  el: HTMLElement;
@@ -13,7 +14,7 @@ export interface KeyinPalettePopupProps {
13
14
  onItemExecuted?: OnItemExecutedFunc;
14
15
  }
15
16
  /** Keyin Palette Popup Component
16
- * @alpha
17
+ * @public
17
18
  */
18
19
  export declare function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted }: KeyinPalettePopupProps): JSX.Element;
19
20
  //# sourceMappingURL=KeyinPalettePopup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPalettePopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAc,MAAM,uBAAuB,CAAC;AAIrF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,aAAa;AACb,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,sBAAsB,eAyCrG"}
1
+ {"version":3,"file":"KeyinPalettePopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAc,MAAM,uBAAuB,CAAC;AAIrF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD;aACa;AACb,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,sBAAsB,eAyCrG"}
@@ -14,7 +14,7 @@ const core_react_1 = require("@itwin/core-react");
14
14
  const PositionPopup_1 = require("./PositionPopup");
15
15
  const KeyinPalettePanel_1 = require("./KeyinPalettePanel");
16
16
  /** Keyin Palette Popup Component
17
- * @alpha
17
+ * @public
18
18
  */
19
19
  function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted }) {
20
20
  const [popupSize, setPopupSize] = React.useState(new core_react_1.Size(-1, -1));
@@ -1 +1 @@
1
- {"version":3,"file":"KeyinPalettePopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAAqF;AACrF,kDAA2F;AAC3F,mDAAgD;AAChD,2DAAwD;AAYxD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAA0B;IACpG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,OAAkB,EAAE,EAAE;QAC3D,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5B,YAAY,CAAC,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA0C,EAAQ,EAAE;QAC3F,QAAQ,KAAK,CAAC,GAAG,EAAE;YACjB,KAAK,2BAAU,CAAC,MAAM;gBACpB,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;SACT;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;IACpF,IAAI,KAAK,GAAG,IAAI,kBAAK,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,uBAAuB;IACvB,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC;QACrB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,OAAO,CACL,oBAAC,6BAAa,IAAC,GAAG,EAAE,EAAE,EACpB,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;QAExB,oBAAC,gCAAmB,IAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa;YACrE,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;gBACpD,oBAAC,qCAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,GAAI,CAC5D,CACQ,CACR,CACjB,CAAC;AACJ,CAAC;AAzCD,8CAyCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnCancelFunc, OnItemExecutedFunc, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { KeyinPalettePanel } from \"./KeyinPalettePanel\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\n\r\n/** @alpha */\r\nexport interface KeyinPalettePopupProps {\r\n id: string;\r\n el: HTMLElement;\r\n keyins: KeyinEntry[];\r\n onCancel?: OnCancelFunc;\r\n onItemExecuted?: OnItemExecutedFunc;\r\n}\r\n\r\n/** Keyin Palette Popup Component\r\n * @alpha\r\n */\r\nexport function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted }: KeyinPalettePopupProps) {\r\n const [popupSize, setPopupSize] = React.useState(new Size(-1, -1));\r\n\r\n const onSizeKnown = React.useCallback((newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!popupSize.equals(newSize))\r\n setPopupSize(Size.create(newSize));\r\n }, [popupSize]);\r\n\r\n const cancel = React.useCallback(() => {\r\n onCancel && onCancel();\r\n }, [onCancel]);\r\n\r\n const handleKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n cancel();\r\n event.preventDefault();\r\n break;\r\n }\r\n }, [cancel]);\r\n\r\n const xMid = el.getBoundingClientRect().left + el.getBoundingClientRect().width / 2;\r\n let point = new Point(xMid, el.getBoundingClientRect().top);\r\n // istanbul ignore next\r\n if (popupSize.width > 0)\r\n point = point.offsetX(popupSize.width / (-2));\r\n\r\n return (\r\n <PositionPopup key={id}\r\n className=\"uifw-command-palette-popup-container\"\r\n point={point}\r\n onSizeKnown={onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={onCancel} onKeyDown={handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <KeyinPalettePanel keyins={keyins} onKeyinExecuted={onItemExecuted} />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"KeyinPalettePopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/KeyinPalettePopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAAqF;AACrF,kDAA2F;AAC3F,mDAAgD;AAChD,2DAAwD;AAaxD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAA0B;IACpG,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,OAAkB,EAAE,EAAE;QAC3D,uBAAuB;QACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5B,YAAY,CAAC,iBAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpC,QAAQ,IAAI,QAAQ,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA0C,EAAQ,EAAE;QAC3F,QAAQ,KAAK,CAAC,GAAG,EAAE;YACjB,KAAK,2BAAU,CAAC,MAAM;gBACpB,MAAM,EAAE,CAAC;gBACT,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM;SACT;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;IACpF,IAAI,KAAK,GAAG,IAAI,kBAAK,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,uBAAuB;IACvB,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC;QACrB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhD,OAAO,CACL,oBAAC,6BAAa,IAAC,GAAG,EAAE,EAAE,EACpB,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;QAExB,oBAAC,gCAAmB,IAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa;YACrE,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI;gBACpD,oBAAC,qCAAiB,IAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,GAAI,CAC5D,CACQ,CACR,CACjB,CAAC;AACJ,CAAC;AAzCD,8CAyCC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { OnCancelFunc, OnItemExecutedFunc, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { PositionPopup } from \"./PositionPopup\";\r\nimport { KeyinPalettePanel } from \"./KeyinPalettePanel\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\n\r\n/** Props defining KeyinPalettePopup component\r\n * @public */\r\nexport interface KeyinPalettePopupProps {\r\n id: string;\r\n el: HTMLElement;\r\n keyins: KeyinEntry[];\r\n onCancel?: OnCancelFunc;\r\n onItemExecuted?: OnItemExecutedFunc;\r\n}\r\n\r\n/** Keyin Palette Popup Component\r\n * @public\r\n */\r\nexport function KeyinPalettePopup({ el, id, keyins, onCancel, onItemExecuted }: KeyinPalettePopupProps) {\r\n const [popupSize, setPopupSize] = React.useState(new Size(-1, -1));\r\n\r\n const onSizeKnown = React.useCallback((newSize: SizeProps) => {\r\n // istanbul ignore else\r\n if (!popupSize.equals(newSize))\r\n setPopupSize(Size.create(newSize));\r\n }, [popupSize]);\r\n\r\n const cancel = React.useCallback(() => {\r\n onCancel && onCancel();\r\n }, [onCancel]);\r\n\r\n const handleKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLDivElement>): void => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n cancel();\r\n event.preventDefault();\r\n break;\r\n }\r\n }, [cancel]);\r\n\r\n const xMid = el.getBoundingClientRect().left + el.getBoundingClientRect().width / 2;\r\n let point = new Point(xMid, el.getBoundingClientRect().top);\r\n // istanbul ignore next\r\n if (popupSize.width > 0)\r\n point = point.offsetX(popupSize.width / (-2));\r\n\r\n return (\r\n <PositionPopup key={id}\r\n className=\"uifw-command-palette-popup-container\"\r\n point={point}\r\n onSizeKnown={onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={onCancel} onKeyDown={handleKeyDown}>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n <KeyinPalettePanel keyins={keyins} onKeyinExecuted={onItemExecuted} />\r\n </FocusTrap>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n}\r\n"]}
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import * as React from "react";
5
5
  import { XAndY } from "@itwin/core-geometry";
6
- import { AbstractToolbarProps, DialogLayoutDataProvider, OnCancelFunc, OnItemExecutedFunc, OnValueCommitFunc, Primitives, PropertyDescription, PropertyRecord, RelativePosition } from "@itwin/appui-abstract";
7
- import { Point, SizeProps, UiEvent } from "@itwin/core-react";
6
+ import { AbstractToolbarProps, DialogLayoutDataProvider, OnCancelFunc, OnItemExecutedFunc, OnValueCommitFunc, Primitives, PropertyDescription, PropertyRecord, RelativePosition, UiEvent } from "@itwin/appui-abstract";
7
+ import { Point, SizeProps } from "@itwin/core-react";
8
8
  import { KeyinEntry } from "../uiadmin/FrameworkUiAdmin";
9
9
  /** Information maintained by PopupManager about a Popup
10
- * @alpha
10
+ * @public
11
11
  */
12
12
  export interface PopupInfo {
13
13
  id: string;
@@ -15,17 +15,17 @@ export interface PopupInfo {
15
15
  component: React.ReactNode;
16
16
  parentDocument: Document;
17
17
  }
18
- /** @alpha */
18
+ /** @public */
19
19
  export interface PopupsChangedEventArgs {
20
20
  popups: ReadonlyArray<PopupInfo>;
21
21
  }
22
22
  /** Popups Changed Event class.
23
- * @alpha
23
+ * @public
24
24
  */
25
25
  export declare class PopupsChangedEvent extends UiEvent<PopupsChangedEventArgs> {
26
26
  }
27
27
  /** Props for each popup managed by the PopupManager
28
- * @alpha
28
+ * @public
29
29
  */
30
30
  export interface PopupPropsBase {
31
31
  id: string;
@@ -34,13 +34,13 @@ export interface PopupPropsBase {
34
34
  offset: XAndY;
35
35
  }
36
36
  /** Describes React based content
37
- * @alpha
37
+ * @public
38
38
  */
39
39
  export interface ReactContent {
40
40
  reactNode: React.ReactNode;
41
41
  }
42
42
  /** Type for Popup Content
43
- * @alpha
43
+ * @public
44
44
  */
45
45
  export declare type PopupContentType = HTMLElement | ReactContent;
46
46
  /** ReactContent type guard.
@@ -48,7 +48,7 @@ export declare type PopupContentType = HTMLElement | ReactContent;
48
48
  */
49
49
  export declare const isReactContent: (content: PopupContentType) => content is ReactContent;
50
50
  /** Popup Manager class
51
- * @alpha
51
+ * @public
52
52
  */
53
53
  export declare class PopupManager {
54
54
  private static _popups;
@@ -91,7 +91,7 @@ interface PopupRendererState {
91
91
  popups: ReadonlyArray<PopupInfo>;
92
92
  }
93
93
  /** Popup Renderer
94
- * @alpha
94
+ * @public
95
95
  */
96
96
  export declare class PopupRenderer extends React.Component<{}, PopupRendererState> {
97
97
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PopupManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"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"}
@@ -21,9 +21,9 @@ const KeyinPalettePopup_1 = require("./KeyinPalettePopup");
21
21
  const ToolbarPopup_1 = require("./ToolbarPopup");
22
22
  const ToolSettingsPopup_1 = require("./ToolSettingsPopup");
23
23
  /** Popups Changed Event class.
24
- * @alpha
24
+ * @public
25
25
  */
26
- class PopupsChangedEvent extends core_react_1.UiEvent {
26
+ class PopupsChangedEvent extends appui_abstract_1.UiEvent {
27
27
  }
28
28
  exports.PopupsChangedEvent = PopupsChangedEvent;
29
29
  /** ReactContent type guard.
@@ -34,7 +34,7 @@ const isReactContent = (content) => {
34
34
  };
35
35
  exports.isReactContent = isReactContent;
36
36
  /** Popup Manager class
37
- * @alpha
37
+ * @public
38
38
  */
39
39
  class PopupManager {
40
40
  static get popupCount() { return this._popups.length; }
@@ -195,7 +195,7 @@ PopupManager._keyPalettePopupId = "KeyinPalette";
195
195
  PopupManager._defaultOffset = { x: 8, y: 8 };
196
196
  PopupManager.onPopupsChangedEvent = new PopupsChangedEvent();
197
197
  /** Popup Renderer
198
- * @alpha
198
+ * @public
199
199
  */
200
200
  class PopupRenderer extends React.Component {
201
201
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport {\r\n AbstractToolbarProps, DialogLayoutDataProvider, OnCancelFunc, OnItemExecutedFunc, OnValueCommitFunc, Primitives, PrimitiveValue,\r\n PropertyDescription, PropertyRecord, PropertyValueFormat, RelativePosition,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation, Point, Rectangle, SizeProps, UiEvent } from \"@itwin/core-react\";\r\nimport { offsetAndContainInContainer } from \"@itwin/appui-layout-react\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { CardPopup } from \"./CardPopup\";\r\nimport { HTMLElementPopup } from \"./HTMLElementPopup\";\r\nimport { InputEditorCommitHandler, InputEditorPopup } from \"./InputEditorPopup\";\r\nimport { KeyinPalettePopup } from \"./KeyinPalettePopup\";\r\nimport { ToolbarPopup } from \"./ToolbarPopup\";\r\nimport { ToolSettingsPopup } from \"./ToolSettingsPopup\";\r\n\r\n// cSpell:ignore uiadmin\r\n\r\n/** Information maintained by PopupManager about a Popup\r\n * @alpha\r\n */\r\nexport interface PopupInfo {\r\n id: string;\r\n pt: XAndY;\r\n component: React.ReactNode;\r\n parentDocument: Document;\r\n}\r\n\r\n/** @alpha */\r\nexport interface PopupsChangedEventArgs {\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popups Changed Event class.\r\n * @alpha\r\n */\r\nexport class PopupsChangedEvent extends UiEvent<PopupsChangedEventArgs> { }\r\n\r\n/** Props for each popup managed by the PopupManager\r\n * @alpha\r\n */\r\nexport interface PopupPropsBase {\r\n id: string;\r\n el: HTMLElement;\r\n pt: XAndY;\r\n offset: XAndY;\r\n}\r\n\r\n/** Describes React based content\r\n * @alpha\r\n */\r\nexport interface ReactContent {\r\n reactNode: React.ReactNode;\r\n}\r\n\r\n/** Type for Popup Content\r\n * @alpha\r\n */\r\nexport type PopupContentType = HTMLElement | ReactContent;\r\n\r\n/** ReactContent type guard.\r\n * @internal\r\n */\r\nexport const isReactContent = (content: PopupContentType): content is ReactContent => {\r\n return (content as ReactContent).reactNode !== undefined;\r\n};\r\n\r\n/** Popup Manager class\r\n * @alpha\r\n */\r\nexport class PopupManager {\r\n private static _popups: ReadonlyArray<PopupInfo> = [];\r\n private static _editorId = \"InputEditor\";\r\n private static _toolbarId = \"Toolbar\";\r\n private static _htmlElementId = \"HTMLElement\";\r\n private static _cardId = \"Card\";\r\n private static _toolSettingsId = \"ToolSettings\";\r\n private static _keyPalettePopupId = \"KeyinPalette\";\r\n\r\n private static _defaultOffset = { x: 8, y: 8 };\r\n\r\n public static readonly onPopupsChangedEvent = new PopupsChangedEvent();\r\n\r\n public static get popupCount() { return this._popups.length; }\r\n public static get popups() { return this._popups; }\r\n\r\n public static set popups(popups: ReadonlyArray<PopupInfo>) {\r\n // istanbul ignore if\r\n if (this._popups === popups)\r\n return;\r\n this._popups = popups;\r\n this.onPopupsChangedEvent.emit({ popups });\r\n }\r\n\r\n /** @internal */\r\n public static clearPopups() {\r\n this.popups = [];\r\n }\r\n\r\n private static addPopup(popupInfo: PopupInfo): void {\r\n const popups = [\r\n ...PopupManager._popups,\r\n popupInfo,\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n private static updatePopup(popupInfo: PopupInfo, itemIndex: number): void {\r\n // istanbul ignore if\r\n if (itemIndex < 0)\r\n return;\r\n\r\n const popups = [\r\n ...PopupManager._popups.slice(0, itemIndex),\r\n popupInfo,\r\n ...PopupManager._popups.slice(itemIndex + 1),\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n public static addOrUpdatePopup(popupInfo: PopupInfo): void {\r\n const itemIndex = PopupManager._popups.findIndex((info: PopupInfo) => info.id === popupInfo.id);\r\n if (itemIndex >= 0)\r\n PopupManager.updatePopup(popupInfo, itemIndex);\r\n else\r\n PopupManager.addPopup(popupInfo);\r\n }\r\n\r\n public static removePopup(id: string): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => id === info.id);\r\n let result = true;\r\n\r\n if (index >= 0) {\r\n const popups = PopupManager._popups.filter((info: PopupInfo) => {\r\n return info.id !== id;\r\n });\r\n this.popups = popups;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `removePopup: Could not find popup with id of '${id}'`);\r\n result = false;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static get defaultOffset(): XAndY { return PopupManager._defaultOffset; }\r\n public static set defaultOffset(offset: XAndY) { PopupManager._defaultOffset = offset; }\r\n\r\n public static showInputEditor(el: HTMLElement, pt: XAndY, value: Primitives.Value, propertyDescription: PropertyDescription, onCommit: OnValueCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const primitiveValue: PrimitiveValue = {\r\n value,\r\n valueFormat: PropertyValueFormat.Primitive,\r\n };\r\n const record = new PropertyRecord(primitiveValue, propertyDescription);\r\n const commitHandler = new InputEditorCommitHandler(onCommit);\r\n const id = PopupManager._editorId;\r\n const component = (\r\n <InputEditorPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\r\n record={record} onCancel={onCancel} commitHandler={commitHandler} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideInputEditor(): boolean {\r\n return PopupManager.removePopup(PopupManager._editorId);\r\n }\r\n\r\n public static showKeyinPalette(\r\n keyins: KeyinEntry[], el: HTMLElement, onItemExecuted?: OnItemExecutedFunc, onCancel?: OnCancelFunc,\r\n ): boolean {\r\n\r\n const id = PopupManager._keyPalettePopupId;\r\n const component = (\r\n <KeyinPalettePopup keyins={keyins}\r\n id={id} el={el} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n // since the command palette popup is always at top center of specified HTML element and it does not need to move like\r\n // cursor popups just set pt to 0,0.\r\n const pt = { x: 0, y: 0 };\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideKeyinPalette(): boolean {\r\n return PopupManager.removePopup(PopupManager._keyPalettePopupId);\r\n }\r\n\r\n public static showToolbar(\r\n toolbarProps: AbstractToolbarProps, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolbarId;\r\n const component = (\r\n <ToolbarPopup id={id} el={el} pt={pt} offset={offset}\r\n items={toolbarProps.items} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideToolbar(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolbarId);\r\n }\r\n\r\n public static showHTMLElement(\r\n displayElement: HTMLElement, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._htmlElementId;\r\n const component = (\r\n <HTMLElementPopup id={id} el={el} pt={pt} offset={offset}\r\n element={displayElement} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideHTMLElement(): boolean {\r\n return PopupManager.removePopup(PopupManager._htmlElementId);\r\n }\r\n\r\n public static showCard(\r\n content: PopupContentType, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined,\r\n el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._cardId;\r\n const component = (\r\n <CardPopup id={id} el={el} pt={pt} offset={offset}\r\n content={content} title={title} items={toolbarProps ? toolbarProps.items : /* istanbul ignore next */ undefined}\r\n relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideCard(): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => PopupManager._cardId === info.id);\r\n if (index >= 0)\r\n return PopupManager.removePopup(PopupManager._cardId);\r\n return false;\r\n }\r\n\r\n public static openToolSettings(\r\n dataProvider: DialogLayoutDataProvider, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolSettingsId;\r\n const component = (\r\n <ToolSettingsPopup id={id} el={el} pt={pt} offset={offset}\r\n dataProvider={dataProvider} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static closeToolSettings(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolSettingsId);\r\n }\r\n\r\n public static getPopupPosition(el: HTMLElement, pt: XAndY, offset: XAndY, size: SizeProps): Point {\r\n const containerBounds = Rectangle.create(el.getBoundingClientRect());\r\n const relativeBounds = Rectangle.createFromSize(size).offset(pt);\r\n const adjustedPosition: Point = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), offset);\r\n const position = adjustedPosition.offset(containerBounds.topLeft());\r\n\r\n return position;\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\ninterface PopupRendererState {\r\n parentDocument: Document | null;\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popup Renderer\r\n * @alpha\r\n */\r\nexport class PopupRenderer extends React.Component<{}, PopupRendererState> {\r\n /** @internal */\r\n public override readonly state: PopupRendererState = {\r\n parentDocument: null,\r\n popups: PopupManager.popups,\r\n };\r\n\r\n public override componentDidMount(): void {\r\n PopupManager.onPopupsChangedEvent.addListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n PopupManager.onPopupsChangedEvent.removeListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\r\n this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (PopupManager.popupCount <= 0)\r\n return null;\r\n\r\n return (\r\n <div className=\"appui-react-popup-render-container\" ref={this._handleRefSet}>\r\n {this.state.parentDocument &&\r\n this.state.popups.filter((info) => info.parentDocument === this.state.parentDocument)\r\n .map((popupInfo: PopupInfo) => {\r\n return (\r\n <React.Fragment key={popupInfo.id}>\r\n {popupInfo.component}\r\n </React.Fragment>\r\n );\r\n })\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n private _handlePopupsChangedEvent = (args: PopupsChangedEventArgs) => {\r\n this.setState({ popups: args.popups });\r\n };\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"PopupManager.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PopupManager.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Popup\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Logger } from \"@itwin/core-bentley\";\r\nimport { XAndY } from \"@itwin/core-geometry\";\r\nimport {\r\n AbstractToolbarProps, DialogLayoutDataProvider, OnCancelFunc, OnItemExecutedFunc, OnValueCommitFunc, Primitives, PrimitiveValue,\r\n PropertyDescription, PropertyRecord, PropertyValueFormat, RelativePosition, UiEvent,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Orientation, Point, Rectangle, SizeProps } from \"@itwin/core-react\";\r\nimport { offsetAndContainInContainer } from \"@itwin/appui-layout-react\";\r\nimport { KeyinEntry } from \"../uiadmin/FrameworkUiAdmin\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport { CardPopup } from \"./CardPopup\";\r\nimport { HTMLElementPopup } from \"./HTMLElementPopup\";\r\nimport { InputEditorCommitHandler, InputEditorPopup } from \"./InputEditorPopup\";\r\nimport { KeyinPalettePopup } from \"./KeyinPalettePopup\";\r\nimport { ToolbarPopup } from \"./ToolbarPopup\";\r\nimport { ToolSettingsPopup } from \"./ToolSettingsPopup\";\r\n\r\n// cSpell:ignore uiadmin\r\n\r\n/** Information maintained by PopupManager about a Popup\r\n * @public\r\n */\r\nexport interface PopupInfo {\r\n id: string;\r\n pt: XAndY;\r\n component: React.ReactNode;\r\n parentDocument: Document;\r\n}\r\n\r\n/** @public */\r\nexport interface PopupsChangedEventArgs {\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popups Changed Event class.\r\n * @public\r\n */\r\nexport class PopupsChangedEvent extends UiEvent<PopupsChangedEventArgs> { }\r\n\r\n/** Props for each popup managed by the PopupManager\r\n * @public\r\n */\r\nexport interface PopupPropsBase {\r\n id: string;\r\n el: HTMLElement;\r\n pt: XAndY;\r\n offset: XAndY;\r\n}\r\n\r\n/** Describes React based content\r\n * @public\r\n */\r\nexport interface ReactContent {\r\n reactNode: React.ReactNode;\r\n}\r\n\r\n/** Type for Popup Content\r\n * @public\r\n */\r\nexport type PopupContentType = HTMLElement | ReactContent;\r\n\r\n/** ReactContent type guard.\r\n * @internal\r\n */\r\nexport const isReactContent = (content: PopupContentType): content is ReactContent => {\r\n return (content as ReactContent).reactNode !== undefined;\r\n};\r\n\r\n/** Popup Manager class\r\n * @public\r\n */\r\nexport class PopupManager {\r\n private static _popups: ReadonlyArray<PopupInfo> = [];\r\n private static _editorId = \"InputEditor\";\r\n private static _toolbarId = \"Toolbar\";\r\n private static _htmlElementId = \"HTMLElement\";\r\n private static _cardId = \"Card\";\r\n private static _toolSettingsId = \"ToolSettings\";\r\n private static _keyPalettePopupId = \"KeyinPalette\";\r\n\r\n private static _defaultOffset = { x: 8, y: 8 };\r\n\r\n public static readonly onPopupsChangedEvent = new PopupsChangedEvent();\r\n\r\n public static get popupCount() { return this._popups.length; }\r\n public static get popups() { return this._popups; }\r\n\r\n public static set popups(popups: ReadonlyArray<PopupInfo>) {\r\n // istanbul ignore if\r\n if (this._popups === popups)\r\n return;\r\n this._popups = popups;\r\n this.onPopupsChangedEvent.emit({ popups });\r\n }\r\n\r\n /** @internal */\r\n public static clearPopups() {\r\n this.popups = [];\r\n }\r\n\r\n private static addPopup(popupInfo: PopupInfo): void {\r\n const popups = [\r\n ...PopupManager._popups,\r\n popupInfo,\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n private static updatePopup(popupInfo: PopupInfo, itemIndex: number): void {\r\n // istanbul ignore if\r\n if (itemIndex < 0)\r\n return;\r\n\r\n const popups = [\r\n ...PopupManager._popups.slice(0, itemIndex),\r\n popupInfo,\r\n ...PopupManager._popups.slice(itemIndex + 1),\r\n ];\r\n this.popups = popups;\r\n }\r\n\r\n public static addOrUpdatePopup(popupInfo: PopupInfo): void {\r\n const itemIndex = PopupManager._popups.findIndex((info: PopupInfo) => info.id === popupInfo.id);\r\n if (itemIndex >= 0)\r\n PopupManager.updatePopup(popupInfo, itemIndex);\r\n else\r\n PopupManager.addPopup(popupInfo);\r\n }\r\n\r\n public static removePopup(id: string): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => id === info.id);\r\n let result = true;\r\n\r\n if (index >= 0) {\r\n const popups = PopupManager._popups.filter((info: PopupInfo) => {\r\n return info.id !== id;\r\n });\r\n this.popups = popups;\r\n } else {\r\n Logger.logError(UiFramework.loggerCategory(this), `removePopup: Could not find popup with id of '${id}'`);\r\n result = false;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static get defaultOffset(): XAndY { return PopupManager._defaultOffset; }\r\n public static set defaultOffset(offset: XAndY) { PopupManager._defaultOffset = offset; }\r\n\r\n public static showInputEditor(el: HTMLElement, pt: XAndY, value: Primitives.Value, propertyDescription: PropertyDescription, onCommit: OnValueCommitFunc, onCancel: OnCancelFunc): boolean {\r\n const primitiveValue: PrimitiveValue = {\r\n value,\r\n valueFormat: PropertyValueFormat.Primitive,\r\n };\r\n const record = new PropertyRecord(primitiveValue, propertyDescription);\r\n const commitHandler = new InputEditorCommitHandler(onCommit);\r\n const id = PopupManager._editorId;\r\n const component = (\r\n <InputEditorPopup id={id} el={el} pt={pt} offset={PopupManager.defaultOffset}\r\n record={record} onCancel={onCancel} commitHandler={commitHandler} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideInputEditor(): boolean {\r\n return PopupManager.removePopup(PopupManager._editorId);\r\n }\r\n\r\n public static showKeyinPalette(\r\n keyins: KeyinEntry[], el: HTMLElement, onItemExecuted?: OnItemExecutedFunc, onCancel?: OnCancelFunc,\r\n ): boolean {\r\n\r\n const id = PopupManager._keyPalettePopupId;\r\n const component = (\r\n <KeyinPalettePopup keyins={keyins}\r\n id={id} el={el} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n // since the command palette popup is always at top center of specified HTML element and it does not need to move like\r\n // cursor popups just set pt to 0,0.\r\n const pt = { x: 0, y: 0 };\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideKeyinPalette(): boolean {\r\n return PopupManager.removePopup(PopupManager._keyPalettePopupId);\r\n }\r\n\r\n public static showToolbar(\r\n toolbarProps: AbstractToolbarProps, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolbarId;\r\n const component = (\r\n <ToolbarPopup id={id} el={el} pt={pt} offset={offset}\r\n items={toolbarProps.items} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideToolbar(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolbarId);\r\n }\r\n\r\n public static showHTMLElement(\r\n displayElement: HTMLElement, el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._htmlElementId;\r\n const component = (\r\n <HTMLElementPopup id={id} el={el} pt={pt} offset={offset}\r\n element={displayElement} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideHTMLElement(): boolean {\r\n return PopupManager.removePopup(PopupManager._htmlElementId);\r\n }\r\n\r\n public static showCard(\r\n content: PopupContentType, title: string | PropertyRecord | undefined, toolbarProps: AbstractToolbarProps | undefined,\r\n el: HTMLElement, pt: XAndY, offset: XAndY,\r\n onItemExecuted: OnItemExecutedFunc, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._cardId;\r\n const component = (\r\n <CardPopup id={id} el={el} pt={pt} offset={offset}\r\n content={content} title={title} items={toolbarProps ? toolbarProps.items : /* istanbul ignore next */ undefined}\r\n relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} onItemExecuted={onItemExecuted} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static hideCard(): boolean {\r\n const index = PopupManager._popups.findIndex((info: PopupInfo) => PopupManager._cardId === info.id);\r\n if (index >= 0)\r\n return PopupManager.removePopup(PopupManager._cardId);\r\n return false;\r\n }\r\n\r\n public static openToolSettings(\r\n dataProvider: DialogLayoutDataProvider, el: HTMLElement, pt: XAndY, offset: XAndY, onCancel: OnCancelFunc, relativePosition: RelativePosition,\r\n ): boolean {\r\n\r\n const id = PopupManager._toolSettingsId;\r\n const component = (\r\n <ToolSettingsPopup id={id} el={el} pt={pt} offset={offset}\r\n dataProvider={dataProvider} relativePosition={relativePosition} orientation={Orientation.Horizontal} onCancel={onCancel} />\r\n );\r\n\r\n const popupInfo: PopupInfo = {\r\n id, pt, component, parentDocument: el.ownerDocument,\r\n };\r\n PopupManager.addOrUpdatePopup(popupInfo);\r\n\r\n return true;\r\n }\r\n\r\n public static closeToolSettings(): boolean {\r\n return PopupManager.removePopup(PopupManager._toolSettingsId);\r\n }\r\n\r\n public static getPopupPosition(el: HTMLElement, pt: XAndY, offset: XAndY, size: SizeProps): Point {\r\n const containerBounds = Rectangle.create(el.getBoundingClientRect());\r\n const relativeBounds = Rectangle.createFromSize(size).offset(pt);\r\n const adjustedPosition: Point = offsetAndContainInContainer(relativeBounds, containerBounds.getSize(), offset);\r\n const position = adjustedPosition.offset(containerBounds.topLeft());\r\n\r\n return position;\r\n }\r\n\r\n}\r\n\r\n/** @internal */\r\ninterface PopupRendererState {\r\n parentDocument: Document | null;\r\n popups: ReadonlyArray<PopupInfo>;\r\n}\r\n\r\n/** Popup Renderer\r\n * @public\r\n */\r\nexport class PopupRenderer extends React.Component<{}, PopupRendererState> {\r\n /** @internal */\r\n public override readonly state: PopupRendererState = {\r\n parentDocument: null,\r\n popups: PopupManager.popups,\r\n };\r\n\r\n public override componentDidMount(): void {\r\n PopupManager.onPopupsChangedEvent.addListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n public override componentWillUnmount(): void {\r\n PopupManager.onPopupsChangedEvent.removeListener(this._handlePopupsChangedEvent);\r\n }\r\n\r\n private _handleRefSet = (popupDiv: HTMLElement | null) => {\r\n this.setState({ parentDocument: popupDiv?.ownerDocument ?? null });\r\n };\r\n\r\n public override render(): React.ReactNode {\r\n if (PopupManager.popupCount <= 0)\r\n return null;\r\n\r\n return (\r\n <div className=\"appui-react-popup-render-container\" ref={this._handleRefSet}>\r\n {this.state.parentDocument &&\r\n this.state.popups.filter((info) => info.parentDocument === this.state.parentDocument)\r\n .map((popupInfo: PopupInfo) => {\r\n return (\r\n <React.Fragment key={popupInfo.id}>\r\n {popupInfo.component}\r\n </React.Fragment>\r\n );\r\n })\r\n }\r\n </div>\r\n );\r\n }\r\n\r\n private _handlePopupsChangedEvent = (args: PopupsChangedEventArgs) => {\r\n this.setState({ popups: args.popups });\r\n };\r\n\r\n}\r\n"]}
@@ -5,21 +5,23 @@ import "./PositionPopup.scss";
5
5
  import * as React from "react";
6
6
  import { PointProps } from "@itwin/appui-abstract";
7
7
  import { CommonDivProps, CommonProps, SizeProps } from "@itwin/core-react";
8
- /** @alpha */
8
+ /** Props for popup at screen position
9
+ * @beta */
9
10
  export interface PositionPopupProps extends CommonProps {
10
11
  /** Center point */
11
12
  point: PointProps;
12
13
  /** Function called when size is known. */
13
14
  onSizeKnown?: (size: SizeProps) => void;
14
15
  }
15
- /** @alpha */
16
+ /** Popup component at screen position
17
+ * @beta */
16
18
  export declare class PositionPopup extends React.PureComponent<PositionPopupProps> {
17
19
  constructor(props: PositionPopupProps);
18
20
  render(): JSX.Element;
19
21
  private setDivRef;
20
22
  }
21
23
  /** PositionPopup content with padding
22
- * @alpha
24
+ * @beta
23
25
  */
24
26
  export declare function PositionPopupContent(props: CommonDivProps): JSX.Element;
25
27
  //# sourceMappingURL=PositionPopup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PositionPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtF,aAAa;AACb,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,aAAa;AACb,qBAAa,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAE5D,KAAK,EAAE,kBAAkB;IAIrB,MAAM;IAgBtB,OAAO,CAAC,SAAS;CAYlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,eAEzD"}
1
+ {"version":3,"file":"PositionPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAa,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEtF;WACW;AACX,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,mBAAmB;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED;WACW;AACX,qBAAa,aAAc,SAAQ,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAE5D,KAAK,EAAE,kBAAkB;IAIrB,MAAM;IAgBtB,OAAO,CAAC,SAAS;CAYlB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,eAEzD"}
@@ -12,7 +12,8 @@ require("./PositionPopup.scss");
12
12
  const classnames_1 = require("classnames");
13
13
  const React = require("react");
14
14
  const core_react_1 = require("@itwin/core-react");
15
- /** @alpha */
15
+ /** Popup component at screen position
16
+ * @beta */
16
17
  class PositionPopup extends React.PureComponent {
17
18
  constructor(props) {
18
19
  super(props);
@@ -39,7 +40,7 @@ class PositionPopup extends React.PureComponent {
39
40
  }
40
41
  exports.PositionPopup = PositionPopup;
41
42
  /** PositionPopup content with padding
42
- * @alpha
43
+ * @beta
43
44
  */
44
45
  function PositionPopupContent(props) {
45
46
  return React.createElement(core_react_1.Div, { ...props, mainClassName: "uifw-position-popup-content" });
@@ -1 +1 @@
1
- {"version":3,"file":"PositionPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gCAA8B;AAC9B,2CAAoC;AACpC,+BAA+B;AAE/B,kDAAsF;AAUtF,aAAa;AACb,MAAa,aAAc,SAAQ,KAAK,CAAC,aAAiC;IAExE,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAE/H,MAAM,QAAQ,GAAwB;YACpC,GAAG,KAAK;YACR,GAAG,EAAE,KAAK,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC;SACd,CAAC;QAEF,OAAO,CACL,gCAAS,KAAK,EAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IACpH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAA0B;QAC1C,uBAAuB;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,iBAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;CAEF;AAlCD,sCAkCC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAqB;IACxD,OAAO,oBAAC,gBAAG,OAAK,KAAK,EAAE,aAAa,EAAC,6BAA6B,GAAG,CAAC;AACxE,CAAC;AAFD,oDAEC","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 \"./PositionPopup.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { CommonDivProps, CommonProps, Div, Size, SizeProps } from \"@itwin/core-react\";\r\n\r\n/** @alpha */\r\nexport interface PositionPopupProps extends CommonProps {\r\n /** Center point */\r\n point: PointProps;\r\n /** Function called when size is known. */\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** @alpha */\r\nexport class PositionPopup extends React.PureComponent<PositionPopupProps> {\r\n\r\n constructor(props: PositionPopupProps) {\r\n super(props);\r\n }\r\n\r\n public override render() {\r\n const { point, className, style, onSizeKnown, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const divStyle: React.CSSProperties = {\r\n ...style,\r\n top: point.y,\r\n left: point.x,\r\n };\r\n\r\n return (\r\n <div {...props} className={classnames(\"uifw-position-popup\", className)} style={divStyle} ref={(e) => this.setDivRef(e)}>\r\n {this.props.children}\r\n </div>\r\n );\r\n }\r\n\r\n private setDivRef(div: HTMLDivElement | null) {\r\n // istanbul ignore else\r\n if (div) {\r\n const rect = div.getBoundingClientRect();\r\n const size = new Size(rect.width, rect.height);\r\n\r\n // istanbul ignore else\r\n if (this.props.onSizeKnown)\r\n this.props.onSizeKnown(size);\r\n }\r\n }\r\n\r\n}\r\n\r\n/** PositionPopup content with padding\r\n * @alpha\r\n */\r\nexport function PositionPopupContent(props: CommonDivProps) {\r\n return <Div {...props} mainClassName=\"uifw-position-popup-content\" />;\r\n}\r\n"]}
1
+ {"version":3,"file":"PositionPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/PositionPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gCAA8B;AAC9B,2CAAoC;AACpC,+BAA+B;AAE/B,kDAAsF;AAWtF;WACW;AACX,MAAa,aAAc,SAAQ,KAAK,CAAC,aAAiC;IAExE,YAAY,KAAyB;QACnC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,wDAAwD;QAE/H,MAAM,QAAQ,GAAwB;YACpC,GAAG,KAAK;YACR,GAAG,EAAE,KAAK,CAAC,CAAC;YACZ,IAAI,EAAE,KAAK,CAAC,CAAC;SACd,CAAC;QAEF,OAAO,CACL,gCAAS,KAAK,EAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,qBAAqB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IACpH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACP,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAA0B;QAC1C,uBAAuB;QACvB,IAAI,GAAG,EAAE;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,iBAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAE/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;gBACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;CAEF;AAlCD,sCAkCC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAqB;IACxD,OAAO,oBAAC,gBAAG,OAAK,KAAK,EAAE,aAAa,EAAC,6BAA6B,GAAG,CAAC;AACxE,CAAC;AAFD,oDAEC","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 \"./PositionPopup.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { PointProps } from \"@itwin/appui-abstract\";\r\nimport { CommonDivProps, CommonProps, Div, Size, SizeProps } from \"@itwin/core-react\";\r\n\r\n/** Props for popup at screen position\r\n * @beta */\r\nexport interface PositionPopupProps extends CommonProps {\r\n /** Center point */\r\n point: PointProps;\r\n /** Function called when size is known. */\r\n onSizeKnown?: (size: SizeProps) => void;\r\n}\r\n\r\n/** Popup component at screen position\r\n * @beta */\r\nexport class PositionPopup extends React.PureComponent<PositionPopupProps> {\r\n\r\n constructor(props: PositionPopupProps) {\r\n super(props);\r\n }\r\n\r\n public override render() {\r\n const { point, className, style, onSizeKnown, ...props } = this.props; // eslint-disable-line @typescript-eslint/no-unused-vars\r\n\r\n const divStyle: React.CSSProperties = {\r\n ...style,\r\n top: point.y,\r\n left: point.x,\r\n };\r\n\r\n return (\r\n <div {...props} className={classnames(\"uifw-position-popup\", className)} style={divStyle} ref={(e) => this.setDivRef(e)}>\r\n {this.props.children}\r\n </div>\r\n );\r\n }\r\n\r\n private setDivRef(div: HTMLDivElement | null) {\r\n // istanbul ignore else\r\n if (div) {\r\n const rect = div.getBoundingClientRect();\r\n const size = new Size(rect.width, rect.height);\r\n\r\n // istanbul ignore else\r\n if (this.props.onSizeKnown)\r\n this.props.onSizeKnown(size);\r\n }\r\n }\r\n\r\n}\r\n\r\n/** PositionPopup content with padding\r\n * @beta\r\n */\r\nexport function PositionPopupContent(props: CommonDivProps) {\r\n return <Div {...props} mainClassName=\"uifw-position-popup-content\" />;\r\n}\r\n"]}
@@ -5,7 +5,8 @@ import * as React from "react";
5
5
  import { DialogLayoutDataProvider, OnCancelFunc, RelativePosition } from "@itwin/appui-abstract";
6
6
  import { Orientation, Size } from "@itwin/core-react";
7
7
  import { PopupPropsBase } from "./PopupManager";
8
- /** @alpha */
8
+ /** Props for defining a popup tool settings component
9
+ * @beta */
9
10
  export interface ToolSettingsPopupProps extends PopupPropsBase {
10
11
  dataProvider: DialogLayoutDataProvider;
11
12
  relativePosition: RelativePosition;
@@ -17,7 +18,7 @@ interface ToolSettingsPopupState {
17
18
  size: Size;
18
19
  }
19
20
  /** Popup component for Tool Settings
20
- * @alpha
21
+ * @beta
21
22
  */
22
23
  export declare class ToolSettingsPopup extends React.PureComponent<ToolSettingsPopupProps, ToolSettingsPopupState> {
23
24
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"ToolSettingsPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAExG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAK9D,aAAa;AACb,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,gBAAgB;AAChB,UAAU,sBAAsB;IAC9B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAExG,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;gBAEU,KAAK,EAAE,sBAAsB;IAIzC,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEc,MAAM;CAuBvB"}
1
+ {"version":3,"file":"ToolSettingsPopup.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAkC,WAAW,EAAS,IAAI,EAAa,MAAM,mBAAmB,CAAC;AAExG,OAAO,EAAgB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAK9D;WACW;AACX,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,gBAAgB;AAChB,UAAU,sBAAsB;IAC9B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,aAAa,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAExG,gBAAgB;IAChB,SAAyB,KAAK;;MAE5B;gBAEU,KAAK,EAAE,sBAAsB;IAIzC,OAAO,CAAC,YAAY,CAIlB;IAEF,OAAO,CAAC,cAAc,CAQpB;IAEc,MAAM;CAuBvB"}
@@ -17,7 +17,7 @@ const PositionPopup_1 = require("./PositionPopup");
17
17
  const ComponentGenerator_1 = require("../uiprovider/ComponentGenerator");
18
18
  const DefaultDialogGridContainer_1 = require("../uiprovider/DefaultDialogGridContainer");
19
19
  /** Popup component for Tool Settings
20
- * @alpha
20
+ * @beta
21
21
  */
22
22
  class ToolSettingsPopup extends React.PureComponent {
23
23
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolSettingsPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAA6G;AAC7G,kDAAwG;AACxG,mEAAgE;AAChE,iDAA8D;AAC9D,mDAAsE;AACtE,yEAAsE;AACtE,yFAA+E;AAe/E;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAA6D;IAOxG,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QANf,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAMM,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;QAEM,mBAAc,GAAG,CAAC,CAAsB,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,2BAAU,CAAC,MAAM;oBACpB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;wBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM;aACT;QACH,CAAC,CAAC;IAhBF,CAAC;IAkBe,MAAM;QACpB,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,kBAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,yBAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnH,KAAK,GAAG,IAAI,kBAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,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,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc;gBACtF,oBAAC,oCAAoB;oBACnB,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,IACnD,kBAAkB;wBACjB,oBAAC,gDAAmB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAEvD,CACS,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAlDD,8CAkDC","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 { DialogLayoutDataProvider, OnCancelFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\r\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\r\nimport { DialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\r\n\r\n/** @alpha */\r\nexport interface ToolSettingsPopupProps extends PopupPropsBase {\r\n dataProvider: DialogLayoutDataProvider;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolSettingsPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Tool Settings\r\n * @alpha\r\n */\r\nexport class ToolSettingsPopup extends React.PureComponent<ToolSettingsPopupProps, ToolSettingsPopupState> {\r\n\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n constructor(props: ToolSettingsPopupProps) {\r\n super(props);\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 = (e: React.KeyboardEvent) => {\r\n switch (e.key) {\r\n case SpecialKey.Escape:\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n break;\r\n }\r\n };\r\n\r\n public override render() {\r\n const componentGenerator = new ComponentGenerator(this.props.dataProvider);\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 point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <PositionPopupContent>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n {componentGenerator &&\r\n <DialogGridContainer componentGenerator={componentGenerator} />\r\n }\r\n </FocusTrap>\r\n </PositionPopupContent>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ToolSettingsPopup.js","sourceRoot":"","sources":["../../../../src/appui-react/popup/ToolSettingsPopup.tsx"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,+BAA+B;AAC/B,0DAA6G;AAC7G,kDAAwG;AACxG,mEAAgE;AAChE,iDAA8D;AAC9D,mDAAsE;AACtE,yEAAsE;AACtE,yFAA+E;AAgB/E;;GAEG;AACH,MAAa,iBAAkB,SAAQ,KAAK,CAAC,aAA6D;IAOxG,YAAY,KAA6B;QACvC,KAAK,CAAC,KAAK,CAAC,CAAC;QANf,gBAAgB;QACS,UAAK,GAAG;YAC/B,IAAI,EAAE,IAAI,iBAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACvB,CAAC;QAMM,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;QAEM,mBAAc,GAAG,CAAC,CAAsB,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,2BAAU,CAAC,MAAM;oBACpB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;wBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxB,MAAM;aACT;QACH,CAAC,CAAC;IAhBF,CAAC;IAkBe,MAAM;QACpB,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,2BAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,kBAAK,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,SAAS,GAAG,yBAAW,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnH,KAAK,GAAG,IAAI,kBAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEjD,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,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc;gBACtF,oBAAC,oCAAoB;oBACnB,oBAAC,sBAAS,IAAC,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,IACnD,kBAAkB;wBACjB,oBAAC,gDAAmB,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,CAEvD,CACS,CACH,CACR,CACjB,CAAC;IACJ,CAAC;CACF;AAlDD,8CAkDC","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 { DialogLayoutDataProvider, OnCancelFunc, RelativePosition, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { DivWithOutsideClick, FocusTrap, Orientation, Point, Size, SizeProps } from \"@itwin/core-react\";\r\nimport { CursorPopup } from \"../cursor/cursorpopup/CursorPopup\";\r\nimport { PopupManager, PopupPropsBase } from \"./PopupManager\";\r\nimport { PositionPopup, PositionPopupContent } from \"./PositionPopup\";\r\nimport { ComponentGenerator } from \"../uiprovider/ComponentGenerator\";\r\nimport { DialogGridContainer } from \"../uiprovider/DefaultDialogGridContainer\";\r\n\r\n/** Props for defining a popup tool settings component\r\n * @beta */\r\nexport interface ToolSettingsPopupProps extends PopupPropsBase {\r\n dataProvider: DialogLayoutDataProvider;\r\n relativePosition: RelativePosition;\r\n orientation: Orientation;\r\n onCancel: OnCancelFunc;\r\n}\r\n\r\n/** @internal */\r\ninterface ToolSettingsPopupState {\r\n size: Size;\r\n}\r\n\r\n/** Popup component for Tool Settings\r\n * @beta\r\n */\r\nexport class ToolSettingsPopup extends React.PureComponent<ToolSettingsPopupProps, ToolSettingsPopupState> {\r\n\r\n /** @internal */\r\n public override readonly state = {\r\n size: new Size(-1, -1),\r\n };\r\n\r\n constructor(props: ToolSettingsPopupProps) {\r\n super(props);\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 = (e: React.KeyboardEvent) => {\r\n switch (e.key) {\r\n case SpecialKey.Escape:\r\n // istanbul ignore else\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n break;\r\n }\r\n };\r\n\r\n public override render() {\r\n const componentGenerator = new ComponentGenerator(this.props.dataProvider);\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 point={point}\r\n onSizeKnown={this._onSizeKnown}\r\n >\r\n <DivWithOutsideClick onOutsideClick={this.props.onCancel} onKeyDown={this._handleKeyDown}>\r\n <PositionPopupContent>\r\n <FocusTrap active={true} returnFocusOnDeactivate={true}>\r\n {componentGenerator &&\r\n <DialogGridContainer componentGenerator={componentGenerator} />\r\n }\r\n </FocusTrap>\r\n </PositionPopupContent>\r\n </DivWithOutsideClick>\r\n </PositionPopup>\r\n );\r\n }\r\n}\r\n"]}