@itwin/appui-react 4.0.0-dev.2 → 4.0.0-dev.3

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 (1539) hide show
  1. package/LICENSE.md +1 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +211 -211
  3. package/lib/cjs/appui-react/UiFramework.js +482 -482
  4. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  5. package/lib/cjs/appui-react/_variables.scss +12 -12
  6. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.d.ts +27 -27
  7. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js +74 -74
  8. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts +21 -21
  10. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +40 -40
  11. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  13. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +19 -19
  14. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +216 -216
  15. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  17. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +42 -42
  18. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +122 -122
  19. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +61 -61
  21. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +12 -12
  22. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js +110 -110
  23. package/lib/cjs/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +18 -18
  25. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +64 -64
  26. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.d.ts +61 -61
  28. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js +9 -9
  29. package/lib/cjs/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  30. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.d.ts +18 -18
  31. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js +44 -44
  32. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  33. package/lib/cjs/appui-react/accudraw/Calculator.d.ts +46 -46
  34. package/lib/cjs/appui-react/accudraw/Calculator.js +217 -217
  35. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  36. package/lib/cjs/appui-react/accudraw/Calculator.scss +86 -86
  37. package/lib/cjs/appui-react/accudraw/CalculatorEngine.d.ts +41 -41
  38. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js +195 -195
  39. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  40. package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts +31 -31
  41. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js +41 -41
  42. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  43. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +147 -147
  44. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +231 -231
  45. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  46. package/lib/cjs/appui-react/accudraw/MenuButton.d.ts +30 -30
  47. package/lib/cjs/appui-react/accudraw/MenuButton.js +66 -66
  48. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  49. package/lib/cjs/appui-react/accudraw/MenuButton.scss +18 -18
  50. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.d.ts +27 -27
  51. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js +37 -37
  52. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  53. package/lib/cjs/appui-react/accudraw/SquareButton.d.ts +14 -14
  54. package/lib/cjs/appui-react/accudraw/SquareButton.js +26 -26
  55. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  56. package/lib/cjs/appui-react/accudraw/SquareButton.scss +44 -44
  57. package/lib/cjs/appui-react/accudraw/backspace.svg +9 -9
  58. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +11 -11
  59. package/lib/cjs/appui-react/accudraw/height-2.svg +10 -10
  60. package/lib/cjs/appui-react/accudraw/height.svg +11 -11
  61. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts +27 -27
  62. package/lib/cjs/appui-react/backstage/BackstageComposer.js +141 -141
  63. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  64. package/lib/cjs/appui-react/backstage/BackstageComposerItem.d.ts +29 -29
  65. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +55 -55
  66. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  67. package/lib/cjs/appui-react/backstage/BackstageManager.d.ts +35 -35
  68. package/lib/cjs/appui-react/backstage/BackstageManager.js +82 -82
  69. package/lib/cjs/appui-react/backstage/BackstageManager.js.map +1 -1
  70. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.d.ts +8 -8
  71. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js +36 -36
  72. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  73. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +8 -8
  74. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +45 -45
  75. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  76. package/lib/cjs/appui-react/childwindow/ChildWindowManager.d.ts +34 -34
  77. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js +176 -176
  78. package/lib/cjs/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  79. package/lib/cjs/appui-react/childwindow/ChildWindowManager.scss +14 -14
  80. package/lib/cjs/appui-react/childwindow/CopyStyles.d.ts +7 -7
  81. package/lib/cjs/appui-react/childwindow/CopyStyles.js +42 -42
  82. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  83. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts +15 -15
  84. package/lib/cjs/appui-react/childwindow/PopoutWidget.js +19 -19
  85. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +1 -1
  86. package/lib/cjs/appui-react/childwindow/PopoutWidget.scss +10 -10
  87. package/lib/cjs/appui-react/configurableui/ActivityTracker.d.ts +29 -29
  88. package/lib/cjs/appui-react/configurableui/ActivityTracker.js +70 -70
  89. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  90. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +21 -21
  91. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +59 -59
  92. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  93. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.d.ts +95 -95
  94. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js +95 -95
  95. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  96. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.d.ts +89 -89
  97. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js +164 -164
  98. package/lib/cjs/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  99. package/lib/cjs/appui-react/configurableui/TimeTracker.d.ts +33 -33
  100. package/lib/cjs/appui-react/configurableui/TimeTracker.js +81 -81
  101. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  102. package/lib/cjs/appui-react/configurableui/configurableui.scss +78 -78
  103. package/lib/cjs/appui-react/configurableui/state.d.ts +61 -61
  104. package/lib/cjs/appui-react/configurableui/state.js +111 -111
  105. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  106. package/lib/cjs/appui-react/content/ContentControl.d.ts +64 -64
  107. package/lib/cjs/appui-react/content/ContentControl.js +78 -78
  108. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  109. package/lib/cjs/appui-react/content/ContentGroup.d.ts +93 -93
  110. package/lib/cjs/appui-react/content/ContentGroup.js +174 -174
  111. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  112. package/lib/cjs/appui-react/content/ContentLayout.d.ts +90 -90
  113. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/content/ContentLayout.js +374 -357
  115. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  116. package/lib/cjs/appui-react/content/ContentLayout.scss +99 -99
  117. package/lib/cjs/appui-react/content/ContentLayoutManager.d.ts +47 -47
  118. package/lib/cjs/appui-react/content/ContentLayoutManager.js +94 -94
  119. package/lib/cjs/appui-react/content/ContentLayoutManager.js.map +1 -1
  120. package/lib/cjs/appui-react/content/ContentViewManager.d.ts +92 -92
  121. package/lib/cjs/appui-react/content/ContentViewManager.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/content/ContentViewManager.js +206 -188
  123. package/lib/cjs/appui-react/content/ContentViewManager.js.map +1 -1
  124. package/lib/cjs/appui-react/content/DefaultViewOverlay.d.ts +22 -22
  125. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +50 -50
  126. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  127. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +43 -43
  128. package/lib/cjs/appui-react/content/FloatingViewportContent.css +9 -9
  129. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +27 -24
  130. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/content/FloatingViewportContent.js +83 -72
  132. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  133. package/lib/cjs/appui-react/content/IModelViewport.d.ts +80 -80
  134. package/lib/cjs/appui-react/content/IModelViewport.js +156 -156
  135. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  136. package/lib/cjs/appui-react/content/StageContentLayout.d.ts +35 -35
  137. package/lib/cjs/appui-react/content/StageContentLayout.js +66 -66
  138. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  139. package/lib/cjs/appui-react/content/ViewStateHelper.d.ts +25 -25
  140. package/lib/cjs/appui-react/content/ViewStateHelper.js +50 -50
  141. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  142. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts +61 -61
  143. package/lib/cjs/appui-react/content/ViewportContentControl.js +132 -132
  144. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  145. package/lib/cjs/appui-react/content/split-pane/Pane.d.ts +20 -20
  146. package/lib/cjs/appui-react/content/split-pane/Pane.js +42 -42
  147. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  148. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts +22 -22
  149. package/lib/cjs/appui-react/content/split-pane/Resizer.js +38 -38
  150. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  151. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts +69 -69
  152. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +242 -242
  153. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  154. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +68 -68
  155. package/lib/cjs/appui-react/cursor/CursorInformation.js +144 -144
  156. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  157. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +32 -32
  158. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +76 -76
  159. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  160. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +58 -58
  161. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +150 -150
  162. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  163. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  164. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +114 -114
  165. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +325 -325
  166. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  167. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +22 -22
  168. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +63 -63
  169. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  170. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  171. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts +23 -23
  172. package/lib/cjs/appui-react/dialog/ContentDialog.js +71 -71
  173. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  174. package/lib/cjs/appui-react/dialog/ContentDialog.scss +25 -25
  175. package/lib/cjs/appui-react/dialog/ContentDialogManager.d.ts +64 -64
  176. package/lib/cjs/appui-react/dialog/ContentDialogManager.js +147 -147
  177. package/lib/cjs/appui-react/dialog/ContentDialogManager.js.map +1 -1
  178. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +84 -84
  179. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +141 -141
  180. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  181. package/lib/cjs/appui-react/dialog/ModalDialogManager.d.ts +47 -47
  182. package/lib/cjs/appui-react/dialog/ModalDialogManager.js +72 -72
  183. package/lib/cjs/appui-react/dialog/ModalDialogManager.js.map +1 -1
  184. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts +21 -21
  185. package/lib/cjs/appui-react/dialog/ModelessDialog.js +30 -30
  186. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  187. package/lib/cjs/appui-react/dialog/ModelessDialogManager.d.ts +62 -62
  188. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js +135 -135
  189. package/lib/cjs/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  190. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts +42 -42
  191. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +93 -93
  192. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  193. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts +38 -38
  194. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +82 -82
  195. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  196. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +61 -61
  197. package/lib/cjs/appui-react/feedback/ElementTooltip.js +131 -131
  198. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  199. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts +73 -73
  200. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +114 -114
  201. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  202. package/lib/cjs/appui-react/feedback/ValidationTextbox.scss +54 -54
  203. package/lib/cjs/appui-react/frontstage/FrontstageConfig.d.ts +39 -39
  204. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js +9 -9
  205. package/lib/cjs/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  206. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +203 -203
  207. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +824 -824
  208. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  209. package/lib/cjs/appui-react/frontstage/FrontstageManager.d.ts +355 -355
  210. package/lib/cjs/appui-react/frontstage/FrontstageManager.js +563 -563
  211. package/lib/cjs/appui-react/frontstage/FrontstageManager.js.map +1 -1
  212. package/lib/cjs/appui-react/frontstage/FrontstageProvider.d.ts +13 -13
  213. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js +16 -16
  214. package/lib/cjs/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  215. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +34 -34
  216. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +44 -44
  217. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  218. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +83 -83
  219. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts +21 -21
  220. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +86 -86
  221. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  222. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  223. package/lib/cjs/appui-react/frontstage/NestedFrontstage.d.ts +12 -12
  224. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +30 -30
  225. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  226. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +65 -65
  227. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +78 -78
  228. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  229. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts +10 -10
  230. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +37 -37
  231. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  232. package/lib/cjs/appui-react/hooks/useActiveStageId.d.ts +7 -7
  233. package/lib/cjs/appui-react/hooks/useActiveStageId.js +29 -29
  234. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  235. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts +8 -8
  236. package/lib/cjs/appui-react/hooks/useActiveViewport.js +46 -46
  237. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  238. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.d.ts +9 -9
  239. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +71 -71
  240. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  241. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.d.ts +8 -8
  242. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js +30 -30
  243. package/lib/cjs/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  244. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.d.ts +12 -12
  245. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +30 -30
  246. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  247. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.d.ts +9 -9
  248. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +71 -71
  249. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  250. package/lib/cjs/appui-react/hooks/useSolarDataProvider.d.ts +9 -9
  251. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +65 -65
  252. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  253. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts +5 -5
  254. package/lib/cjs/appui-react/hooks/useUiVisibility.js +26 -26
  255. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  256. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +116 -116
  257. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +272 -272
  258. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  259. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +38 -38
  260. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +95 -95
  261. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  262. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +9 -9
  263. package/lib/cjs/appui-react/messages/ActivityMessage.js +79 -79
  264. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +1 -1
  265. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts +74 -74
  266. package/lib/cjs/appui-react/messages/AppNotificationManager.js +125 -125
  267. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  268. package/lib/cjs/appui-react/messages/HollowIcon.d.ts +9 -9
  269. package/lib/cjs/appui-react/messages/HollowIcon.js +20 -20
  270. package/lib/cjs/appui-react/messages/HollowIcon.js.map +1 -1
  271. package/lib/cjs/appui-react/messages/InputField.d.ts +37 -37
  272. package/lib/cjs/appui-react/messages/InputField.js +91 -91
  273. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  274. package/lib/cjs/appui-react/messages/InputField.scss +82 -82
  275. package/lib/cjs/appui-react/messages/MessageLabel.d.ts +12 -12
  276. package/lib/cjs/appui-react/messages/MessageLabel.js +21 -21
  277. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  278. package/lib/cjs/appui-react/messages/MessageManager.d.ts +244 -244
  279. package/lib/cjs/appui-react/messages/MessageManager.js +442 -442
  280. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  281. package/lib/cjs/appui-react/messages/MessageSpan.d.ts +14 -14
  282. package/lib/cjs/appui-react/messages/MessageSpan.js +22 -22
  283. package/lib/cjs/appui-react/messages/MessageSpan.js.map +1 -1
  284. package/lib/cjs/appui-react/messages/Pointer.d.ts +69 -69
  285. package/lib/cjs/appui-react/messages/Pointer.js +173 -173
  286. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  287. package/lib/cjs/appui-react/messages/Pointer.scss +42 -42
  288. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.d.ts +62 -62
  289. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js +68 -68
  290. package/lib/cjs/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  291. package/lib/cjs/appui-react/messages/StatusMessageManager.d.ts +24 -24
  292. package/lib/cjs/appui-react/messages/StatusMessageManager.js +55 -55
  293. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  294. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +6 -6
  295. package/lib/cjs/appui-react/messages/getToastCategory.js +27 -27
  296. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  297. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.d.ts +13 -13
  298. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js +26 -26
  299. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  300. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.d.ts +13 -13
  301. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js +26 -26
  302. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  303. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +33 -33
  304. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +34 -34
  305. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  306. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts +71 -71
  307. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +185 -185
  308. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  309. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.scss +87 -87
  310. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +117 -117
  311. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +150 -150
  312. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  313. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  314. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +44 -44
  315. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +104 -104
  316. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  317. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  318. package/lib/cjs/appui-react/pickers/ListPicker.d.ts +111 -111
  319. package/lib/cjs/appui-react/pickers/ListPicker.js +194 -194
  320. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  321. package/lib/cjs/appui-react/pickers/ListPicker.scss +299 -299
  322. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +90 -90
  323. package/lib/cjs/appui-react/pickers/ViewSelector.js +251 -251
  324. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  325. package/lib/cjs/appui-react/popup/CardPopup.d.ts +48 -48
  326. package/lib/cjs/appui-react/popup/CardPopup.js +89 -89
  327. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  328. package/lib/cjs/appui-react/popup/CardPopup.scss +25 -25
  329. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +30 -30
  330. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +42 -42
  331. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  332. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +38 -38
  333. package/lib/cjs/appui-react/popup/InputEditorPopup.js +57 -57
  334. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  335. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +19 -19
  336. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +253 -253
  337. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  338. package/lib/cjs/appui-react/popup/KeyinPalettePanel.scss +30 -30
  339. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +19 -19
  340. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +47 -47
  341. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  342. package/lib/cjs/appui-react/popup/PopupManager.d.ts +105 -105
  343. package/lib/cjs/appui-react/popup/PopupManager.js +232 -232
  344. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  345. package/lib/cjs/appui-react/popup/PositionPopup.d.ts +28 -28
  346. package/lib/cjs/appui-react/popup/PositionPopup.js +48 -48
  347. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  348. package/lib/cjs/appui-react/popup/PositionPopup.scss +28 -28
  349. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts +33 -33
  350. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +56 -56
  351. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  352. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +34 -34
  353. package/lib/cjs/appui-react/popup/ToolbarPopup.js +57 -57
  354. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  355. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +22 -22
  356. package/lib/cjs/appui-react/redux/FrameworkState.js +20 -20
  357. package/lib/cjs/appui-react/redux/FrameworkState.js.map +1 -1
  358. package/lib/cjs/appui-react/redux/ReducerRegistry.d.ts +36 -36
  359. package/lib/cjs/appui-react/redux/ReducerRegistry.js +60 -60
  360. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  361. package/lib/cjs/appui-react/redux/SessionState.d.ts +103 -103
  362. package/lib/cjs/appui-react/redux/SessionState.js +130 -130
  363. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  364. package/lib/cjs/appui-react/redux/StateManager.d.ts +43 -43
  365. package/lib/cjs/appui-react/redux/StateManager.js +97 -97
  366. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  367. package/lib/cjs/appui-react/redux/connectIModel.d.ts +26 -26
  368. package/lib/cjs/appui-react/redux/connectIModel.js +94 -94
  369. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  370. package/lib/cjs/appui-react/redux/redux-ts.d.ts +197 -197
  371. package/lib/cjs/appui-react/redux/redux-ts.js +36 -36
  372. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  373. package/lib/cjs/appui-react/safearea/SafeAreaContext.d.ts +10 -10
  374. package/lib/cjs/appui-react/safearea/SafeAreaContext.js +16 -16
  375. package/lib/cjs/appui-react/safearea/SafeAreaContext.js.map +1 -1
  376. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.d.ts +7 -7
  377. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js +15 -15
  378. package/lib/cjs/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  379. package/lib/cjs/appui-react/safearea/SafeAreaInsets.d.ts +13 -13
  380. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js +21 -21
  381. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  382. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.d.ts +306 -306
  383. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +695 -695
  384. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  385. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts +54 -54
  386. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +200 -200
  387. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  388. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts +26 -26
  389. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +202 -202
  390. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  391. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  392. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts +17 -17
  393. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +53 -53
  394. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  395. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts +27 -27
  396. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +193 -193
  397. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  398. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  399. package/lib/cjs/appui-react/shared/ActionButtonItemDef.d.ts +28 -28
  400. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +48 -48
  401. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  402. package/lib/cjs/appui-react/shared/AnyItemDef.d.ts +11 -11
  403. package/lib/cjs/appui-react/shared/AnyItemDef.js +9 -9
  404. package/lib/cjs/appui-react/shared/AnyItemDef.js.map +1 -1
  405. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.d.ts +9 -9
  406. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js +9 -9
  407. package/lib/cjs/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  408. package/lib/cjs/appui-react/shared/CommandItemDef.d.ts +16 -16
  409. package/lib/cjs/appui-react/shared/CommandItemDef.js +35 -35
  410. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  411. package/lib/cjs/appui-react/shared/CustomItemDef.d.ts +17 -17
  412. package/lib/cjs/appui-react/shared/CustomItemDef.js +32 -32
  413. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  414. package/lib/cjs/appui-react/shared/CustomItemProps.d.ts +12 -12
  415. package/lib/cjs/appui-react/shared/CustomItemProps.js +9 -9
  416. package/lib/cjs/appui-react/shared/CustomItemProps.js.map +1 -1
  417. package/lib/cjs/appui-react/shared/GroupItemProps.d.ts +19 -19
  418. package/lib/cjs/appui-react/shared/GroupItemProps.js +9 -9
  419. package/lib/cjs/appui-react/shared/GroupItemProps.js.map +1 -1
  420. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +58 -58
  421. package/lib/cjs/appui-react/shared/ItemDefBase.js +78 -78
  422. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  423. package/lib/cjs/appui-react/shared/ItemMap.d.ts +21 -21
  424. package/lib/cjs/appui-react/shared/ItemMap.js +51 -51
  425. package/lib/cjs/appui-react/shared/ItemMap.js.map +1 -1
  426. package/lib/cjs/appui-react/shared/ItemProps.d.ts +48 -48
  427. package/lib/cjs/appui-react/shared/ItemProps.js +9 -9
  428. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  429. package/lib/cjs/appui-react/shared/MenuItem.d.ts +36 -36
  430. package/lib/cjs/appui-react/shared/MenuItem.js +112 -112
  431. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  432. package/lib/cjs/appui-react/shared/SelectionScope.d.ts +13 -13
  433. package/lib/cjs/appui-react/shared/SelectionScope.js +21 -21
  434. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  435. package/lib/cjs/appui-react/shared/ToolItemDef.d.ts +17 -17
  436. package/lib/cjs/appui-react/shared/ToolItemDef.js +39 -39
  437. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  438. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +44 -44
  439. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js +9 -9
  440. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  441. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +263 -263
  442. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +217 -217
  443. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  444. package/lib/cjs/appui-react/statusbar/Indicator.d.ts +25 -25
  445. package/lib/cjs/appui-react/statusbar/Indicator.js +35 -35
  446. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  447. package/lib/cjs/appui-react/statusbar/Indicator.scss +110 -110
  448. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +23 -23
  449. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +28 -28
  450. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  451. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +43 -43
  452. package/lib/cjs/appui-react/statusbar/Overflow.d.ts +19 -19
  453. package/lib/cjs/appui-react/statusbar/Overflow.js +29 -29
  454. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  455. package/lib/cjs/appui-react/statusbar/Overflow.scss +27 -27
  456. package/lib/cjs/appui-react/statusbar/OverflowPanel.d.ts +20 -20
  457. package/lib/cjs/appui-react/statusbar/OverflowPanel.js +22 -22
  458. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +1 -1
  459. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +22 -22
  460. package/lib/cjs/appui-react/statusbar/Separator.d.ts +10 -10
  461. package/lib/cjs/appui-react/statusbar/Separator.js +21 -21
  462. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  463. package/lib/cjs/appui-react/statusbar/Separator.scss +14 -14
  464. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +62 -62
  465. package/lib/cjs/appui-react/statusbar/StatusBar.js +129 -129
  466. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  467. package/lib/cjs/appui-react/statusbar/StatusBar.scss +43 -43
  468. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts +46 -46
  469. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +282 -282
  470. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  471. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +16 -16
  472. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +17 -17
  473. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  474. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.d.ts +13 -13
  475. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +22 -22
  476. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  477. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.d.ts +20 -20
  478. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js +23 -23
  479. package/lib/cjs/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  480. package/lib/cjs/appui-react/statusbar/dialog/Button.d.ts +20 -20
  481. package/lib/cjs/appui-react/statusbar/dialog/Button.js +19 -19
  482. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  483. package/lib/cjs/appui-react/statusbar/dialog/Dialog.d.ts +29 -29
  484. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js +30 -30
  485. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  486. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.d.ts +18 -18
  487. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js +19 -19
  488. package/lib/cjs/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  489. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.d.ts +8 -8
  490. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js +37 -37
  491. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  492. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +8 -8
  493. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +55 -55
  494. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  495. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts +9 -9
  496. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +59 -59
  497. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  498. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +46 -46
  499. package/lib/cjs/appui-react/statusfields/MessageCenter.js +123 -123
  500. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  501. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts +16 -16
  502. package/lib/cjs/appui-react/statusfields/SectionsField.js +77 -77
  503. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  504. package/lib/cjs/appui-react/statusfields/SectionsField.scss +36 -36
  505. package/lib/cjs/appui-react/statusfields/SelectionInfo.d.ts +26 -26
  506. package/lib/cjs/appui-react/statusfields/SelectionInfo.js +47 -47
  507. package/lib/cjs/appui-react/statusfields/SelectionInfo.js.map +1 -1
  508. package/lib/cjs/appui-react/statusfields/SelectionInfo.scss +14 -14
  509. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts +37 -37
  510. package/lib/cjs/appui-react/statusfields/SelectionScope.js +66 -66
  511. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  512. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +46 -46
  513. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts +41 -41
  514. package/lib/cjs/appui-react/statusfields/SnapMode.js +88 -88
  515. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  516. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +30 -30
  517. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +92 -92
  518. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  519. package/lib/cjs/appui-react/statusfields/ViewAttributes.scss +14 -14
  520. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +31 -31
  521. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +91 -91
  522. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  523. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  524. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +95 -95
  525. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +443 -443
  526. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  527. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  528. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts +79 -79
  529. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +224 -224
  530. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  531. package/lib/cjs/appui-react/theme/ThemeManager.d.ts +55 -55
  532. package/lib/cjs/appui-react/theme/ThemeManager.js +97 -97
  533. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  534. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.d.ts +15 -15
  535. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js +52 -52
  536. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  537. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.d.ts +15 -15
  538. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js +58 -58
  539. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  540. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts +19 -19
  541. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +65 -65
  542. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  543. package/lib/cjs/appui-react/toolbar/DragInteraction.d.ts +8 -8
  544. package/lib/cjs/appui-react/toolbar/DragInteraction.js +15 -15
  545. package/lib/cjs/appui-react/toolbar/DragInteraction.js.map +1 -1
  546. package/lib/cjs/appui-react/toolbar/GroupItem.d.ts +37 -37
  547. package/lib/cjs/appui-react/toolbar/GroupItem.js +76 -76
  548. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  549. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +19 -19
  550. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +225 -225
  551. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  552. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts +26 -26
  553. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +138 -138
  554. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  555. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.d.ts +8 -8
  556. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js +36 -36
  557. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  558. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +8 -8
  559. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +52 -52
  560. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  561. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts +36 -36
  562. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +368 -368
  563. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  564. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts +11 -11
  565. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +31 -31
  566. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  567. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts +16 -16
  568. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +30 -30
  569. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  570. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts +16 -16
  571. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +32 -32
  572. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  573. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts +26 -26
  574. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +60 -60
  575. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  576. package/lib/cjs/appui-react/tools/ToolSettingsTools.d.ts +22 -22
  577. package/lib/cjs/appui-react/tools/ToolSettingsTools.js +46 -46
  578. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  579. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts +25 -25
  580. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +74 -74
  581. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  582. package/lib/cjs/appui-react/toolsettings/ToolInformation.d.ts +14 -14
  583. package/lib/cjs/appui-react/toolsettings/ToolInformation.js +45 -45
  584. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  585. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.d.ts +58 -58
  586. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js +129 -129
  587. package/lib/cjs/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
  588. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.d.ts +35 -35
  589. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js +38 -38
  590. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  591. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +62 -62
  592. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js +103 -103
  593. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  594. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +36 -36
  595. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +86 -86
  596. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  597. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +24 -24
  598. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +66 -66
  599. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  600. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +33 -33
  601. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +52 -52
  602. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  603. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +24 -24
  604. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +76 -76
  605. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  606. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +31 -31
  607. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +69 -69
  608. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  609. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +201 -201
  610. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +348 -348
  611. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  612. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts +27 -27
  613. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +206 -206
  614. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  615. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts +27 -27
  616. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +53 -53
  617. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  618. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +213 -213
  619. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts +49 -49
  620. package/lib/cjs/appui-react/uistate/AppUiSettings.js +89 -89
  621. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  622. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts +19 -19
  623. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +38 -38
  624. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  625. package/lib/cjs/appui-react/utils/PropsHelper.d.ts +20 -20
  626. package/lib/cjs/appui-react/utils/PropsHelper.js +66 -66
  627. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  628. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.d.ts +17 -17
  629. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js +60 -60
  630. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  631. package/lib/cjs/appui-react/utils/UiShowHideManager.d.ts +83 -83
  632. package/lib/cjs/appui-react/utils/UiShowHideManager.js +196 -196
  633. package/lib/cjs/appui-react/utils/UiShowHideManager.js.map +1 -1
  634. package/lib/cjs/appui-react/utils/ViewUtilities.d.ts +66 -66
  635. package/lib/cjs/appui-react/utils/ViewUtilities.js +98 -98
  636. package/lib/cjs/appui-react/utils/ViewUtilities.js.map +1 -1
  637. package/lib/cjs/appui-react/widget-panels/Content.d.ts +6 -6
  638. package/lib/cjs/appui-react/widget-panels/Content.js +60 -60
  639. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  640. package/lib/cjs/appui-react/widget-panels/FloatingWidget.d.ts +6 -6
  641. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js +18 -18
  642. package/lib/cjs/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  643. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +123 -123
  644. package/lib/cjs/appui-react/widget-panels/Frontstage.js +1086 -1086
  645. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  646. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +19 -19
  647. package/lib/cjs/appui-react/widget-panels/FrontstageContent.d.ts +3 -3
  648. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js +21 -21
  649. package/lib/cjs/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  650. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts +8 -8
  651. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +38 -38
  652. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  653. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts +8 -8
  654. package/lib/cjs/appui-react/widget-panels/StatusBar.js +27 -27
  655. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  656. package/lib/cjs/appui-react/widget-panels/StatusBar.scss +10 -10
  657. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +10 -10
  658. package/lib/cjs/appui-react/widget-panels/Tab.js +34 -34
  659. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  660. package/lib/cjs/appui-react/widget-panels/Tab.scss +14 -14
  661. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +37 -37
  662. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +155 -155
  663. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  664. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +41 -41
  665. package/lib/cjs/appui-react/widget-panels/Toolbars.d.ts +7 -7
  666. package/lib/cjs/appui-react/widget-panels/Toolbars.js +24 -24
  667. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  668. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +20 -20
  669. package/lib/cjs/appui-react/widget-panels/useTransientState.d.ts +7 -7
  670. package/lib/cjs/appui-react/widget-panels/useTransientState.js +18 -18
  671. package/lib/cjs/appui-react/widget-panels/useTransientState.js.map +1 -1
  672. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.d.ts +8 -8
  673. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js +29 -29
  674. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  675. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts +21 -21
  676. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +53 -53
  677. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  678. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts +19 -19
  679. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +60 -60
  680. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  681. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts +23 -23
  682. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +61 -61
  683. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  684. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts +37 -37
  685. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +48 -48
  686. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  687. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts +38 -38
  688. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +109 -109
  689. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  690. package/lib/cjs/appui-react/widgets/StableWidgetDef.d.ts +8 -8
  691. package/lib/cjs/appui-react/widgets/StableWidgetDef.js +29 -29
  692. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  693. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +27 -27
  694. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +42 -42
  695. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  696. package/lib/cjs/appui-react/widgets/ToolSettingsContent.d.ts +10 -10
  697. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js +15 -15
  698. package/lib/cjs/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  699. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.d.ts +23 -23
  700. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js +34 -34
  701. package/lib/cjs/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  702. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts +26 -26
  703. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +36 -36
  704. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  705. package/lib/cjs/appui-react/widgets/WidgetConfig.d.ts +25 -25
  706. package/lib/cjs/appui-react/widgets/WidgetConfig.js +9 -9
  707. package/lib/cjs/appui-react/widgets/WidgetConfig.js.map +1 -1
  708. package/lib/cjs/appui-react/widgets/WidgetControl.d.ts +33 -33
  709. package/lib/cjs/appui-react/widgets/WidgetControl.js +44 -44
  710. package/lib/cjs/appui-react/widgets/WidgetControl.js.map +1 -1
  711. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +168 -168
  712. package/lib/cjs/appui-react/widgets/WidgetDef.js +323 -323
  713. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  714. package/lib/cjs/appui-react/widgets/WidgetHost.d.ts +40 -40
  715. package/lib/cjs/appui-react/widgets/WidgetHost.js +90 -90
  716. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  717. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +54 -54
  718. package/lib/cjs/appui-react/widgets/WidgetManager.js +117 -117
  719. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  720. package/lib/cjs/appui-react.d.ts +319 -327
  721. package/lib/cjs/appui-react.d.ts.map +1 -1
  722. package/lib/cjs/appui-react.js +336 -344
  723. package/lib/cjs/appui-react.js.map +1 -1
  724. package/lib/esm/appui-react/UiFramework.d.ts +211 -211
  725. package/lib/esm/appui-react/UiFramework.js +477 -477
  726. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  727. package/lib/esm/appui-react/_variables.scss +12 -12
  728. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.d.ts +27 -27
  729. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js +70 -70
  730. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  731. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts +21 -21
  732. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +36 -36
  733. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  734. package/lib/esm/appui-react/accudraw/AccuDrawDialog.scss +14 -14
  735. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +19 -19
  736. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +212 -212
  737. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  738. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +27 -27
  739. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +42 -42
  740. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +119 -119
  741. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  742. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +61 -61
  743. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.d.ts +12 -12
  744. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js +106 -106
  745. package/lib/esm/appui-react/accudraw/AccuDrawKeyboardShortcuts.js.map +1 -1
  746. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +18 -18
  747. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +60 -60
  748. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  749. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.d.ts +61 -61
  750. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js +8 -8
  751. package/lib/esm/appui-react/accudraw/AccuDrawUiSettings.js.map +1 -1
  752. package/lib/esm/appui-react/accudraw/AccuDrawWidget.d.ts +18 -18
  753. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js +39 -39
  754. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  755. package/lib/esm/appui-react/accudraw/Calculator.d.ts +46 -46
  756. package/lib/esm/appui-react/accudraw/Calculator.js +213 -213
  757. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  758. package/lib/esm/appui-react/accudraw/Calculator.scss +86 -86
  759. package/lib/esm/appui-react/accudraw/CalculatorEngine.d.ts +41 -41
  760. package/lib/esm/appui-react/accudraw/CalculatorEngine.js +191 -191
  761. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  762. package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts +31 -31
  763. package/lib/esm/appui-react/accudraw/CalculatorPopup.js +37 -37
  764. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  765. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +147 -147
  766. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +220 -220
  767. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  768. package/lib/esm/appui-react/accudraw/MenuButton.d.ts +30 -30
  769. package/lib/esm/appui-react/accudraw/MenuButton.js +62 -62
  770. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  771. package/lib/esm/appui-react/accudraw/MenuButton.scss +18 -18
  772. package/lib/esm/appui-react/accudraw/MenuButtonPopup.d.ts +27 -27
  773. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js +33 -33
  774. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  775. package/lib/esm/appui-react/accudraw/SquareButton.d.ts +14 -14
  776. package/lib/esm/appui-react/accudraw/SquareButton.js +22 -22
  777. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  778. package/lib/esm/appui-react/accudraw/SquareButton.scss +44 -44
  779. package/lib/esm/appui-react/accudraw/backspace.svg +9 -9
  780. package/lib/esm/appui-react/accudraw/constraint-2d.svg +11 -11
  781. package/lib/esm/appui-react/accudraw/height-2.svg +10 -10
  782. package/lib/esm/appui-react/accudraw/height.svg +11 -11
  783. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts +27 -27
  784. package/lib/esm/appui-react/backstage/BackstageComposer.js +136 -136
  785. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  786. package/lib/esm/appui-react/backstage/BackstageComposerItem.d.ts +29 -29
  787. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +49 -49
  788. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  789. package/lib/esm/appui-react/backstage/BackstageManager.d.ts +35 -35
  790. package/lib/esm/appui-react/backstage/BackstageManager.js +76 -76
  791. package/lib/esm/appui-react/backstage/BackstageManager.js.map +1 -1
  792. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.d.ts +8 -8
  793. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js +32 -32
  794. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  795. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts +8 -8
  796. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +41 -41
  797. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  798. package/lib/esm/appui-react/childwindow/ChildWindowManager.d.ts +34 -34
  799. package/lib/esm/appui-react/childwindow/ChildWindowManager.js +172 -172
  800. package/lib/esm/appui-react/childwindow/ChildWindowManager.js.map +1 -1
  801. package/lib/esm/appui-react/childwindow/ChildWindowManager.scss +14 -14
  802. package/lib/esm/appui-react/childwindow/CopyStyles.d.ts +7 -7
  803. package/lib/esm/appui-react/childwindow/CopyStyles.js +38 -38
  804. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  805. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts +15 -15
  806. package/lib/esm/appui-react/childwindow/PopoutWidget.js +15 -15
  807. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +1 -1
  808. package/lib/esm/appui-react/childwindow/PopoutWidget.scss +10 -10
  809. package/lib/esm/appui-react/configurableui/ActivityTracker.d.ts +29 -29
  810. package/lib/esm/appui-react/configurableui/ActivityTracker.js +66 -66
  811. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  812. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +21 -21
  813. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +55 -55
  814. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  815. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.d.ts +95 -95
  816. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js +89 -89
  817. package/lib/esm/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  818. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.d.ts +89 -89
  819. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js +158 -158
  820. package/lib/esm/appui-react/configurableui/ConfigurableUiManager.js.map +1 -1
  821. package/lib/esm/appui-react/configurableui/TimeTracker.d.ts +33 -33
  822. package/lib/esm/appui-react/configurableui/TimeTracker.js +77 -77
  823. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  824. package/lib/esm/appui-react/configurableui/configurableui.scss +78 -78
  825. package/lib/esm/appui-react/configurableui/state.d.ts +61 -61
  826. package/lib/esm/appui-react/configurableui/state.js +107 -107
  827. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  828. package/lib/esm/appui-react/content/ContentControl.d.ts +64 -64
  829. package/lib/esm/appui-react/content/ContentControl.js +72 -72
  830. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  831. package/lib/esm/appui-react/content/ContentGroup.d.ts +93 -93
  832. package/lib/esm/appui-react/content/ContentGroup.js +169 -169
  833. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  834. package/lib/esm/appui-react/content/ContentLayout.d.ts +90 -90
  835. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  836. package/lib/esm/appui-react/content/ContentLayout.js +367 -350
  837. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  838. package/lib/esm/appui-react/content/ContentLayout.scss +99 -99
  839. package/lib/esm/appui-react/content/ContentLayoutManager.d.ts +47 -47
  840. package/lib/esm/appui-react/content/ContentLayoutManager.js +90 -90
  841. package/lib/esm/appui-react/content/ContentLayoutManager.js.map +1 -1
  842. package/lib/esm/appui-react/content/ContentViewManager.d.ts +92 -92
  843. package/lib/esm/appui-react/content/ContentViewManager.d.ts.map +1 -1
  844. package/lib/esm/appui-react/content/ContentViewManager.js +200 -182
  845. package/lib/esm/appui-react/content/ContentViewManager.js.map +1 -1
  846. package/lib/esm/appui-react/content/DefaultViewOverlay.d.ts +22 -22
  847. package/lib/esm/appui-react/content/DefaultViewOverlay.js +46 -46
  848. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  849. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +43 -43
  850. package/lib/esm/appui-react/content/FloatingViewportContent.css +9 -9
  851. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +27 -24
  852. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  853. package/lib/esm/appui-react/content/FloatingViewportContent.js +79 -68
  854. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  855. package/lib/esm/appui-react/content/IModelViewport.d.ts +80 -80
  856. package/lib/esm/appui-react/content/IModelViewport.js +151 -151
  857. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  858. package/lib/esm/appui-react/content/StageContentLayout.d.ts +35 -35
  859. package/lib/esm/appui-react/content/StageContentLayout.js +62 -62
  860. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  861. package/lib/esm/appui-react/content/ViewStateHelper.d.ts +25 -25
  862. package/lib/esm/appui-react/content/ViewStateHelper.js +46 -46
  863. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  864. package/lib/esm/appui-react/content/ViewportContentControl.d.ts +61 -61
  865. package/lib/esm/appui-react/content/ViewportContentControl.js +127 -127
  866. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  867. package/lib/esm/appui-react/content/split-pane/Pane.d.ts +20 -20
  868. package/lib/esm/appui-react/content/split-pane/Pane.js +38 -38
  869. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  870. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts +22 -22
  871. package/lib/esm/appui-react/content/split-pane/Resizer.js +34 -34
  872. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  873. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts +69 -69
  874. package/lib/esm/appui-react/content/split-pane/SplitPane.js +238 -238
  875. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  876. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +68 -68
  877. package/lib/esm/appui-react/cursor/CursorInformation.js +139 -139
  878. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  879. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +32 -32
  880. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +72 -72
  881. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  882. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +58 -58
  883. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +145 -145
  884. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  885. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +34 -34
  886. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +114 -114
  887. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +318 -318
  888. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  889. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +22 -22
  890. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +59 -59
  891. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  892. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.scss +30 -30
  893. package/lib/esm/appui-react/dialog/ContentDialog.d.ts +23 -23
  894. package/lib/esm/appui-react/dialog/ContentDialog.js +66 -66
  895. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  896. package/lib/esm/appui-react/dialog/ContentDialog.scss +25 -25
  897. package/lib/esm/appui-react/dialog/ContentDialogManager.d.ts +64 -64
  898. package/lib/esm/appui-react/dialog/ContentDialogManager.js +141 -141
  899. package/lib/esm/appui-react/dialog/ContentDialogManager.js.map +1 -1
  900. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +84 -84
  901. package/lib/esm/appui-react/dialog/DialogManagerBase.js +135 -135
  902. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  903. package/lib/esm/appui-react/dialog/ModalDialogManager.d.ts +47 -47
  904. package/lib/esm/appui-react/dialog/ModalDialogManager.js +66 -66
  905. package/lib/esm/appui-react/dialog/ModalDialogManager.js.map +1 -1
  906. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts +21 -21
  907. package/lib/esm/appui-react/dialog/ModelessDialog.js +26 -26
  908. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  909. package/lib/esm/appui-react/dialog/ModelessDialogManager.d.ts +62 -62
  910. package/lib/esm/appui-react/dialog/ModelessDialogManager.js +129 -129
  911. package/lib/esm/appui-react/dialog/ModelessDialogManager.js.map +1 -1
  912. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts +42 -42
  913. package/lib/esm/appui-react/dialog/StandardMessageBox.js +89 -89
  914. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  915. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts +38 -38
  916. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +78 -78
  917. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  918. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +61 -61
  919. package/lib/esm/appui-react/feedback/ElementTooltip.js +126 -126
  920. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  921. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts +73 -73
  922. package/lib/esm/appui-react/feedback/ValidationTextbox.js +110 -110
  923. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  924. package/lib/esm/appui-react/feedback/ValidationTextbox.scss +54 -54
  925. package/lib/esm/appui-react/frontstage/FrontstageConfig.d.ts +39 -39
  926. package/lib/esm/appui-react/frontstage/FrontstageConfig.js +8 -8
  927. package/lib/esm/appui-react/frontstage/FrontstageConfig.js.map +1 -1
  928. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +203 -203
  929. package/lib/esm/appui-react/frontstage/FrontstageDef.js +817 -817
  930. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  931. package/lib/esm/appui-react/frontstage/FrontstageManager.d.ts +355 -355
  932. package/lib/esm/appui-react/frontstage/FrontstageManager.js +551 -551
  933. package/lib/esm/appui-react/frontstage/FrontstageManager.js.map +1 -1
  934. package/lib/esm/appui-react/frontstage/FrontstageProvider.d.ts +13 -13
  935. package/lib/esm/appui-react/frontstage/FrontstageProvider.js +12 -12
  936. package/lib/esm/appui-react/frontstage/FrontstageProvider.js.map +1 -1
  937. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +34 -34
  938. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +40 -40
  939. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  940. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +83 -83
  941. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts +21 -21
  942. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +82 -82
  943. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  944. package/lib/esm/appui-react/frontstage/ModalSettingsStage.scss +13 -13
  945. package/lib/esm/appui-react/frontstage/NestedFrontstage.d.ts +12 -12
  946. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +26 -26
  947. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  948. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +65 -65
  949. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +74 -74
  950. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  951. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts +10 -10
  952. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +33 -33
  953. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  954. package/lib/esm/appui-react/hooks/useActiveStageId.d.ts +7 -7
  955. package/lib/esm/appui-react/hooks/useActiveStageId.js +25 -25
  956. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  957. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts +8 -8
  958. package/lib/esm/appui-react/hooks/useActiveViewport.js +42 -42
  959. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  960. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.d.ts +9 -9
  961. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +67 -67
  962. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  963. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.d.ts +8 -8
  964. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js +26 -26
  965. package/lib/esm/appui-react/hooks/useAvailableUiItemsProviders.js.map +1 -1
  966. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.d.ts +12 -12
  967. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +25 -25
  968. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  969. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.d.ts +9 -9
  970. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +67 -67
  971. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  972. package/lib/esm/appui-react/hooks/useSolarDataProvider.d.ts +9 -9
  973. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +61 -61
  974. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  975. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts +5 -5
  976. package/lib/esm/appui-react/hooks/useUiVisibility.js +22 -22
  977. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  978. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts +116 -116
  979. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +266 -266
  980. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  981. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +38 -38
  982. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +90 -90
  983. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  984. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +9 -9
  985. package/lib/esm/appui-react/messages/ActivityMessage.js +75 -75
  986. package/lib/esm/appui-react/messages/ActivityMessage.js.map +1 -1
  987. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts +74 -74
  988. package/lib/esm/appui-react/messages/AppNotificationManager.js +121 -121
  989. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  990. package/lib/esm/appui-react/messages/HollowIcon.d.ts +9 -9
  991. package/lib/esm/appui-react/messages/HollowIcon.js +16 -16
  992. package/lib/esm/appui-react/messages/HollowIcon.js.map +1 -1
  993. package/lib/esm/appui-react/messages/InputField.d.ts +37 -37
  994. package/lib/esm/appui-react/messages/InputField.js +87 -87
  995. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  996. package/lib/esm/appui-react/messages/InputField.scss +82 -82
  997. package/lib/esm/appui-react/messages/MessageLabel.d.ts +12 -12
  998. package/lib/esm/appui-react/messages/MessageLabel.js +17 -17
  999. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  1000. package/lib/esm/appui-react/messages/MessageManager.d.ts +244 -244
  1001. package/lib/esm/appui-react/messages/MessageManager.js +430 -430
  1002. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  1003. package/lib/esm/appui-react/messages/MessageSpan.d.ts +14 -14
  1004. package/lib/esm/appui-react/messages/MessageSpan.js +17 -17
  1005. package/lib/esm/appui-react/messages/MessageSpan.js.map +1 -1
  1006. package/lib/esm/appui-react/messages/Pointer.d.ts +69 -69
  1007. package/lib/esm/appui-react/messages/Pointer.js +168 -168
  1008. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  1009. package/lib/esm/appui-react/messages/Pointer.scss +42 -42
  1010. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.d.ts +62 -62
  1011. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js +63 -63
  1012. package/lib/esm/appui-react/messages/ReactNotifyMessageDetails.js.map +1 -1
  1013. package/lib/esm/appui-react/messages/StatusMessageManager.d.ts +24 -24
  1014. package/lib/esm/appui-react/messages/StatusMessageManager.js +51 -51
  1015. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  1016. package/lib/esm/appui-react/messages/getToastCategory.d.ts +6 -6
  1017. package/lib/esm/appui-react/messages/getToastCategory.js +23 -23
  1018. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  1019. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.d.ts +13 -13
  1020. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js +22 -22
  1021. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  1022. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.d.ts +13 -13
  1023. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js +22 -22
  1024. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  1025. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +33 -33
  1026. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +29 -29
  1027. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  1028. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts +71 -71
  1029. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +180 -180
  1030. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  1031. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.scss +87 -87
  1032. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +117 -117
  1033. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +143 -143
  1034. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  1035. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.scss +72 -72
  1036. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +44 -44
  1037. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +99 -99
  1038. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  1039. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.scss +13 -13
  1040. package/lib/esm/appui-react/pickers/ListPicker.d.ts +111 -111
  1041. package/lib/esm/appui-react/pickers/ListPicker.js +187 -187
  1042. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  1043. package/lib/esm/appui-react/pickers/ListPicker.scss +299 -299
  1044. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +90 -90
  1045. package/lib/esm/appui-react/pickers/ViewSelector.js +246 -246
  1046. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  1047. package/lib/esm/appui-react/popup/CardPopup.d.ts +48 -48
  1048. package/lib/esm/appui-react/popup/CardPopup.js +84 -84
  1049. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  1050. package/lib/esm/appui-react/popup/CardPopup.scss +25 -25
  1051. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +30 -30
  1052. package/lib/esm/appui-react/popup/HTMLElementPopup.js +38 -38
  1053. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  1054. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +38 -38
  1055. package/lib/esm/appui-react/popup/InputEditorPopup.js +52 -52
  1056. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  1057. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +19 -19
  1058. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +248 -248
  1059. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  1060. package/lib/esm/appui-react/popup/KeyinPalettePanel.scss +30 -30
  1061. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +19 -19
  1062. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +43 -43
  1063. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  1064. package/lib/esm/appui-react/popup/PopupManager.d.ts +105 -105
  1065. package/lib/esm/appui-react/popup/PopupManager.js +225 -225
  1066. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  1067. package/lib/esm/appui-react/popup/PositionPopup.d.ts +28 -28
  1068. package/lib/esm/appui-react/popup/PositionPopup.js +43 -43
  1069. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  1070. package/lib/esm/appui-react/popup/PositionPopup.scss +28 -28
  1071. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts +33 -33
  1072. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +52 -52
  1073. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  1074. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +34 -34
  1075. package/lib/esm/appui-react/popup/ToolbarPopup.js +53 -53
  1076. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  1077. package/lib/esm/appui-react/redux/FrameworkState.d.ts +22 -22
  1078. package/lib/esm/appui-react/redux/FrameworkState.js +17 -17
  1079. package/lib/esm/appui-react/redux/FrameworkState.js.map +1 -1
  1080. package/lib/esm/appui-react/redux/ReducerRegistry.d.ts +36 -36
  1081. package/lib/esm/appui-react/redux/ReducerRegistry.js +56 -56
  1082. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  1083. package/lib/esm/appui-react/redux/SessionState.d.ts +103 -103
  1084. package/lib/esm/appui-react/redux/SessionState.js +126 -126
  1085. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  1086. package/lib/esm/appui-react/redux/StateManager.d.ts +43 -43
  1087. package/lib/esm/appui-react/redux/StateManager.js +93 -93
  1088. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  1089. package/lib/esm/appui-react/redux/connectIModel.d.ts +26 -26
  1090. package/lib/esm/appui-react/redux/connectIModel.js +89 -89
  1091. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  1092. package/lib/esm/appui-react/redux/redux-ts.d.ts +197 -197
  1093. package/lib/esm/appui-react/redux/redux-ts.js +32 -32
  1094. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  1095. package/lib/esm/appui-react/safearea/SafeAreaContext.d.ts +10 -10
  1096. package/lib/esm/appui-react/safearea/SafeAreaContext.js +13 -13
  1097. package/lib/esm/appui-react/safearea/SafeAreaContext.js.map +1 -1
  1098. package/lib/esm/appui-react/safearea/SafeAreaHelpers.d.ts +7 -7
  1099. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js +11 -11
  1100. package/lib/esm/appui-react/safearea/SafeAreaHelpers.js.map +1 -1
  1101. package/lib/esm/appui-react/safearea/SafeAreaInsets.d.ts +13 -13
  1102. package/lib/esm/appui-react/safearea/SafeAreaInsets.js +18 -18
  1103. package/lib/esm/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  1104. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.d.ts +306 -306
  1105. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +690 -690
  1106. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  1107. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts +54 -54
  1108. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +188 -188
  1109. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  1110. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts +26 -26
  1111. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +197 -197
  1112. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  1113. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +119 -119
  1114. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts +17 -17
  1115. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +49 -49
  1116. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  1117. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts +27 -27
  1118. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +188 -188
  1119. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  1120. package/lib/esm/appui-react/settings/ui/UiSettingsPage.scss +66 -66
  1121. package/lib/esm/appui-react/shared/ActionButtonItemDef.d.ts +28 -28
  1122. package/lib/esm/appui-react/shared/ActionButtonItemDef.js +44 -44
  1123. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  1124. package/lib/esm/appui-react/shared/AnyItemDef.d.ts +11 -11
  1125. package/lib/esm/appui-react/shared/AnyItemDef.js +8 -8
  1126. package/lib/esm/appui-react/shared/AnyItemDef.js.map +1 -1
  1127. package/lib/esm/appui-react/shared/AnyToolbarItemDef.d.ts +9 -9
  1128. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js +8 -8
  1129. package/lib/esm/appui-react/shared/AnyToolbarItemDef.js.map +1 -1
  1130. package/lib/esm/appui-react/shared/CommandItemDef.d.ts +16 -16
  1131. package/lib/esm/appui-react/shared/CommandItemDef.js +31 -31
  1132. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  1133. package/lib/esm/appui-react/shared/CustomItemDef.d.ts +17 -17
  1134. package/lib/esm/appui-react/shared/CustomItemDef.js +28 -28
  1135. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  1136. package/lib/esm/appui-react/shared/CustomItemProps.d.ts +12 -12
  1137. package/lib/esm/appui-react/shared/CustomItemProps.js +8 -8
  1138. package/lib/esm/appui-react/shared/CustomItemProps.js.map +1 -1
  1139. package/lib/esm/appui-react/shared/GroupItemProps.d.ts +19 -19
  1140. package/lib/esm/appui-react/shared/GroupItemProps.js +8 -8
  1141. package/lib/esm/appui-react/shared/GroupItemProps.js.map +1 -1
  1142. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +58 -58
  1143. package/lib/esm/appui-react/shared/ItemDefBase.js +74 -74
  1144. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  1145. package/lib/esm/appui-react/shared/ItemMap.d.ts +21 -21
  1146. package/lib/esm/appui-react/shared/ItemMap.js +46 -46
  1147. package/lib/esm/appui-react/shared/ItemMap.js.map +1 -1
  1148. package/lib/esm/appui-react/shared/ItemProps.d.ts +48 -48
  1149. package/lib/esm/appui-react/shared/ItemProps.js +8 -8
  1150. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  1151. package/lib/esm/appui-react/shared/MenuItem.d.ts +36 -36
  1152. package/lib/esm/appui-react/shared/MenuItem.js +107 -107
  1153. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  1154. package/lib/esm/appui-react/shared/SelectionScope.d.ts +13 -13
  1155. package/lib/esm/appui-react/shared/SelectionScope.js +18 -18
  1156. package/lib/esm/appui-react/shared/SelectionScope.js.map +1 -1
  1157. package/lib/esm/appui-react/shared/ToolItemDef.d.ts +17 -17
  1158. package/lib/esm/appui-react/shared/ToolItemDef.js +35 -35
  1159. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  1160. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +44 -44
  1161. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js +8 -8
  1162. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  1163. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +263 -263
  1164. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +209 -209
  1165. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  1166. package/lib/esm/appui-react/statusbar/Indicator.d.ts +25 -25
  1167. package/lib/esm/appui-react/statusbar/Indicator.js +31 -31
  1168. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  1169. package/lib/esm/appui-react/statusbar/Indicator.scss +110 -110
  1170. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +23 -23
  1171. package/lib/esm/appui-react/statusbar/LabelIndicator.js +24 -24
  1172. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  1173. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +43 -43
  1174. package/lib/esm/appui-react/statusbar/Overflow.d.ts +19 -19
  1175. package/lib/esm/appui-react/statusbar/Overflow.js +26 -26
  1176. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  1177. package/lib/esm/appui-react/statusbar/Overflow.scss +27 -27
  1178. package/lib/esm/appui-react/statusbar/OverflowPanel.d.ts +20 -20
  1179. package/lib/esm/appui-react/statusbar/OverflowPanel.js +18 -18
  1180. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +1 -1
  1181. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +22 -22
  1182. package/lib/esm/appui-react/statusbar/Separator.d.ts +10 -10
  1183. package/lib/esm/appui-react/statusbar/Separator.js +17 -17
  1184. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  1185. package/lib/esm/appui-react/statusbar/Separator.scss +14 -14
  1186. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +62 -62
  1187. package/lib/esm/appui-react/statusbar/StatusBar.js +121 -121
  1188. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  1189. package/lib/esm/appui-react/statusbar/StatusBar.scss +43 -43
  1190. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts +46 -46
  1191. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +276 -276
  1192. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  1193. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +16 -16
  1194. package/lib/esm/appui-react/statusbar/StatusBarItem.js +13 -13
  1195. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  1196. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.d.ts +13 -13
  1197. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js +18 -18
  1198. package/lib/esm/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  1199. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.d.ts +20 -20
  1200. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js +19 -19
  1201. package/lib/esm/appui-react/statusbar/StatusBarWidgetControl.js.map +1 -1
  1202. package/lib/esm/appui-react/statusbar/dialog/Button.d.ts +20 -20
  1203. package/lib/esm/appui-react/statusbar/dialog/Button.js +15 -15
  1204. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  1205. package/lib/esm/appui-react/statusbar/dialog/Dialog.d.ts +29 -29
  1206. package/lib/esm/appui-react/statusbar/dialog/Dialog.js +26 -26
  1207. package/lib/esm/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  1208. package/lib/esm/appui-react/statusbar/dialog/TitleBar.d.ts +18 -18
  1209. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js +15 -15
  1210. package/lib/esm/appui-react/statusbar/dialog/TitleBar.js.map +1 -1
  1211. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.d.ts +8 -8
  1212. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js +33 -33
  1213. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  1214. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts +8 -8
  1215. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +51 -51
  1216. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  1217. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts +9 -9
  1218. package/lib/esm/appui-react/statusfields/ActivityCenter.js +55 -55
  1219. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  1220. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +46 -46
  1221. package/lib/esm/appui-react/statusfields/MessageCenter.js +119 -119
  1222. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  1223. package/lib/esm/appui-react/statusfields/SectionsField.d.ts +16 -16
  1224. package/lib/esm/appui-react/statusfields/SectionsField.js +73 -73
  1225. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  1226. package/lib/esm/appui-react/statusfields/SectionsField.scss +36 -36
  1227. package/lib/esm/appui-react/statusfields/SelectionInfo.d.ts +26 -26
  1228. package/lib/esm/appui-react/statusfields/SelectionInfo.js +44 -44
  1229. package/lib/esm/appui-react/statusfields/SelectionInfo.js.map +1 -1
  1230. package/lib/esm/appui-react/statusfields/SelectionInfo.scss +14 -14
  1231. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts +37 -37
  1232. package/lib/esm/appui-react/statusfields/SelectionScope.js +63 -63
  1233. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  1234. package/lib/esm/appui-react/statusfields/SelectionScope.scss +46 -46
  1235. package/lib/esm/appui-react/statusfields/SnapMode.d.ts +41 -41
  1236. package/lib/esm/appui-react/statusfields/SnapMode.js +85 -85
  1237. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  1238. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +30 -30
  1239. package/lib/esm/appui-react/statusfields/ViewAttributes.js +88 -88
  1240. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  1241. package/lib/esm/appui-react/statusfields/ViewAttributes.scss +14 -14
  1242. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts +31 -31
  1243. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +87 -87
  1244. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  1245. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +45 -45
  1246. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +95 -95
  1247. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +439 -439
  1248. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1249. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +194 -194
  1250. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts +79 -79
  1251. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +220 -220
  1252. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  1253. package/lib/esm/appui-react/theme/ThemeManager.d.ts +55 -55
  1254. package/lib/esm/appui-react/theme/ThemeManager.js +94 -94
  1255. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  1256. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.d.ts +15 -15
  1257. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js +48 -48
  1258. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  1259. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.d.ts +15 -15
  1260. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js +54 -54
  1261. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  1262. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts +19 -19
  1263. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +61 -61
  1264. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  1265. package/lib/esm/appui-react/toolbar/DragInteraction.d.ts +8 -8
  1266. package/lib/esm/appui-react/toolbar/DragInteraction.js +12 -12
  1267. package/lib/esm/appui-react/toolbar/DragInteraction.js.map +1 -1
  1268. package/lib/esm/appui-react/toolbar/GroupItem.d.ts +37 -37
  1269. package/lib/esm/appui-react/toolbar/GroupItem.js +72 -72
  1270. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  1271. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +19 -19
  1272. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +221 -221
  1273. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  1274. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts +26 -26
  1275. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +134 -134
  1276. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  1277. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.d.ts +8 -8
  1278. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js +32 -32
  1279. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  1280. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.d.ts +8 -8
  1281. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +48 -48
  1282. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  1283. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts +36 -36
  1284. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +364 -364
  1285. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1286. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts +11 -11
  1287. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +27 -27
  1288. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  1289. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts +16 -16
  1290. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +26 -26
  1291. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  1292. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts +16 -16
  1293. package/lib/esm/appui-react/tools/OpenSettingsTool.js +28 -28
  1294. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  1295. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts +26 -26
  1296. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +55 -55
  1297. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  1298. package/lib/esm/appui-react/tools/ToolSettingsTools.d.ts +22 -22
  1299. package/lib/esm/appui-react/tools/ToolSettingsTools.js +41 -41
  1300. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  1301. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts +25 -25
  1302. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +70 -70
  1303. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  1304. package/lib/esm/appui-react/toolsettings/ToolInformation.d.ts +14 -14
  1305. package/lib/esm/appui-react/toolsettings/ToolInformation.js +41 -41
  1306. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  1307. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.d.ts +58 -58
  1308. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js +124 -124
  1309. package/lib/esm/appui-react/toolsettings/ToolSettingsManager.js.map +1 -1
  1310. package/lib/esm/appui-react/toolsettings/ToolUiProvider.d.ts +35 -35
  1311. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js +34 -34
  1312. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  1313. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.d.ts +62 -62
  1314. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js +99 -99
  1315. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsProvider.js.map +1 -1
  1316. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts +36 -36
  1317. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +82 -82
  1318. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1319. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.d.ts +24 -24
  1320. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js +62 -62
  1321. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsProvider.js.map +1 -1
  1322. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.d.ts +33 -33
  1323. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +48 -48
  1324. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  1325. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.d.ts +24 -24
  1326. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js +72 -72
  1327. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarItemsProvider.js.map +1 -1
  1328. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.d.ts +31 -31
  1329. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +65 -65
  1330. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1331. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +201 -201
  1332. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +344 -344
  1333. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1334. package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts +27 -27
  1335. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +202 -202
  1336. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  1337. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts +27 -27
  1338. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +47 -47
  1339. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  1340. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +213 -213
  1341. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts +49 -49
  1342. package/lib/esm/appui-react/uistate/AppUiSettings.js +85 -85
  1343. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  1344. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts +19 -19
  1345. package/lib/esm/appui-react/uistate/useUiStateStorage.js +33 -33
  1346. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  1347. package/lib/esm/appui-react/utils/PropsHelper.d.ts +20 -20
  1348. package/lib/esm/appui-react/utils/PropsHelper.js +62 -62
  1349. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1350. package/lib/esm/appui-react/utils/ToolbarButtonHelper.d.ts +17 -17
  1351. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js +56 -56
  1352. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  1353. package/lib/esm/appui-react/utils/UiShowHideManager.d.ts +83 -83
  1354. package/lib/esm/appui-react/utils/UiShowHideManager.js +191 -191
  1355. package/lib/esm/appui-react/utils/UiShowHideManager.js.map +1 -1
  1356. package/lib/esm/appui-react/utils/ViewUtilities.d.ts +66 -66
  1357. package/lib/esm/appui-react/utils/ViewUtilities.js +94 -94
  1358. package/lib/esm/appui-react/utils/ViewUtilities.js.map +1 -1
  1359. package/lib/esm/appui-react/widget-panels/Content.d.ts +6 -6
  1360. package/lib/esm/appui-react/widget-panels/Content.js +55 -55
  1361. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1362. package/lib/esm/appui-react/widget-panels/FloatingWidget.d.ts +6 -6
  1363. package/lib/esm/appui-react/widget-panels/FloatingWidget.js +14 -14
  1364. package/lib/esm/appui-react/widget-panels/FloatingWidget.js.map +1 -1
  1365. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +123 -123
  1366. package/lib/esm/appui-react/widget-panels/Frontstage.js +1054 -1054
  1367. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1368. package/lib/esm/appui-react/widget-panels/Frontstage.scss +19 -19
  1369. package/lib/esm/appui-react/widget-panels/FrontstageContent.d.ts +3 -3
  1370. package/lib/esm/appui-react/widget-panels/FrontstageContent.js +17 -17
  1371. package/lib/esm/appui-react/widget-panels/FrontstageContent.js.map +1 -1
  1372. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts +8 -8
  1373. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +33 -33
  1374. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  1375. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts +8 -8
  1376. package/lib/esm/appui-react/widget-panels/StatusBar.js +23 -23
  1377. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1378. package/lib/esm/appui-react/widget-panels/StatusBar.scss +10 -10
  1379. package/lib/esm/appui-react/widget-panels/Tab.d.ts +10 -10
  1380. package/lib/esm/appui-react/widget-panels/Tab.js +29 -29
  1381. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  1382. package/lib/esm/appui-react/widget-panels/Tab.scss +14 -14
  1383. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +37 -37
  1384. package/lib/esm/appui-react/widget-panels/ToolSettings.js +145 -145
  1385. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  1386. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +41 -41
  1387. package/lib/esm/appui-react/widget-panels/Toolbars.d.ts +7 -7
  1388. package/lib/esm/appui-react/widget-panels/Toolbars.js +20 -20
  1389. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  1390. package/lib/esm/appui-react/widget-panels/Toolbars.scss +20 -20
  1391. package/lib/esm/appui-react/widget-panels/useTransientState.d.ts +7 -7
  1392. package/lib/esm/appui-react/widget-panels/useTransientState.js +14 -14
  1393. package/lib/esm/appui-react/widget-panels/useTransientState.js.map +1 -1
  1394. package/lib/esm/appui-react/widget-panels/useWidgetDirection.d.ts +8 -8
  1395. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js +25 -25
  1396. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  1397. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts +21 -21
  1398. package/lib/esm/appui-react/widgets/BackstageAppButton.js +49 -49
  1399. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1400. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts +19 -19
  1401. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +56 -56
  1402. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  1403. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts +23 -23
  1404. package/lib/esm/appui-react/widgets/BasicToolWidget.js +57 -57
  1405. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  1406. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts +37 -37
  1407. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +44 -44
  1408. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  1409. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts +38 -38
  1410. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +104 -104
  1411. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1412. package/lib/esm/appui-react/widgets/StableWidgetDef.d.ts +8 -8
  1413. package/lib/esm/appui-react/widgets/StableWidgetDef.js +25 -25
  1414. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  1415. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +27 -27
  1416. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +38 -38
  1417. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  1418. package/lib/esm/appui-react/widgets/ToolSettingsContent.d.ts +10 -10
  1419. package/lib/esm/appui-react/widgets/ToolSettingsContent.js +12 -12
  1420. package/lib/esm/appui-react/widgets/ToolSettingsContent.js.map +1 -1
  1421. package/lib/esm/appui-react/widgets/ToolWidgetComposer.d.ts +23 -23
  1422. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js +30 -30
  1423. package/lib/esm/appui-react/widgets/ToolWidgetComposer.js.map +1 -1
  1424. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts +26 -26
  1425. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +32 -32
  1426. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  1427. package/lib/esm/appui-react/widgets/WidgetConfig.d.ts +25 -25
  1428. package/lib/esm/appui-react/widgets/WidgetConfig.js +8 -8
  1429. package/lib/esm/appui-react/widgets/WidgetConfig.js.map +1 -1
  1430. package/lib/esm/appui-react/widgets/WidgetControl.d.ts +33 -33
  1431. package/lib/esm/appui-react/widgets/WidgetControl.js +40 -40
  1432. package/lib/esm/appui-react/widgets/WidgetControl.js.map +1 -1
  1433. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +168 -168
  1434. package/lib/esm/appui-react/widgets/WidgetDef.js +318 -318
  1435. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1436. package/lib/esm/appui-react/widgets/WidgetHost.d.ts +40 -40
  1437. package/lib/esm/appui-react/widgets/WidgetHost.js +86 -86
  1438. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1439. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +54 -54
  1440. package/lib/esm/appui-react/widgets/WidgetManager.js +112 -112
  1441. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  1442. package/lib/esm/appui-react.d.ts +319 -327
  1443. package/lib/esm/appui-react.d.ts.map +1 -1
  1444. package/lib/esm/appui-react.js +324 -332
  1445. package/lib/esm/appui-react.js.map +1 -1
  1446. package/lib/public/locales/en/UiFramework.json +381 -381
  1447. package/package.json +11 -11
  1448. package/lib/cjs/appui-react/imodel-components/Common.d.ts +0 -24
  1449. package/lib/cjs/appui-react/imodel-components/Common.d.ts.map +0 -1
  1450. package/lib/cjs/appui-react/imodel-components/Common.js +0 -24
  1451. package/lib/cjs/appui-react/imodel-components/Common.js.map +0 -1
  1452. package/lib/cjs/appui-react/imodel-components/VisibilityTreeBase.scss +0 -53
  1453. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +0 -66
  1454. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +0 -1
  1455. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js +0 -147
  1456. package/lib/cjs/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +0 -1
  1457. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +0 -46
  1458. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +0 -1
  1459. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js +0 -65
  1460. package/lib/cjs/appui-react/imodel-components/VisibilityTreeRenderer.js.map +0 -1
  1461. package/lib/cjs/appui-react/imodel-components/category-tree/Categories.json +0 -102
  1462. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +0 -68
  1463. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +0 -1
  1464. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js +0 -105
  1465. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.js.map +0 -1
  1466. package/lib/cjs/appui-react/imodel-components/category-tree/CategoriesTree.scss +0 -9
  1467. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +0 -57
  1468. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +0 -1
  1469. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +0 -197
  1470. package/lib/cjs/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +0 -1
  1471. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +0 -392
  1472. package/lib/cjs/appui-react/imodel-components/models-tree/Hierarchy.json +0 -387
  1473. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -83
  1474. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +0 -1
  1475. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js +0 -128
  1476. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.js.map +0 -1
  1477. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTree.scss +0 -9
  1478. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +0 -239
  1479. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +0 -101
  1480. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +0 -1
  1481. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +0 -480
  1482. package/lib/cjs/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +0 -1
  1483. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts +0 -10
  1484. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.d.ts.map +0 -1
  1485. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js +0 -23
  1486. package/lib/cjs/appui-react/imodel-components/models-tree/Utils.js.map +0 -1
  1487. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +0 -79
  1488. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +0 -79
  1489. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +0 -34
  1490. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +0 -1
  1491. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +0 -42
  1492. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +0 -1
  1493. package/lib/cjs/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +0 -9
  1494. package/lib/esm/appui-react/imodel-components/Common.d.ts +0 -24
  1495. package/lib/esm/appui-react/imodel-components/Common.d.ts.map +0 -1
  1496. package/lib/esm/appui-react/imodel-components/Common.js +0 -21
  1497. package/lib/esm/appui-react/imodel-components/Common.js.map +0 -1
  1498. package/lib/esm/appui-react/imodel-components/VisibilityTreeBase.scss +0 -53
  1499. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts +0 -66
  1500. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.d.ts.map +0 -1
  1501. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js +0 -143
  1502. package/lib/esm/appui-react/imodel-components/VisibilityTreeEventHandler.js.map +0 -1
  1503. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts +0 -46
  1504. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.d.ts.map +0 -1
  1505. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js +0 -57
  1506. package/lib/esm/appui-react/imodel-components/VisibilityTreeRenderer.js.map +0 -1
  1507. package/lib/esm/appui-react/imodel-components/category-tree/Categories.json +0 -102
  1508. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts +0 -68
  1509. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.d.ts.map +0 -1
  1510. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js +0 -99
  1511. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.js.map +0 -1
  1512. package/lib/esm/appui-react/imodel-components/category-tree/CategoriesTree.scss +0 -9
  1513. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts +0 -57
  1514. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.d.ts.map +0 -1
  1515. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js +0 -191
  1516. package/lib/esm/appui-react/imodel-components/category-tree/CategoryVisibilityHandler.js.map +0 -1
  1517. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.GroupedByClass.json +0 -392
  1518. package/lib/esm/appui-react/imodel-components/models-tree/Hierarchy.json +0 -387
  1519. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts +0 -83
  1520. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.d.ts.map +0 -1
  1521. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js +0 -124
  1522. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.js.map +0 -1
  1523. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTree.scss +0 -9
  1524. package/lib/esm/appui-react/imodel-components/models-tree/ModelsTreeSearch.json +0 -239
  1525. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts +0 -101
  1526. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.d.ts.map +0 -1
  1527. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js +0 -475
  1528. package/lib/esm/appui-react/imodel-components/models-tree/ModelsVisibilityHandler.js.map +0 -1
  1529. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts +0 -10
  1530. package/lib/esm/appui-react/imodel-components/models-tree/Utils.d.ts.map +0 -1
  1531. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js +0 -19
  1532. package/lib/esm/appui-react/imodel-components/models-tree/Utils.js.map +0 -1
  1533. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.GroupedByClass.json +0 -79
  1534. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialBreakdown.json +0 -79
  1535. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts +0 -34
  1536. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.d.ts.map +0 -1
  1537. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js +0 -38
  1538. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.js.map +0 -1
  1539. package/lib/esm/appui-react/imodel-components/spatial-tree/SpatialContainmentTree.scss +0 -9
@@ -1,1055 +1,1055 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Frontstage
7
- */
8
- // cSpell:ignore popout
9
- import "./Frontstage.scss";
10
- import produce from "immer";
11
- import * as React from "react";
12
- import { unstable_batchedUpdates } from "react-dom";
13
- import { assert, Logger, ProcessDetector } from "@itwin/core-bentley";
14
- import { StagePanelLocation, StagePanelSection, UiItemsManager, WidgetState } from "@itwin/appui-abstract";
15
- import { Rectangle, Size, UiStateStorageStatus } from "@itwin/core-react";
16
- import { ToolbarPopupAutoHideContext } from "@itwin/components-react";
17
- import { addFloatingWidget, addPanelWidget, addTab, addTabToWidget, convertAllPopupWidgetContainersToFloating, createLayoutStore, createNineZoneState, floatingWidgetBringToFront, FloatingWidgets, getTabLocation, getUniqueId, getWidgetPanelSectionId, insertPanelWidget, insertTabToWidget, isFloatingTabLocation, isHorizontalPanelSide, isPanelTabLocation, isPopoutTabLocation, NineZone, NineZoneStateReducer, panelSides, removeTab, removeTabFromWidget, toolSettingsTabId, WidgetPanels, } from "@itwin/appui-layout-react";
18
- import { FrontstageManager } from "../frontstage/FrontstageManager";
19
- import { StagePanelState, toPanelSide } from "../stagepanels/StagePanelDef";
20
- import { UiFramework } from "../UiFramework";
21
- import { useUiStateStorageHandler } from "../uistate/useUiStateStorage";
22
- import { WidgetContent } from "./Content";
23
- import { WidgetPanelsFrontstageContent } from "./FrontstageContent";
24
- import { ModalFrontstageComposer, useActiveModalFrontstageInfo } from "./ModalFrontstageComposer";
25
- import { WidgetPanelsStatusBar } from "./StatusBar";
26
- import { WidgetPanelsTab } from "./Tab";
27
- import { WidgetPanelsToolbars } from "./Toolbars";
28
- import { ToolSettingsContent, WidgetPanelsToolSettings } from "./ToolSettings";
29
- import { useEscapeSetFocusToHome } from "../hooks/useEscapeSetFocusToHome";
30
- import { useSelector } from "react-redux";
31
- import { useUiVisibility } from "../hooks/useUiVisibility";
32
- import { IModelApp } from "@itwin/core-frontend";
33
- import { FloatingWidget } from "./FloatingWidget";
34
- function WidgetPanelsFrontstageComponent() {
35
- const activeModalFrontstageInfo = useActiveModalFrontstageInfo();
36
- const uiIsVisible = useUiVisibility();
37
- return (React.createElement(React.Fragment, null,
38
- React.createElement(WidgetPanelsToolSettings, null),
39
- React.createElement(ToolbarPopupAutoHideContext.Provider, { value: !uiIsVisible },
40
- React.createElement(ModalFrontstageComposer, { stageInfo: activeModalFrontstageInfo }),
41
- React.createElement(WidgetPanels, { className: "uifw-widgetPanels", centerContent: React.createElement(WidgetPanelsToolbars, null) },
42
- React.createElement(WidgetPanelsFrontstageContent, null)),
43
- React.createElement(WidgetPanelsStatusBar, null),
44
- React.createElement(FloatingWidgets, null))));
45
- }
46
- const widgetContent = React.createElement(WidgetContent, null);
47
- const toolSettingsContent = React.createElement(ToolSettingsContent, null);
48
- const widgetPanelsFrontstage = React.createElement(WidgetPanelsFrontstageComponent, null);
49
- /** @internal */
50
- export function useLayoutStore() {
51
- const [def, setDef] = React.useState(FrontstageManager.activeFrontstageDef);
52
- const [layout, setLayout] = React.useState(() => createLayoutStore(def === null || def === void 0 ? void 0 : def.nineZoneState));
53
- React.useEffect(() => {
54
- return FrontstageManager.onFrontstageActivatedEvent.addListener((args) => {
55
- unstable_batchedUpdates(() => {
56
- setDef(args.activatedFrontstageDef);
57
- setLayout(createLayoutStore(args.activatedFrontstageDef.nineZoneState));
58
- });
59
- });
60
- }, []);
61
- React.useEffect(() => {
62
- return FrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener((args) => {
63
- if (args.frontstageDef !== def || def.isStageClosing || def.isApplicationClosing)
64
- return;
65
- unstable_batchedUpdates(() => {
66
- layout.setState(args.state || defaultNineZone);
67
- });
68
- });
69
- }, [def, layout]);
70
- return [layout, def];
71
- }
72
- /** Update in-memory NineZoneState of newly activated frontstage with up to date size.
73
- * @internal
74
- */
75
- export function useUpdateNineZoneSize(frontstageDef) {
76
- React.useEffect(() => {
77
- const size = FrontstageManager.nineZoneSize;
78
- let state = frontstageDef.nineZoneState;
79
- if (!size || !state)
80
- return;
81
- state = FrameworkStateReducer(state, {
82
- type: "RESIZE",
83
- size: {
84
- height: size.height,
85
- width: size.width,
86
- },
87
- }, frontstageDef);
88
- frontstageDef.nineZoneState = state;
89
- }, [frontstageDef]);
90
- }
91
- /** @internal */
92
- export function FrameworkStateReducer(state, action, frontstageDef) {
93
- state = NineZoneStateReducer(state, action);
94
- if (action.type === "RESIZE") {
95
- state = produce(state, (draft) => {
96
- for (const panelSide of panelSides) {
97
- const panel = draft.panels[panelSide];
98
- const location = toStagePanelLocation(panelSide);
99
- const panelDef = frontstageDef.getStagePanelDef(location);
100
- if (panelDef === null || panelDef === void 0 ? void 0 : panelDef.maxSizeSpec) {
101
- panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);
102
- if (panel.size) {
103
- panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);
104
- }
105
- }
106
- }
107
- });
108
- }
109
- return state;
110
- }
111
- /** @internal */
112
- export function useNineZoneDispatch(frontstageDef) {
113
- const dispatch = React.useCallback((action) => {
114
- if (action.type === "RESIZE") {
115
- FrontstageManager.nineZoneSize = Size.create(action.size);
116
- }
117
- // istanbul ignore if
118
- if (action.type === "TOOL_SETTINGS_DRAG_START") {
119
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
120
- UiFramework.postTelemetry("Tool Settings Undocking", "28B04E07-AE73-4533-A0BA-8E2A8DC99ADF");
121
- }
122
- // istanbul ignore if
123
- if (action.type === "TOOL_SETTINGS_DOCK") {
124
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
125
- UiFramework.postTelemetry("Tool Settings Docking to Settings Bar", "BEDE684B-B3DB-4637-B3AF-DC3CBA223F94");
126
- }
127
- if (action.type === "WIDGET_TAB_POPOUT") {
128
- const tabId = action.id;
129
- frontstageDef.popoutWidget(tabId);
130
- return;
131
- }
132
- const state = frontstageDef.nineZoneState;
133
- if (!state)
134
- return;
135
- frontstageDef.nineZoneState = FrameworkStateReducer(state, action, frontstageDef);
136
- }, [frontstageDef]);
137
- return dispatch;
138
- }
139
- /** @internal */
140
- export function WidgetPanelsFrontstage() {
141
- const [layout, frontstageDef] = useLayoutStore();
142
- React.useEffect(() => {
143
- const triggerWidowCloseProcessing = () => {
144
- frontstageDef && frontstageDef.setIsApplicationClosing(true);
145
- };
146
- frontstageDef && frontstageDef.setIsApplicationClosing(false);
147
- window.addEventListener("unload", triggerWidowCloseProcessing);
148
- return () => {
149
- window.removeEventListener("unload", triggerWidowCloseProcessing);
150
- };
151
- }, [frontstageDef]);
152
- if (!frontstageDef)
153
- return null;
154
- return (React.createElement(ActiveFrontstageDefProvider, { frontstageDef: frontstageDef, layout: layout }));
155
- }
156
- const defaultNineZone = createNineZoneState();
157
- const tabElement = React.createElement(WidgetPanelsTab, null);
158
- const floatingWidgetElement = React.createElement(FloatingWidget, null);
159
- /** @internal */
160
- export function ActiveFrontstageDefProvider({ frontstageDef, layout }) {
161
- const dispatch = useNineZoneDispatch(frontstageDef);
162
- useUpdateNineZoneSize(frontstageDef);
163
- useSavedFrontstageState(frontstageDef);
164
- useSaveFrontstageSettings(frontstageDef, layout);
165
- useItemsManager(frontstageDef);
166
- const labels = useLabels();
167
- const uiIsVisible = useUiVisibility();
168
- const showWidgetIcon = useSelector((state) => {
169
- const frameworkState = state[UiFramework.frameworkStateKey];
170
- return !!frameworkState.configurableUiState.showWidgetIcon;
171
- });
172
- const autoCollapseUnpinnedPanels = useSelector((state) => {
173
- const frameworkState = state[UiFramework.frameworkStateKey];
174
- return !!frameworkState.configurableUiState.autoCollapseUnpinnedPanels;
175
- });
176
- const animateToolSettings = useSelector((state) => {
177
- const frameworkState = state[UiFramework.frameworkStateKey];
178
- return !!frameworkState.configurableUiState.animateToolSettings;
179
- });
180
- const useToolAsToolSettingsLabel = useSelector((state) => {
181
- const frameworkState = state[UiFramework.frameworkStateKey];
182
- return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;
183
- });
184
- useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);
185
- const handleKeyDown = useEscapeSetFocusToHome();
186
- return (React.createElement("div", { className: "uifw-widgetPanels-frontstage", onKeyDown: handleKeyDown, role: "presentation" },
187
- React.createElement(NineZone, { dispatch: dispatch, labels: labels, layout: layout, tab: tabElement, floatingWidget: floatingWidgetElement, showWidgetIcon: showWidgetIcon, autoCollapseUnpinnedPanels: autoCollapseUnpinnedPanels, toolSettingsContent: toolSettingsContent, widgetContent: widgetContent, animateDockedToolSettings: animateToolSettings, uiIsVisible: uiIsVisible }, widgetPanelsFrontstage)));
188
- }
189
- /** @internal */
190
- export function useLabels() {
191
- return React.useMemo(() => ({
192
- dockToolSettingsTitle: UiFramework.translate("widget.tooltips.dockToolSettings"),
193
- moreWidgetsTitle: UiFramework.translate("widget.tooltips.moreWidgets"),
194
- moreToolSettingsTitle: UiFramework.translate("widget.tooltips.moreToolSettings"),
195
- pinPanelTitle: UiFramework.translate("widget.tooltips.pinPanel"),
196
- resizeGripTitle: UiFramework.translate("widget.tooltips.resizeGrip"),
197
- sendWidgetHomeTitle: UiFramework.translate("widget.tooltips.sendHome"),
198
- toolSettingsHandleTitle: UiFramework.translate("widget.tooltips.toolSettingsHandle"),
199
- unpinPanelTitle: UiFramework.translate("widget.tooltips.unpinPanel"),
200
- popoutActiveTab: UiFramework.translate("widget.tooltips.popoutActiveTab"),
201
- }), []);
202
- }
203
- /** @internal */
204
- export function addWidgets(state, widgets, side, widgetId) {
205
- const visibleWidgets = widgets.filter((w) => w.isVisible && (w.defaultState !== WidgetState.Floating));
206
- if (visibleWidgets.length === 0)
207
- return state;
208
- const tabs = new Array();
209
- for (const widget of visibleWidgets) {
210
- const label = getWidgetLabel(widget.label);
211
- state = addTab(state, widget.id, {
212
- label,
213
- iconSpec: widget.iconSpec,
214
- preferredPanelWidgetSize: widget.preferredPanelSize,
215
- preferredFloatingWidgetSize: widget.defaultFloatingSize,
216
- canPopout: widget.canPopout,
217
- isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,
218
- hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
219
- allowedPanelTargets: widget.allowedPanelTargets,
220
- });
221
- tabs.push(widget.id);
222
- }
223
- const activeWidget = visibleWidgets.find((widget) => widget.isActive);
224
- const minimized = false;
225
- // istanbul ignore else
226
- if ((activeWidget === null || activeWidget === void 0 ? void 0 : activeWidget.defaultState) !== WidgetState.Floating) {
227
- state = addPanelWidget(state, side, widgetId, tabs, {
228
- activeTabId: activeWidget ? activeWidget.id : tabs[0],
229
- minimized,
230
- });
231
- }
232
- return state;
233
- }
234
- /** @internal */
235
- // istanbul ignore next
236
- export function appendWidgets(state, widgetDefs, location, section) {
237
- var _a;
238
- if (widgetDefs.length === 0)
239
- return state;
240
- const side = toPanelSide(location);
241
- // Add missing widget tabs.
242
- for (const widgetDef of widgetDefs) {
243
- const label = getWidgetLabel(widgetDef.label);
244
- const saveTab = state.tabs[widgetDef.id];
245
- const preferredPanelWidgetSize = saveTab ? saveTab.preferredPanelWidgetSize : widgetDef.preferredPanelSize;
246
- const preferredFloatingWidgetSize = saveTab ? saveTab.preferredFloatingWidgetSize : widgetDef.defaultFloatingSize;
247
- // if a defaultFloatingSize is specified then this mean the widget can't determine its intrinsic size and must be explicitly sized
248
- const userSized = saveTab ? (saveTab.userSized || !!widgetDef.defaultFloatingSize && !!saveTab.preferredFloatingWidgetSize)
249
- : !!widgetDef.defaultFloatingSize;
250
- state = addTab(state, widgetDef.id, {
251
- label,
252
- iconSpec: widgetDef.iconSpec,
253
- canPopout: widgetDef.canPopout,
254
- preferredPanelWidgetSize,
255
- preferredFloatingWidgetSize,
256
- userSized,
257
- isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
258
- hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
259
- allowedPanelTargets: widgetDef.allowedPanelTargets,
260
- });
261
- if (widgetDef.isFloatingStateSupported && widgetDef.defaultState === WidgetState.Floating) {
262
- const floatingContainerId = (_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : getUniqueId();
263
- const widgetContainerId = getWidgetId(location, section);
264
- const home = { side, widgetId: widgetContainerId, widgetIndex: 0 };
265
- const preferredPosition = widgetDef.defaultFloatingPosition;
266
- if (floatingContainerId in state.widgets) {
267
- state = addTabToWidget(state, widgetDef.id, floatingContainerId);
268
- }
269
- else {
270
- const tab = state.tabs[widgetDef.id];
271
- const size = { height: 200, width: 300, ...tab.preferredFloatingWidgetSize };
272
- const preferredPoint = preferredPosition !== null && preferredPosition !== void 0 ? preferredPosition : { x: (state.size.width - size.width) / 2, y: (state.size.height - size.height) / 2 };
273
- const nzBounds = Rectangle.createFromSize(state.size);
274
- const bounds = Rectangle.createFromSize(size).offset(preferredPoint);
275
- const containedBounds = bounds.containIn(nzBounds);
276
- state = addFloatingWidget(state, floatingContainerId, [widgetDef.id], {
277
- bounds: containedBounds.toProps(),
278
- home,
279
- userSized,
280
- }, {
281
- isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
282
- });
283
- }
284
- }
285
- else {
286
- const preferredWidgetIndex = section;
287
- const widgetPanelSectionId = getWidgetPanelSectionId(side, preferredWidgetIndex);
288
- if (widgetPanelSectionId in state.widgets) {
289
- state = addTabToWidget(state, widgetDef.id, widgetPanelSectionId);
290
- }
291
- else {
292
- const panel = state.panels[side];
293
- if (panel.widgets.length < panel.maxWidgetCount) {
294
- state = addPanelWidget(state, side, widgetPanelSectionId, [widgetDef.id]);
295
- }
296
- else {
297
- const widgetIndex = Math.min(preferredWidgetIndex, panel.widgets.length - 1);
298
- const widgetId = panel.widgets[widgetIndex];
299
- state = addTabToWidget(state, widgetDef.id, widgetId);
300
- }
301
- }
302
- }
303
- }
304
- return state;
305
- }
306
- function processPopoutWidgets(initialState, frontstageDef) {
307
- // istanbul ignore next
308
- if (!initialState.popoutWidgets)
309
- return initialState;
310
- // istanbul ignore next - not unit testing electron case that reopens popout windows
311
- if (initialState.popoutWidgets && ProcessDetector.isElectronAppFrontend) {
312
- if (initialState.popoutWidgets.allIds.length && ProcessDetector.isElectronAppFrontend) {
313
- for (const widgetContainerId of initialState.popoutWidgets.allIds) {
314
- frontstageDef.openPopoutWidgetContainer(initialState, widgetContainerId);
315
- }
316
- }
317
- return initialState;
318
- }
319
- return convertAllPopupWidgetContainersToFloating(initialState);
320
- }
321
- /** Adds frontstageDef widgets that are missing in NineZoneState.
322
- * @internal
323
- */
324
- export function addMissingWidgets(frontstageDef, initialState) {
325
- var _a, _b, _c, _d, _e, _f, _g, _h;
326
- let state = initialState;
327
- state = appendWidgets(state, determineNewWidgets((_a = frontstageDef.leftPanel) === null || _a === void 0 ? void 0 : _a.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Left, StagePanelSection.Start);
328
- state = appendWidgets(state, determineNewWidgets((_b = frontstageDef.leftPanel) === null || _b === void 0 ? void 0 : _b.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Left, StagePanelSection.End);
329
- state = appendWidgets(state, determineNewWidgets((_c = frontstageDef.rightPanel) === null || _c === void 0 ? void 0 : _c.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Right, StagePanelSection.Start);
330
- state = appendWidgets(state, determineNewWidgets((_d = frontstageDef.rightPanel) === null || _d === void 0 ? void 0 : _d.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Right, StagePanelSection.End);
331
- state = appendWidgets(state, determineNewWidgets((_e = frontstageDef.topPanel) === null || _e === void 0 ? void 0 : _e.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Top, StagePanelSection.Start);
332
- state = appendWidgets(state, determineNewWidgets((_f = frontstageDef.topPanel) === null || _f === void 0 ? void 0 : _f.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Top, StagePanelSection.End);
333
- state = appendWidgets(state, determineNewWidgets((_g = frontstageDef.bottomPanel) === null || _g === void 0 ? void 0 : _g.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.Start);
334
- state = appendWidgets(state, determineNewWidgets((_h = frontstageDef.bottomPanel) === null || _h === void 0 ? void 0 : _h.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.End);
335
- return state;
336
- }
337
- /** Hide widgets with Hidden defaultState. */
338
- function hideWidgets(state, frontstageDef) {
339
- const tabs = Object.values(state.tabs);
340
- for (const tab of tabs) {
341
- const widgetDef = frontstageDef.findWidgetDef(tab.id);
342
- if (!widgetDef)
343
- continue;
344
- if (widgetDef.defaultState === WidgetState.Hidden) {
345
- state = hideWidget(state, widgetDef);
346
- }
347
- }
348
- return state;
349
- }
350
- /** Removes NineZoneState widgets that are missing in frontstageDef.
351
- * @internal
352
- */
353
- export function removeMissingWidgets(frontstageDef, initialState) {
354
- let state = initialState;
355
- for (const [, tab] of Object.entries(state.tabs)) {
356
- if (tab.id === toolSettingsTabId)
357
- continue;
358
- const widgetDef = frontstageDef.findWidgetDef(tab.id);
359
- if (widgetDef)
360
- continue;
361
- state = removeTab(state, tab.id);
362
- }
363
- return state;
364
- }
365
- function getWidgetLabel(label) {
366
- return label === "" ? "Widget" : label;
367
- }
368
- function toStagePanelLocation(side) {
369
- switch (side) {
370
- case "bottom":
371
- return StagePanelLocation.Bottom;
372
- case "left":
373
- return StagePanelLocation.Left;
374
- case "right":
375
- return StagePanelLocation.Right;
376
- case "top":
377
- return StagePanelLocation.Top;
378
- }
379
- }
380
- /** @internal */
381
- export function getWidgetId(location, section) {
382
- switch (location) {
383
- case StagePanelLocation.Left: {
384
- if (section === StagePanelSection.Start)
385
- return "leftStart";
386
- return "leftEnd";
387
- }
388
- case StagePanelLocation.Right: {
389
- if (section === StagePanelSection.Start)
390
- return "rightStart";
391
- return "rightEnd";
392
- }
393
- case StagePanelLocation.Top: {
394
- if (section === StagePanelSection.Start)
395
- return "topStart";
396
- return "topEnd";
397
- }
398
- case StagePanelLocation.Bottom: {
399
- if (section === StagePanelSection.Start)
400
- return "bottomStart";
401
- return "bottomEnd";
402
- }
403
- }
404
- }
405
- /** @internal */
406
- export function getPanelSectionWidgets(frontstageDef, location, section) {
407
- const stagePanel = frontstageDef.getStagePanelDef(location);
408
- const panelSection = stagePanel === null || stagePanel === void 0 ? void 0 : stagePanel.getPanelSectionDef(section);
409
- return (panelSection === null || panelSection === void 0 ? void 0 : panelSection.widgetDefs) || [];
410
- }
411
- /** @internal */
412
- export function addPanelWidgets(state, frontstageDef, location) {
413
- const side = toPanelSide(location);
414
- const start = getWidgetId(location, StagePanelSection.Start);
415
- const startWidgets = getPanelSectionWidgets(frontstageDef, location, StagePanelSection.Start);
416
- state = addWidgets(state, determineNewWidgets(startWidgets, state), side, start);
417
- const end = getWidgetId(location, StagePanelSection.End);
418
- const endWidgets = getPanelSectionWidgets(frontstageDef, location, StagePanelSection.End);
419
- state = addWidgets(state, determineNewWidgets(endWidgets, state), side, end);
420
- return state;
421
- }
422
- /** @internal */
423
- export function isFrontstageStateSettingResult(settingsResult) {
424
- if (settingsResult.status === UiStateStorageStatus.Success)
425
- return true;
426
- return false;
427
- }
428
- /** @internal */
429
- export function initializePanel(state, frontstageDef, location) {
430
- const panelSide = toPanelSide(location);
431
- state = addPanelWidgets(state, frontstageDef, location);
432
- const panelDef = frontstageDef.getStagePanelDef(location);
433
- state = produce(state, (draft) => {
434
- var _a, _b, _c;
435
- const panel = draft.panels[panelSide];
436
- panel.minSize = (_a = panelDef === null || panelDef === void 0 ? void 0 : panelDef.minSize) !== null && _a !== void 0 ? _a : panel.minSize;
437
- panel.pinned = (_b = panelDef === null || panelDef === void 0 ? void 0 : panelDef.pinned) !== null && _b !== void 0 ? _b : panel.pinned;
438
- panel.resizable = (_c = panelDef === null || panelDef === void 0 ? void 0 : panelDef.resizable) !== null && _c !== void 0 ? _c : panel.resizable;
439
- if (panelDef === null || panelDef === void 0 ? void 0 : panelDef.maxSizeSpec) {
440
- panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);
441
- }
442
- const size = panelDef === null || panelDef === void 0 ? void 0 : panelDef.size;
443
- panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);
444
- });
445
- return state;
446
- }
447
- function getPanelMaxSize(maxSizeSpec, panel, nineZoneSize) {
448
- if (typeof maxSizeSpec === "number") {
449
- return maxSizeSpec;
450
- }
451
- const size = isHorizontalPanelSide(panel) ? nineZoneSize.height : nineZoneSize.width;
452
- return maxSizeSpec.percentage / 100 * size;
453
- }
454
- const stateVersion = 13; // this needs to be bumped when NineZoneState is changed (to recreate the layout).
455
- /** @internal */
456
- export function initializeNineZoneState(frontstageDef) {
457
- let nineZone = defaultNineZone;
458
- nineZone = produce(nineZone, (stateDraft) => {
459
- // istanbul ignore next
460
- if (!FrontstageManager.nineZoneSize)
461
- return;
462
- stateDraft.size = {
463
- height: FrontstageManager.nineZoneSize.height,
464
- width: FrontstageManager.nineZoneSize.width,
465
- };
466
- });
467
- nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Left);
468
- nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Right);
469
- nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Top);
470
- nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Bottom);
471
- nineZone = produce(nineZone, (stateDraft) => {
472
- var _a, _b, _c, _d;
473
- for (const [, panel] of Object.entries(stateDraft.panels)) {
474
- const expanded = panel.widgets.find((widgetId) => stateDraft.widgets[widgetId].minimized === false);
475
- const firstWidget = panel.widgets.length > 0 ? stateDraft.widgets[panel.widgets[0]] : undefined;
476
- // istanbul ignore next
477
- if (!expanded && firstWidget) {
478
- firstWidget.minimized = false;
479
- }
480
- }
481
- stateDraft.panels.left.collapsed = isPanelCollapsed((_a = frontstageDef.leftPanel) === null || _a === void 0 ? void 0 : _a.panelState);
482
- stateDraft.panels.right.collapsed = isPanelCollapsed((_b = frontstageDef.rightPanel) === null || _b === void 0 ? void 0 : _b.panelState);
483
- stateDraft.panels.top.collapsed = isPanelCollapsed((_c = frontstageDef.topPanel) === null || _c === void 0 ? void 0 : _c.panelState);
484
- stateDraft.panels.bottom.collapsed = isPanelCollapsed((_d = frontstageDef.bottomPanel) === null || _d === void 0 ? void 0 : _d.panelState);
485
- const toolSettingsWidgetDef = frontstageDef.toolSettings;
486
- if (toolSettingsWidgetDef) {
487
- const toolSettingsTab = stateDraft.tabs[toolSettingsTabId];
488
- toolSettingsTab.preferredPanelWidgetSize = toolSettingsWidgetDef.preferredPanelSize;
489
- }
490
- });
491
- nineZone = addMissingWidgets(frontstageDef, nineZone);
492
- nineZone = hideWidgets(nineZone, frontstageDef);
493
- nineZone = processPopoutWidgets(nineZone, frontstageDef);
494
- return nineZone;
495
- }
496
- /** Converts from saved NineZoneState to NineZoneState.
497
- * @note Restores toolSettings tab.
498
- * @note Restores tab labels.
499
- * @internal
500
- */
501
- export function restoreNineZoneState(frontstageDef, saved) {
502
- let restored = {
503
- ...saved,
504
- tabs: defaultNineZone.tabs,
505
- };
506
- for (const [, tab] of Object.entries(saved.tabs)) {
507
- // Re-add the placeholder tab in order to correctly remove it from the state if WidgetDef is not found.
508
- restored = addTab(restored, tab.id);
509
- const widgetDef = frontstageDef.findWidgetDef(tab.id);
510
- if (!widgetDef) {
511
- Logger.logInfo(UiFramework.loggerCategory(restoreNineZoneState), "WidgetDef is not found for saved tab.", () => ({
512
- frontstageId: frontstageDef.id,
513
- tabId: tab.id,
514
- }));
515
- restored = removeTab(restored, tab.id);
516
- continue;
517
- }
518
- restored = produce(restored, (draft) => {
519
- draft.tabs[tab.id] = {
520
- ...tab,
521
- label: getWidgetLabel(widgetDef.label),
522
- hideWithUiWhenFloating: widgetDef.hideWithUiWhenFloating,
523
- iconSpec: widgetDef.iconSpec,
524
- canPopout: widgetDef.canPopout,
525
- isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
526
- allowedPanelTargets: widgetDef.allowedPanelTargets,
527
- };
528
- });
529
- }
530
- restored = produce(restored, (draft) => {
531
- // remove center panel section if one is found in left or right panels
532
- const oldLeftMiddleIndex = saved.panels.left.widgets.findIndex((value) => value === "leftMiddle");
533
- // istanbul ignore next
534
- if (-1 !== oldLeftMiddleIndex) {
535
- draft.panels.left.widgets = saved.panels.left.widgets.filter((value) => value !== "leftMiddle");
536
- if ("leftEnd" in draft.widgets) {
537
- draft.widgets.leftMiddle.tabs.forEach((tab) => draft.widgets.leftEnd.tabs.push(tab));
538
- }
539
- else {
540
- draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };
541
- delete draft.widgets.leftMiddle;
542
- }
543
- }
544
- const oldRightMiddleIndex = saved.panels.right.widgets.findIndex((value) => value === "rightMiddle");
545
- // istanbul ignore next
546
- if (-1 !== oldRightMiddleIndex) {
547
- draft.panels.right.widgets = saved.panels.right.widgets.filter((value) => value !== "rightMiddle");
548
- if ("rightEnd" in draft.widgets) {
549
- draft.widgets.rightMiddle.tabs.forEach((tab) => draft.widgets.rightEnd.tabs.push(tab));
550
- }
551
- else {
552
- draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };
553
- delete draft.widgets.rightMiddle;
554
- }
555
- }
556
- return;
557
- });
558
- if (FrontstageManager.nineZoneSize && (0 !== FrontstageManager.nineZoneSize.height || 0 !== FrontstageManager.nineZoneSize.width)) {
559
- restored = FrameworkStateReducer(restored, {
560
- type: "RESIZE",
561
- size: {
562
- height: FrontstageManager.nineZoneSize.height,
563
- width: FrontstageManager.nineZoneSize.width,
564
- },
565
- }, frontstageDef);
566
- }
567
- return restored;
568
- }
569
- /** Prepares NineZoneState to be saved.
570
- * @note Removes toolSettings tab.
571
- * @note Removes tab labels and iconSpec.
572
- * @internal
573
- */
574
- export function packNineZoneState(state) {
575
- let packed = {
576
- ...state,
577
- tabs: {},
578
- };
579
- packed = produce(packed, (draft) => {
580
- for (const [, tab] of Object.entries(state.tabs)) {
581
- if (tab.id === toolSettingsTabId)
582
- continue;
583
- draft.tabs[tab.id] = {
584
- id: tab.id,
585
- preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
586
- allowedPanelTargets: tab.allowedPanelTargets,
587
- userSized: tab.userSized,
588
- };
589
- }
590
- });
591
- return packed;
592
- }
593
- // istanbul ignore next
594
- function packSavedWidgets(frontstageDef) {
595
- let savedWidgets = [];
596
- for (const widgetDef of frontstageDef.widgetDefs) {
597
- const id = widgetDef.id;
598
- const initialWidget = {
599
- id,
600
- };
601
- const widget = produce(initialWidget, (draft) => {
602
- if (widgetDef.tabLocation) {
603
- draft.tabLocation = { ...widgetDef.tabLocation };
604
- }
605
- if (widgetDef.popoutBounds) {
606
- draft.popoutBounds = widgetDef.popoutBounds.toProps();
607
- }
608
- });
609
- if (widget === initialWidget)
610
- continue;
611
- savedWidgets.push(widget);
612
- }
613
- // Add previously saved widgets.
614
- const prevSavedWidgets = frontstageDef.savedWidgetDefs || [];
615
- for (const prevWidget of prevSavedWidgets) {
616
- if (savedWidgets.find((w) => w.id === prevWidget.id))
617
- continue;
618
- savedWidgets.push(prevWidget);
619
- }
620
- // Limit number of saved widgets.
621
- const maxWidgets = 100;
622
- if (savedWidgets.length > maxWidgets)
623
- savedWidgets = savedWidgets.slice(0, maxWidgets);
624
- return savedWidgets;
625
- }
626
- // istanbul ignore next
627
- function restoreSavedWidgets(frontstage) {
628
- const savedWidgets = frontstage.savedWidgetDefs || [];
629
- for (const savedWidget of savedWidgets) {
630
- const widgetId = savedWidget.id;
631
- const widgetDef = frontstage.findWidgetDef(widgetId);
632
- if (!widgetDef)
633
- continue;
634
- if (savedWidget.tabLocation) {
635
- widgetDef.tabLocation = { ...savedWidget.tabLocation };
636
- }
637
- if (savedWidget.popoutBounds) {
638
- widgetDef.popoutBounds = Rectangle.create(savedWidget.popoutBounds);
639
- }
640
- }
641
- }
642
- /** @internal */
643
- export function isPanelCollapsed(panelState) {
644
- return panelState !== StagePanelState.Open;
645
- }
646
- function addHiddenWidget(state, widgetDef) {
647
- const tabLocation = widgetDef.tabLocation || widgetDef.defaultTabLocation;
648
- const tabId = widgetDef.id;
649
- const { widgetId, tabIndex } = tabLocation;
650
- if (widgetId in state.widgets) {
651
- // Add to an existing widget (by widget id).
652
- return insertTabToWidget(state, tabId, widgetId, tabIndex);
653
- }
654
- else if (tabLocation.floatingWidget) {
655
- const floatingWidget = tabLocation.floatingWidget;
656
- assert(widgetId === floatingWidget.id);
657
- // Add to a new floating widget.
658
- const nzBounds = Rectangle.createFromSize(state.size);
659
- const bounds = Rectangle.create(floatingWidget.bounds).containIn(nzBounds);
660
- return addFloatingWidget(state, floatingWidget.id, [tabId], {
661
- ...floatingWidget,
662
- bounds: bounds.toProps(),
663
- });
664
- }
665
- // Add to a panel section.
666
- const panel = state.panels[tabLocation.side];
667
- // Add to existing panel section.
668
- if (panel.widgets.length >= panel.maxWidgetCount) {
669
- const sectionIndex = Math.min(panel.maxWidgetCount - 1, tabLocation.widgetIndex);
670
- const sectionId = panel.widgets[sectionIndex];
671
- return insertTabToWidget(state, tabId, sectionId, tabLocation.tabIndex);
672
- }
673
- // Create a new panel section.
674
- const newSectionId = getUniqueId();
675
- return insertPanelWidget(state, panel.side, newSectionId, [tabId], tabLocation.widgetIndex);
676
- }
677
- /** @internal */
678
- export function setWidgetState(state, widgetDef, widgetState) {
679
- var _a, _b;
680
- if (widgetState === WidgetState.Hidden) {
681
- return hideWidget(state, widgetDef);
682
- }
683
- else if (widgetState === WidgetState.Open) {
684
- const id = widgetDef.id;
685
- let location = getTabLocation(state, id);
686
- if (!location) {
687
- state = addHiddenWidget(state, widgetDef);
688
- location = getTabLocation(state, id);
689
- }
690
- return produce(state, (draft) => {
691
- var _a;
692
- assert(!!location);
693
- const widget = draft.widgets[location.widgetId];
694
- widget.minimized = false;
695
- widget.activeTabId = id;
696
- if (isFloatingTabLocation(location)) {
697
- const floatingWidget = draft.floatingWidgets.byId[location.floatingWidgetId];
698
- floatingWidget.hidden = false;
699
- // istanbul ignore else
700
- }
701
- else if (isPanelTabLocation(location)) {
702
- const panel = draft.panels[location.side];
703
- panel.collapsed = false;
704
- if (undefined === panel.size || 0 === panel.size) {
705
- // istanbul ignore next
706
- panel.size = (_a = panel.minSize) !== null && _a !== void 0 ? _a : 200;
707
- }
708
- }
709
- });
710
- }
711
- else if (widgetState === WidgetState.Closed) {
712
- const id = widgetDef.id;
713
- let location = getTabLocation(state, id);
714
- if (!location) {
715
- state = addHiddenWidget(state, widgetDef);
716
- location = getTabLocation(state, id);
717
- }
718
- // TODO: should change activeTabId of a widget with multiple tabs.
719
- return produce(state, (draft) => {
720
- assert(!!location);
721
- const widget = draft.widgets[location.widgetId];
722
- if (isFloatingTabLocation(location)) {
723
- if (id === widget.activeTabId) {
724
- widget.minimized = true;
725
- }
726
- }
727
- });
728
- }
729
- else if (widgetState === WidgetState.Floating) {
730
- const id = widgetDef.id;
731
- let location = getTabLocation(state, id);
732
- if (!location) {
733
- state = addHiddenWidget(state, widgetDef);
734
- location = getTabLocation(state, id);
735
- }
736
- assert(!!location);
737
- if (isFloatingTabLocation(location))
738
- return state;
739
- // Widget is not floating.
740
- state = removeTabFromWidget(state, id);
741
- const bounds = (_b = (_a = widgetDef.tabLocation) === null || _a === void 0 ? void 0 : _a.floatingWidget) === null || _b === void 0 ? void 0 : _b.bounds;
742
- state = addFloatingWidget(state, getUniqueId(), [id], { bounds });
743
- }
744
- return state;
745
- }
746
- /** Stores widget location and hides it in the UI. */
747
- function hideWidget(state, widgetDef) {
748
- const location = getTabLocation(state, widgetDef.id);
749
- if (!location)
750
- return state;
751
- // istanbul ignore else
752
- if (isFloatingTabLocation(location)) {
753
- const floatingWidget = state.floatingWidgets.byId[location.widgetId];
754
- widgetDef.setFloatingContainerId(location.floatingWidgetId);
755
- widgetDef.tabLocation = {
756
- side: floatingWidget.home.side,
757
- tabIndex: floatingWidget.home.widgetIndex,
758
- widgetId: floatingWidget.id,
759
- widgetIndex: floatingWidget.home.widgetIndex,
760
- floatingWidget,
761
- };
762
- }
763
- else if (!isPopoutTabLocation(location)) {
764
- const widgetId = location.widgetId;
765
- const side = isPanelTabLocation(location) ? location.side : "left";
766
- const widgetIndex = isPanelTabLocation(location) ? state.panels[side].widgets.indexOf(widgetId) : 0;
767
- const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
768
- widgetDef.tabLocation = {
769
- side,
770
- tabIndex,
771
- widgetId,
772
- widgetIndex,
773
- };
774
- }
775
- return removeTabFromWidget(state, widgetDef.id);
776
- }
777
- /** @internal */
778
- export function showWidget(state, id) {
779
- const location = getTabLocation(state, id);
780
- if (!location)
781
- return state;
782
- state = produce(state, (draft) => {
783
- const widget = draft.widgets[location.widgetId];
784
- widget.activeTabId = id;
785
- widget.minimized = false;
786
- if (isPanelTabLocation(location)) {
787
- const panel = draft.panels[location.side];
788
- panel.collapsed = false;
789
- }
790
- });
791
- if (isFloatingTabLocation(location)) {
792
- state = floatingWidgetBringToFront(state, location.floatingWidgetId);
793
- }
794
- return state;
795
- }
796
- /** @internal */
797
- export function expandWidget(state, id) {
798
- const location = getTabLocation(state, id);
799
- if (!location)
800
- return state;
801
- return produce(state, (draft) => {
802
- const widget = draft.widgets[location.widgetId];
803
- if (isPanelTabLocation(location)) {
804
- const panel = draft.panels[location.side];
805
- panel.widgets.forEach((wId) => {
806
- const w = draft.widgets[wId];
807
- w.minimized = true;
808
- });
809
- }
810
- widget.minimized = false;
811
- });
812
- }
813
- /** @internal */
814
- export function setWidgetLabel(state, id, label) {
815
- if (!(id in state.tabs))
816
- return state;
817
- return produce(state, (draft) => {
818
- const tab = draft.tabs[id];
819
- tab.label = label;
820
- });
821
- }
822
- /** @internal */
823
- export function useSavedFrontstageState(frontstageDef) {
824
- const uiStateStorage = useUiStateStorageHandler();
825
- const uiStateStorageRef = React.useRef(uiStateStorage);
826
- const isMountedRef = React.useRef(false);
827
- React.useEffect(() => {
828
- isMountedRef.current = true;
829
- return () => { isMountedRef.current = false; };
830
- }, []);
831
- React.useEffect(() => {
832
- uiStateStorageRef.current = uiStateStorage;
833
- }, [uiStateStorage]);
834
- React.useEffect(() => {
835
- async function fetchFrontstageState() {
836
- if (frontstageDef.nineZoneState) {
837
- frontstageDef.nineZoneState = processPopoutWidgets(frontstageDef.nineZoneState, frontstageDef);
838
- return;
839
- }
840
- const id = frontstageDef.id;
841
- const version = frontstageDef.version;
842
- const settingResult = await uiStateStorageRef.current.getSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id));
843
- if (!isMountedRef.current)
844
- return;
845
- if (isFrontstageStateSettingResult(settingResult)) {
846
- const setting = settingResult.setting;
847
- if (setting.version >= version && setting.stateVersion >= stateVersion) {
848
- const restored = restoreNineZoneState(frontstageDef, setting.nineZone);
849
- frontstageDef.savedWidgetDefs = setting.widgets;
850
- restoreSavedWidgets(frontstageDef);
851
- let state = addMissingWidgets(frontstageDef, restored);
852
- state = hideWidgets(state, frontstageDef);
853
- state = processPopoutWidgets(state, frontstageDef);
854
- frontstageDef.nineZoneState = state;
855
- return;
856
- }
857
- }
858
- frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);
859
- }
860
- void fetchFrontstageState();
861
- }, [frontstageDef]);
862
- }
863
- /** @internal */
864
- export function useSaveFrontstageSettings(frontstageDef, store) {
865
- const uiSettingsStorage = useUiStateStorageHandler();
866
- const saveSetting = React.useMemo(() => {
867
- const debounced = debounce(async (frontstage, state) => {
868
- const id = frontstage.id;
869
- const widgets = packSavedWidgets(frontstage);
870
- frontstage.savedWidgetDefs = widgets;
871
- const setting = {
872
- id,
873
- version: frontstage.version,
874
- stateVersion,
875
- nineZone: packNineZoneState(state),
876
- widgets,
877
- };
878
- await uiSettingsStorage.saveSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id), setting);
879
- }, 1000);
880
- const save = (frontstage, state) => {
881
- if (state.draggedTab)
882
- return;
883
- debounced(frontstage, state);
884
- };
885
- save.cancel = debounced.cancel;
886
- return save;
887
- }, [uiSettingsStorage]);
888
- React.useEffect(() => {
889
- return () => {
890
- saveSetting.cancel();
891
- };
892
- }, [saveSetting]);
893
- React.useEffect(() => {
894
- saveSetting(frontstageDef, store.getState());
895
- }, [saveSetting, frontstageDef, store]);
896
- React.useEffect(() => {
897
- return store.subscribe(() => {
898
- saveSetting(frontstageDef, store.getState());
899
- });
900
- }, [saveSetting, frontstageDef, store]);
901
- }
902
- /** @internal */
903
- export const FRONTSTAGE_SETTINGS_NAMESPACE = "uifw-frontstageSettings";
904
- /** @internal */
905
- export function getFrontstageStateSettingName(frontstageId) {
906
- return `frontstageState[${frontstageId}]`;
907
- }
908
- // istanbul ignore next
909
- function debounce(func, duration) {
910
- let timeout;
911
- const debounced = (...args) => {
912
- const handler = () => {
913
- timeout = undefined;
914
- return func(...args);
915
- };
916
- window.clearTimeout(timeout);
917
- timeout = window.setTimeout(handler, duration);
918
- };
919
- debounced.cancel = () => {
920
- window.clearTimeout(timeout);
921
- };
922
- return debounced;
923
- }
924
- const createListener = (frontstageDef, listener) => {
925
- return (...args) => {
926
- if (!frontstageDef.nineZoneState)
927
- return;
928
- listener(...args);
929
- };
930
- };
931
- /** @internal */
932
- export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
933
- React.useEffect(() => {
934
- const listener = createListener(frontstageDef, ({ widgetDef, widgetState }) => {
935
- assert(!!frontstageDef.nineZoneState);
936
- frontstageDef.nineZoneState = setWidgetState(frontstageDef.nineZoneState, widgetDef, widgetState);
937
- });
938
- FrontstageManager.onWidgetStateChangedEvent.addListener(listener);
939
- return () => {
940
- FrontstageManager.onWidgetStateChangedEvent.removeListener(listener);
941
- };
942
- }, [frontstageDef]);
943
- React.useEffect(() => {
944
- const listener = createListener(frontstageDef, ({ widgetDef }) => {
945
- assert(!!frontstageDef.nineZoneState);
946
- frontstageDef.nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);
947
- });
948
- FrontstageManager.onWidgetShowEvent.addListener(listener);
949
- return () => {
950
- FrontstageManager.onWidgetShowEvent.removeListener(listener);
951
- };
952
- }, [frontstageDef]);
953
- React.useEffect(() => {
954
- const listener = createListener(frontstageDef, ({ widgetDef }) => {
955
- assert(!!frontstageDef.nineZoneState);
956
- let nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);
957
- nineZoneState = expandWidget(nineZoneState, widgetDef.id);
958
- frontstageDef.nineZoneState = nineZoneState;
959
- });
960
- FrontstageManager.onWidgetExpandEvent.addListener(listener);
961
- return () => {
962
- FrontstageManager.onWidgetExpandEvent.removeListener(listener);
963
- };
964
- }, [frontstageDef]);
965
- const uiSettingsStorage = useUiStateStorageHandler();
966
- React.useEffect(() => {
967
- const listener = (args) => {
968
- // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending
969
- void uiSettingsStorage.deleteSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(args.frontstageDef.id));
970
- if (frontstageDef.id === args.frontstageDef.id) {
971
- args.frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);
972
- }
973
- else {
974
- args.frontstageDef.nineZoneState = undefined;
975
- }
976
- };
977
- FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(listener);
978
- return () => {
979
- FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(listener);
980
- };
981
- }, [uiSettingsStorage, frontstageDef]);
982
- React.useEffect(() => {
983
- const listener = createListener(frontstageDef, ({ widgetDef }) => {
984
- assert(!!frontstageDef.nineZoneState);
985
- const label = widgetDef.label;
986
- frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, widgetDef.id, label);
987
- });
988
- FrontstageManager.onWidgetLabelChangedEvent.addListener(listener);
989
- return () => {
990
- FrontstageManager.onWidgetLabelChangedEvent.removeListener(listener);
991
- };
992
- }, [frontstageDef]);
993
- const defaultLabel = React.useMemo(() => UiFramework.translate("widget.labels.toolSettings"), []);
994
- React.useEffect(() => {
995
- const updateLabel = createListener(frontstageDef, () => {
996
- var _a;
997
- const toolId = FrontstageManager.activeToolId;
998
- assert(!!frontstageDef.nineZoneState);
999
- const label = useToolAsToolSettingsLabel ?
1000
- ((_a = IModelApp.tools.find(toolId)) === null || _a === void 0 ? void 0 : _a.flyover) || defaultLabel : defaultLabel;
1001
- frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);
1002
- });
1003
- // Whenever the frontstageDef or the useTool... changes, keep the label up to date.
1004
- updateLabel();
1005
- // If useTool... is true, listen for events to keep up the label up to date.
1006
- if (useToolAsToolSettingsLabel) {
1007
- FrontstageManager.onFrontstageReadyEvent.addListener(updateLabel);
1008
- FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(updateLabel);
1009
- FrontstageManager.onToolActivatedEvent.addListener(updateLabel);
1010
- FrontstageManager.onToolSettingsReloadEvent.addListener(updateLabel);
1011
- }
1012
- return () => {
1013
- if (useToolAsToolSettingsLabel) {
1014
- FrontstageManager.onFrontstageReadyEvent.removeListener(updateLabel);
1015
- FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(updateLabel);
1016
- FrontstageManager.onToolActivatedEvent.removeListener(updateLabel);
1017
- FrontstageManager.onToolSettingsReloadEvent.removeListener(updateLabel);
1018
- }
1019
- };
1020
- }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);
1021
- }
1022
- /** @internal */
1023
- // istanbul ignore next
1024
- export function useItemsManager(frontstageDef) {
1025
- const refreshNineZoneState = (def) => {
1026
- // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.
1027
- def.updateWidgetDefs();
1028
- restoreSavedWidgets(def);
1029
- let state = def.nineZoneState;
1030
- if (!state)
1031
- return;
1032
- state = addMissingWidgets(def, state);
1033
- state = removeMissingWidgets(def, state);
1034
- state = hideWidgets(state, def); // TODO: should only apply to widgets provided by registered provider in onUiProviderRegisteredEvent.
1035
- def.nineZoneState = state;
1036
- };
1037
- React.useEffect(() => {
1038
- const remove = UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {
1039
- refreshNineZoneState(frontstageDef);
1040
- });
1041
- // Need to refresh anytime frontstageDef changes because uiItemsProvider may have added something to
1042
- // another stage before it was possibly unloaded in this stage.
1043
- refreshNineZoneState(frontstageDef);
1044
- return remove;
1045
- }, [frontstageDef]);
1046
- }
1047
- // istanbul ignore next
1048
- function determineNewWidgets(defs, state) {
1049
- defs = defs || [];
1050
- const uniqueDefs = defs.filter((def, index, array) => {
1051
- return index === array.findIndex((def1) => def.id === def1.id);
1052
- });
1053
- return uniqueDefs.filter((def) => !(def.id in state.tabs));
1054
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Frontstage
7
+ */
8
+ // cSpell:ignore popout
9
+ import "./Frontstage.scss";
10
+ import produce from "immer";
11
+ import * as React from "react";
12
+ import { unstable_batchedUpdates } from "react-dom";
13
+ import { assert, Logger, ProcessDetector } from "@itwin/core-bentley";
14
+ import { StagePanelLocation, StagePanelSection, UiItemsManager, WidgetState } from "@itwin/appui-abstract";
15
+ import { Rectangle, Size, UiStateStorageStatus } from "@itwin/core-react";
16
+ import { ToolbarPopupAutoHideContext } from "@itwin/components-react";
17
+ import { addFloatingWidget, addPanelWidget, addTab, addTabToWidget, convertAllPopupWidgetContainersToFloating, createLayoutStore, createNineZoneState, floatingWidgetBringToFront, FloatingWidgets, getTabLocation, getUniqueId, getWidgetPanelSectionId, insertPanelWidget, insertTabToWidget, isFloatingTabLocation, isHorizontalPanelSide, isPanelTabLocation, isPopoutTabLocation, NineZone, NineZoneStateReducer, panelSides, removeTab, removeTabFromWidget, toolSettingsTabId, WidgetPanels, } from "@itwin/appui-layout-react";
18
+ import { FrontstageManager } from "../frontstage/FrontstageManager";
19
+ import { StagePanelState, toPanelSide } from "../stagepanels/StagePanelDef";
20
+ import { UiFramework } from "../UiFramework";
21
+ import { useUiStateStorageHandler } from "../uistate/useUiStateStorage";
22
+ import { WidgetContent } from "./Content";
23
+ import { WidgetPanelsFrontstageContent } from "./FrontstageContent";
24
+ import { ModalFrontstageComposer, useActiveModalFrontstageInfo } from "./ModalFrontstageComposer";
25
+ import { WidgetPanelsStatusBar } from "./StatusBar";
26
+ import { WidgetPanelsTab } from "./Tab";
27
+ import { WidgetPanelsToolbars } from "./Toolbars";
28
+ import { ToolSettingsContent, WidgetPanelsToolSettings } from "./ToolSettings";
29
+ import { useEscapeSetFocusToHome } from "../hooks/useEscapeSetFocusToHome";
30
+ import { useSelector } from "react-redux";
31
+ import { useUiVisibility } from "../hooks/useUiVisibility";
32
+ import { IModelApp } from "@itwin/core-frontend";
33
+ import { FloatingWidget } from "./FloatingWidget";
34
+ function WidgetPanelsFrontstageComponent() {
35
+ const activeModalFrontstageInfo = useActiveModalFrontstageInfo();
36
+ const uiIsVisible = useUiVisibility();
37
+ return (React.createElement(React.Fragment, null,
38
+ React.createElement(WidgetPanelsToolSettings, null),
39
+ React.createElement(ToolbarPopupAutoHideContext.Provider, { value: !uiIsVisible },
40
+ React.createElement(ModalFrontstageComposer, { stageInfo: activeModalFrontstageInfo }),
41
+ React.createElement(WidgetPanels, { className: "uifw-widgetPanels", centerContent: React.createElement(WidgetPanelsToolbars, null) },
42
+ React.createElement(WidgetPanelsFrontstageContent, null)),
43
+ React.createElement(WidgetPanelsStatusBar, null),
44
+ React.createElement(FloatingWidgets, null))));
45
+ }
46
+ const widgetContent = React.createElement(WidgetContent, null);
47
+ const toolSettingsContent = React.createElement(ToolSettingsContent, null);
48
+ const widgetPanelsFrontstage = React.createElement(WidgetPanelsFrontstageComponent, null);
49
+ /** @internal */
50
+ export function useLayoutStore() {
51
+ const [def, setDef] = React.useState(FrontstageManager.activeFrontstageDef);
52
+ const [layout, setLayout] = React.useState(() => createLayoutStore(def === null || def === void 0 ? void 0 : def.nineZoneState));
53
+ React.useEffect(() => {
54
+ return FrontstageManager.onFrontstageActivatedEvent.addListener((args) => {
55
+ unstable_batchedUpdates(() => {
56
+ setDef(args.activatedFrontstageDef);
57
+ setLayout(createLayoutStore(args.activatedFrontstageDef.nineZoneState));
58
+ });
59
+ });
60
+ }, []);
61
+ React.useEffect(() => {
62
+ return FrontstageManager.onFrontstageNineZoneStateChangedEvent.addListener((args) => {
63
+ if (args.frontstageDef !== def || def.isStageClosing || def.isApplicationClosing)
64
+ return;
65
+ unstable_batchedUpdates(() => {
66
+ layout.setState(args.state || defaultNineZone);
67
+ });
68
+ });
69
+ }, [def, layout]);
70
+ return [layout, def];
71
+ }
72
+ /** Update in-memory NineZoneState of newly activated frontstage with up to date size.
73
+ * @internal
74
+ */
75
+ export function useUpdateNineZoneSize(frontstageDef) {
76
+ React.useEffect(() => {
77
+ const size = FrontstageManager.nineZoneSize;
78
+ let state = frontstageDef.nineZoneState;
79
+ if (!size || !state)
80
+ return;
81
+ state = FrameworkStateReducer(state, {
82
+ type: "RESIZE",
83
+ size: {
84
+ height: size.height,
85
+ width: size.width,
86
+ },
87
+ }, frontstageDef);
88
+ frontstageDef.nineZoneState = state;
89
+ }, [frontstageDef]);
90
+ }
91
+ /** @internal */
92
+ export function FrameworkStateReducer(state, action, frontstageDef) {
93
+ state = NineZoneStateReducer(state, action);
94
+ if (action.type === "RESIZE") {
95
+ state = produce(state, (draft) => {
96
+ for (const panelSide of panelSides) {
97
+ const panel = draft.panels[panelSide];
98
+ const location = toStagePanelLocation(panelSide);
99
+ const panelDef = frontstageDef.getStagePanelDef(location);
100
+ if (panelDef === null || panelDef === void 0 ? void 0 : panelDef.maxSizeSpec) {
101
+ panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, action.size);
102
+ if (panel.size) {
103
+ panel.size = Math.min(Math.max(panel.size, panel.minSize), panel.maxSize);
104
+ }
105
+ }
106
+ }
107
+ });
108
+ }
109
+ return state;
110
+ }
111
+ /** @internal */
112
+ export function useNineZoneDispatch(frontstageDef) {
113
+ const dispatch = React.useCallback((action) => {
114
+ if (action.type === "RESIZE") {
115
+ FrontstageManager.nineZoneSize = Size.create(action.size);
116
+ }
117
+ // istanbul ignore if
118
+ if (action.type === "TOOL_SETTINGS_DRAG_START") {
119
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
120
+ UiFramework.postTelemetry("Tool Settings Undocking", "28B04E07-AE73-4533-A0BA-8E2A8DC99ADF");
121
+ }
122
+ // istanbul ignore if
123
+ if (action.type === "TOOL_SETTINGS_DOCK") {
124
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
125
+ UiFramework.postTelemetry("Tool Settings Docking to Settings Bar", "BEDE684B-B3DB-4637-B3AF-DC3CBA223F94");
126
+ }
127
+ if (action.type === "WIDGET_TAB_POPOUT") {
128
+ const tabId = action.id;
129
+ frontstageDef.popoutWidget(tabId);
130
+ return;
131
+ }
132
+ const state = frontstageDef.nineZoneState;
133
+ if (!state)
134
+ return;
135
+ frontstageDef.nineZoneState = FrameworkStateReducer(state, action, frontstageDef);
136
+ }, [frontstageDef]);
137
+ return dispatch;
138
+ }
139
+ /** @internal */
140
+ export function WidgetPanelsFrontstage() {
141
+ const [layout, frontstageDef] = useLayoutStore();
142
+ React.useEffect(() => {
143
+ const triggerWidowCloseProcessing = () => {
144
+ frontstageDef && frontstageDef.setIsApplicationClosing(true);
145
+ };
146
+ frontstageDef && frontstageDef.setIsApplicationClosing(false);
147
+ window.addEventListener("unload", triggerWidowCloseProcessing);
148
+ return () => {
149
+ window.removeEventListener("unload", triggerWidowCloseProcessing);
150
+ };
151
+ }, [frontstageDef]);
152
+ if (!frontstageDef)
153
+ return null;
154
+ return (React.createElement(ActiveFrontstageDefProvider, { frontstageDef: frontstageDef, layout: layout }));
155
+ }
156
+ const defaultNineZone = createNineZoneState();
157
+ const tabElement = React.createElement(WidgetPanelsTab, null);
158
+ const floatingWidgetElement = React.createElement(FloatingWidget, null);
159
+ /** @internal */
160
+ export function ActiveFrontstageDefProvider({ frontstageDef, layout }) {
161
+ const dispatch = useNineZoneDispatch(frontstageDef);
162
+ useUpdateNineZoneSize(frontstageDef);
163
+ useSavedFrontstageState(frontstageDef);
164
+ useSaveFrontstageSettings(frontstageDef, layout);
165
+ useItemsManager(frontstageDef);
166
+ const labels = useLabels();
167
+ const uiIsVisible = useUiVisibility();
168
+ const showWidgetIcon = useSelector((state) => {
169
+ const frameworkState = state[UiFramework.frameworkStateKey];
170
+ return !!frameworkState.configurableUiState.showWidgetIcon;
171
+ });
172
+ const autoCollapseUnpinnedPanels = useSelector((state) => {
173
+ const frameworkState = state[UiFramework.frameworkStateKey];
174
+ return !!frameworkState.configurableUiState.autoCollapseUnpinnedPanels;
175
+ });
176
+ const animateToolSettings = useSelector((state) => {
177
+ const frameworkState = state[UiFramework.frameworkStateKey];
178
+ return !!frameworkState.configurableUiState.animateToolSettings;
179
+ });
180
+ const useToolAsToolSettingsLabel = useSelector((state) => {
181
+ const frameworkState = state[UiFramework.frameworkStateKey];
182
+ return !!frameworkState.configurableUiState.useToolAsToolSettingsLabel;
183
+ });
184
+ useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel);
185
+ const handleKeyDown = useEscapeSetFocusToHome();
186
+ return (React.createElement("div", { className: "uifw-widgetPanels-frontstage", onKeyDown: handleKeyDown, role: "presentation" },
187
+ React.createElement(NineZone, { dispatch: dispatch, labels: labels, layout: layout, tab: tabElement, floatingWidget: floatingWidgetElement, showWidgetIcon: showWidgetIcon, autoCollapseUnpinnedPanels: autoCollapseUnpinnedPanels, toolSettingsContent: toolSettingsContent, widgetContent: widgetContent, animateDockedToolSettings: animateToolSettings, uiIsVisible: uiIsVisible }, widgetPanelsFrontstage)));
188
+ }
189
+ /** @internal */
190
+ export function useLabels() {
191
+ return React.useMemo(() => ({
192
+ dockToolSettingsTitle: UiFramework.translate("widget.tooltips.dockToolSettings"),
193
+ moreWidgetsTitle: UiFramework.translate("widget.tooltips.moreWidgets"),
194
+ moreToolSettingsTitle: UiFramework.translate("widget.tooltips.moreToolSettings"),
195
+ pinPanelTitle: UiFramework.translate("widget.tooltips.pinPanel"),
196
+ resizeGripTitle: UiFramework.translate("widget.tooltips.resizeGrip"),
197
+ sendWidgetHomeTitle: UiFramework.translate("widget.tooltips.sendHome"),
198
+ toolSettingsHandleTitle: UiFramework.translate("widget.tooltips.toolSettingsHandle"),
199
+ unpinPanelTitle: UiFramework.translate("widget.tooltips.unpinPanel"),
200
+ popoutActiveTab: UiFramework.translate("widget.tooltips.popoutActiveTab"),
201
+ }), []);
202
+ }
203
+ /** @internal */
204
+ export function addWidgets(state, widgets, side, widgetId) {
205
+ const visibleWidgets = widgets.filter((w) => w.isVisible && (w.defaultState !== WidgetState.Floating));
206
+ if (visibleWidgets.length === 0)
207
+ return state;
208
+ const tabs = new Array();
209
+ for (const widget of visibleWidgets) {
210
+ const label = getWidgetLabel(widget.label);
211
+ state = addTab(state, widget.id, {
212
+ label,
213
+ iconSpec: widget.iconSpec,
214
+ preferredPanelWidgetSize: widget.preferredPanelSize,
215
+ preferredFloatingWidgetSize: widget.defaultFloatingSize,
216
+ canPopout: widget.canPopout,
217
+ isFloatingStateWindowResizable: widget.isFloatingStateWindowResizable,
218
+ hideWithUiWhenFloating: !!widget.hideWithUiWhenFloating,
219
+ allowedPanelTargets: widget.allowedPanelTargets,
220
+ });
221
+ tabs.push(widget.id);
222
+ }
223
+ const activeWidget = visibleWidgets.find((widget) => widget.isActive);
224
+ const minimized = false;
225
+ // istanbul ignore else
226
+ if ((activeWidget === null || activeWidget === void 0 ? void 0 : activeWidget.defaultState) !== WidgetState.Floating) {
227
+ state = addPanelWidget(state, side, widgetId, tabs, {
228
+ activeTabId: activeWidget ? activeWidget.id : tabs[0],
229
+ minimized,
230
+ });
231
+ }
232
+ return state;
233
+ }
234
+ /** @internal */
235
+ // istanbul ignore next
236
+ export function appendWidgets(state, widgetDefs, location, section) {
237
+ var _a;
238
+ if (widgetDefs.length === 0)
239
+ return state;
240
+ const side = toPanelSide(location);
241
+ // Add missing widget tabs.
242
+ for (const widgetDef of widgetDefs) {
243
+ const label = getWidgetLabel(widgetDef.label);
244
+ const saveTab = state.tabs[widgetDef.id];
245
+ const preferredPanelWidgetSize = saveTab ? saveTab.preferredPanelWidgetSize : widgetDef.preferredPanelSize;
246
+ const preferredFloatingWidgetSize = saveTab ? saveTab.preferredFloatingWidgetSize : widgetDef.defaultFloatingSize;
247
+ // if a defaultFloatingSize is specified then this mean the widget can't determine its intrinsic size and must be explicitly sized
248
+ const userSized = saveTab ? (saveTab.userSized || !!widgetDef.defaultFloatingSize && !!saveTab.preferredFloatingWidgetSize)
249
+ : !!widgetDef.defaultFloatingSize;
250
+ state = addTab(state, widgetDef.id, {
251
+ label,
252
+ iconSpec: widgetDef.iconSpec,
253
+ canPopout: widgetDef.canPopout,
254
+ preferredPanelWidgetSize,
255
+ preferredFloatingWidgetSize,
256
+ userSized,
257
+ isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
258
+ hideWithUiWhenFloating: !!widgetDef.hideWithUiWhenFloating,
259
+ allowedPanelTargets: widgetDef.allowedPanelTargets,
260
+ });
261
+ if (widgetDef.isFloatingStateSupported && widgetDef.defaultState === WidgetState.Floating) {
262
+ const floatingContainerId = (_a = widgetDef.floatingContainerId) !== null && _a !== void 0 ? _a : getUniqueId();
263
+ const widgetContainerId = getWidgetId(location, section);
264
+ const home = { side, widgetId: widgetContainerId, widgetIndex: 0 };
265
+ const preferredPosition = widgetDef.defaultFloatingPosition;
266
+ if (floatingContainerId in state.widgets) {
267
+ state = addTabToWidget(state, widgetDef.id, floatingContainerId);
268
+ }
269
+ else {
270
+ const tab = state.tabs[widgetDef.id];
271
+ const size = { height: 200, width: 300, ...tab.preferredFloatingWidgetSize };
272
+ const preferredPoint = preferredPosition !== null && preferredPosition !== void 0 ? preferredPosition : { x: (state.size.width - size.width) / 2, y: (state.size.height - size.height) / 2 };
273
+ const nzBounds = Rectangle.createFromSize(state.size);
274
+ const bounds = Rectangle.createFromSize(size).offset(preferredPoint);
275
+ const containedBounds = bounds.containIn(nzBounds);
276
+ state = addFloatingWidget(state, floatingContainerId, [widgetDef.id], {
277
+ bounds: containedBounds.toProps(),
278
+ home,
279
+ userSized,
280
+ }, {
281
+ isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
282
+ });
283
+ }
284
+ }
285
+ else {
286
+ const preferredWidgetIndex = section;
287
+ const widgetPanelSectionId = getWidgetPanelSectionId(side, preferredWidgetIndex);
288
+ if (widgetPanelSectionId in state.widgets) {
289
+ state = addTabToWidget(state, widgetDef.id, widgetPanelSectionId);
290
+ }
291
+ else {
292
+ const panel = state.panels[side];
293
+ if (panel.widgets.length < panel.maxWidgetCount) {
294
+ state = addPanelWidget(state, side, widgetPanelSectionId, [widgetDef.id]);
295
+ }
296
+ else {
297
+ const widgetIndex = Math.min(preferredWidgetIndex, panel.widgets.length - 1);
298
+ const widgetId = panel.widgets[widgetIndex];
299
+ state = addTabToWidget(state, widgetDef.id, widgetId);
300
+ }
301
+ }
302
+ }
303
+ }
304
+ return state;
305
+ }
306
+ function processPopoutWidgets(initialState, frontstageDef) {
307
+ // istanbul ignore next
308
+ if (!initialState.popoutWidgets)
309
+ return initialState;
310
+ // istanbul ignore next - not unit testing electron case that reopens popout windows
311
+ if (initialState.popoutWidgets && ProcessDetector.isElectronAppFrontend) {
312
+ if (initialState.popoutWidgets.allIds.length && ProcessDetector.isElectronAppFrontend) {
313
+ for (const widgetContainerId of initialState.popoutWidgets.allIds) {
314
+ frontstageDef.openPopoutWidgetContainer(initialState, widgetContainerId);
315
+ }
316
+ }
317
+ return initialState;
318
+ }
319
+ return convertAllPopupWidgetContainersToFloating(initialState);
320
+ }
321
+ /** Adds frontstageDef widgets that are missing in NineZoneState.
322
+ * @internal
323
+ */
324
+ export function addMissingWidgets(frontstageDef, initialState) {
325
+ var _a, _b, _c, _d, _e, _f, _g, _h;
326
+ let state = initialState;
327
+ state = appendWidgets(state, determineNewWidgets((_a = frontstageDef.leftPanel) === null || _a === void 0 ? void 0 : _a.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Left, StagePanelSection.Start);
328
+ state = appendWidgets(state, determineNewWidgets((_b = frontstageDef.leftPanel) === null || _b === void 0 ? void 0 : _b.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Left, StagePanelSection.End);
329
+ state = appendWidgets(state, determineNewWidgets((_c = frontstageDef.rightPanel) === null || _c === void 0 ? void 0 : _c.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Right, StagePanelSection.Start);
330
+ state = appendWidgets(state, determineNewWidgets((_d = frontstageDef.rightPanel) === null || _d === void 0 ? void 0 : _d.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Right, StagePanelSection.End);
331
+ state = appendWidgets(state, determineNewWidgets((_e = frontstageDef.topPanel) === null || _e === void 0 ? void 0 : _e.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Top, StagePanelSection.Start);
332
+ state = appendWidgets(state, determineNewWidgets((_f = frontstageDef.topPanel) === null || _f === void 0 ? void 0 : _f.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Top, StagePanelSection.End);
333
+ state = appendWidgets(state, determineNewWidgets((_g = frontstageDef.bottomPanel) === null || _g === void 0 ? void 0 : _g.getPanelSectionDef(StagePanelSection.Start).widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.Start);
334
+ state = appendWidgets(state, determineNewWidgets((_h = frontstageDef.bottomPanel) === null || _h === void 0 ? void 0 : _h.getPanelSectionDef(StagePanelSection.End).widgetDefs, state), StagePanelLocation.Bottom, StagePanelSection.End);
335
+ return state;
336
+ }
337
+ /** Hide widgets with Hidden defaultState. */
338
+ function hideWidgets(state, frontstageDef) {
339
+ const tabs = Object.values(state.tabs);
340
+ for (const tab of tabs) {
341
+ const widgetDef = frontstageDef.findWidgetDef(tab.id);
342
+ if (!widgetDef)
343
+ continue;
344
+ if (widgetDef.defaultState === WidgetState.Hidden) {
345
+ state = hideWidget(state, widgetDef);
346
+ }
347
+ }
348
+ return state;
349
+ }
350
+ /** Removes NineZoneState widgets that are missing in frontstageDef.
351
+ * @internal
352
+ */
353
+ export function removeMissingWidgets(frontstageDef, initialState) {
354
+ let state = initialState;
355
+ for (const [, tab] of Object.entries(state.tabs)) {
356
+ if (tab.id === toolSettingsTabId)
357
+ continue;
358
+ const widgetDef = frontstageDef.findWidgetDef(tab.id);
359
+ if (widgetDef)
360
+ continue;
361
+ state = removeTab(state, tab.id);
362
+ }
363
+ return state;
364
+ }
365
+ function getWidgetLabel(label) {
366
+ return label === "" ? "Widget" : label;
367
+ }
368
+ function toStagePanelLocation(side) {
369
+ switch (side) {
370
+ case "bottom":
371
+ return StagePanelLocation.Bottom;
372
+ case "left":
373
+ return StagePanelLocation.Left;
374
+ case "right":
375
+ return StagePanelLocation.Right;
376
+ case "top":
377
+ return StagePanelLocation.Top;
378
+ }
379
+ }
380
+ /** @internal */
381
+ export function getWidgetId(location, section) {
382
+ switch (location) {
383
+ case StagePanelLocation.Left: {
384
+ if (section === StagePanelSection.Start)
385
+ return "leftStart";
386
+ return "leftEnd";
387
+ }
388
+ case StagePanelLocation.Right: {
389
+ if (section === StagePanelSection.Start)
390
+ return "rightStart";
391
+ return "rightEnd";
392
+ }
393
+ case StagePanelLocation.Top: {
394
+ if (section === StagePanelSection.Start)
395
+ return "topStart";
396
+ return "topEnd";
397
+ }
398
+ case StagePanelLocation.Bottom: {
399
+ if (section === StagePanelSection.Start)
400
+ return "bottomStart";
401
+ return "bottomEnd";
402
+ }
403
+ }
404
+ }
405
+ /** @internal */
406
+ export function getPanelSectionWidgets(frontstageDef, location, section) {
407
+ const stagePanel = frontstageDef.getStagePanelDef(location);
408
+ const panelSection = stagePanel === null || stagePanel === void 0 ? void 0 : stagePanel.getPanelSectionDef(section);
409
+ return (panelSection === null || panelSection === void 0 ? void 0 : panelSection.widgetDefs) || [];
410
+ }
411
+ /** @internal */
412
+ export function addPanelWidgets(state, frontstageDef, location) {
413
+ const side = toPanelSide(location);
414
+ const start = getWidgetId(location, StagePanelSection.Start);
415
+ const startWidgets = getPanelSectionWidgets(frontstageDef, location, StagePanelSection.Start);
416
+ state = addWidgets(state, determineNewWidgets(startWidgets, state), side, start);
417
+ const end = getWidgetId(location, StagePanelSection.End);
418
+ const endWidgets = getPanelSectionWidgets(frontstageDef, location, StagePanelSection.End);
419
+ state = addWidgets(state, determineNewWidgets(endWidgets, state), side, end);
420
+ return state;
421
+ }
422
+ /** @internal */
423
+ export function isFrontstageStateSettingResult(settingsResult) {
424
+ if (settingsResult.status === UiStateStorageStatus.Success)
425
+ return true;
426
+ return false;
427
+ }
428
+ /** @internal */
429
+ export function initializePanel(state, frontstageDef, location) {
430
+ const panelSide = toPanelSide(location);
431
+ state = addPanelWidgets(state, frontstageDef, location);
432
+ const panelDef = frontstageDef.getStagePanelDef(location);
433
+ state = produce(state, (draft) => {
434
+ var _a, _b, _c;
435
+ const panel = draft.panels[panelSide];
436
+ panel.minSize = (_a = panelDef === null || panelDef === void 0 ? void 0 : panelDef.minSize) !== null && _a !== void 0 ? _a : panel.minSize;
437
+ panel.pinned = (_b = panelDef === null || panelDef === void 0 ? void 0 : panelDef.pinned) !== null && _b !== void 0 ? _b : panel.pinned;
438
+ panel.resizable = (_c = panelDef === null || panelDef === void 0 ? void 0 : panelDef.resizable) !== null && _c !== void 0 ? _c : panel.resizable;
439
+ if (panelDef === null || panelDef === void 0 ? void 0 : panelDef.maxSizeSpec) {
440
+ panel.maxSize = getPanelMaxSize(panelDef.maxSizeSpec, panelSide, state.size);
441
+ }
442
+ const size = panelDef === null || panelDef === void 0 ? void 0 : panelDef.size;
443
+ panel.size = size === undefined ? size : Math.min(Math.max(size, panel.minSize), panel.maxSize);
444
+ });
445
+ return state;
446
+ }
447
+ function getPanelMaxSize(maxSizeSpec, panel, nineZoneSize) {
448
+ if (typeof maxSizeSpec === "number") {
449
+ return maxSizeSpec;
450
+ }
451
+ const size = isHorizontalPanelSide(panel) ? nineZoneSize.height : nineZoneSize.width;
452
+ return maxSizeSpec.percentage / 100 * size;
453
+ }
454
+ const stateVersion = 13; // this needs to be bumped when NineZoneState is changed (to recreate the layout).
455
+ /** @internal */
456
+ export function initializeNineZoneState(frontstageDef) {
457
+ let nineZone = defaultNineZone;
458
+ nineZone = produce(nineZone, (stateDraft) => {
459
+ // istanbul ignore next
460
+ if (!FrontstageManager.nineZoneSize)
461
+ return;
462
+ stateDraft.size = {
463
+ height: FrontstageManager.nineZoneSize.height,
464
+ width: FrontstageManager.nineZoneSize.width,
465
+ };
466
+ });
467
+ nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Left);
468
+ nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Right);
469
+ nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Top);
470
+ nineZone = initializePanel(nineZone, frontstageDef, StagePanelLocation.Bottom);
471
+ nineZone = produce(nineZone, (stateDraft) => {
472
+ var _a, _b, _c, _d;
473
+ for (const [, panel] of Object.entries(stateDraft.panels)) {
474
+ const expanded = panel.widgets.find((widgetId) => stateDraft.widgets[widgetId].minimized === false);
475
+ const firstWidget = panel.widgets.length > 0 ? stateDraft.widgets[panel.widgets[0]] : undefined;
476
+ // istanbul ignore next
477
+ if (!expanded && firstWidget) {
478
+ firstWidget.minimized = false;
479
+ }
480
+ }
481
+ stateDraft.panels.left.collapsed = isPanelCollapsed((_a = frontstageDef.leftPanel) === null || _a === void 0 ? void 0 : _a.panelState);
482
+ stateDraft.panels.right.collapsed = isPanelCollapsed((_b = frontstageDef.rightPanel) === null || _b === void 0 ? void 0 : _b.panelState);
483
+ stateDraft.panels.top.collapsed = isPanelCollapsed((_c = frontstageDef.topPanel) === null || _c === void 0 ? void 0 : _c.panelState);
484
+ stateDraft.panels.bottom.collapsed = isPanelCollapsed((_d = frontstageDef.bottomPanel) === null || _d === void 0 ? void 0 : _d.panelState);
485
+ const toolSettingsWidgetDef = frontstageDef.toolSettings;
486
+ if (toolSettingsWidgetDef) {
487
+ const toolSettingsTab = stateDraft.tabs[toolSettingsTabId];
488
+ toolSettingsTab.preferredPanelWidgetSize = toolSettingsWidgetDef.preferredPanelSize;
489
+ }
490
+ });
491
+ nineZone = addMissingWidgets(frontstageDef, nineZone);
492
+ nineZone = hideWidgets(nineZone, frontstageDef);
493
+ nineZone = processPopoutWidgets(nineZone, frontstageDef);
494
+ return nineZone;
495
+ }
496
+ /** Converts from saved NineZoneState to NineZoneState.
497
+ * @note Restores toolSettings tab.
498
+ * @note Restores tab labels.
499
+ * @internal
500
+ */
501
+ export function restoreNineZoneState(frontstageDef, saved) {
502
+ let restored = {
503
+ ...saved,
504
+ tabs: defaultNineZone.tabs,
505
+ };
506
+ for (const [, tab] of Object.entries(saved.tabs)) {
507
+ // Re-add the placeholder tab in order to correctly remove it from the state if WidgetDef is not found.
508
+ restored = addTab(restored, tab.id);
509
+ const widgetDef = frontstageDef.findWidgetDef(tab.id);
510
+ if (!widgetDef) {
511
+ Logger.logInfo(UiFramework.loggerCategory(restoreNineZoneState), "WidgetDef is not found for saved tab.", () => ({
512
+ frontstageId: frontstageDef.id,
513
+ tabId: tab.id,
514
+ }));
515
+ restored = removeTab(restored, tab.id);
516
+ continue;
517
+ }
518
+ restored = produce(restored, (draft) => {
519
+ draft.tabs[tab.id] = {
520
+ ...tab,
521
+ label: getWidgetLabel(widgetDef.label),
522
+ hideWithUiWhenFloating: widgetDef.hideWithUiWhenFloating,
523
+ iconSpec: widgetDef.iconSpec,
524
+ canPopout: widgetDef.canPopout,
525
+ isFloatingStateWindowResizable: widgetDef.isFloatingStateWindowResizable,
526
+ allowedPanelTargets: widgetDef.allowedPanelTargets,
527
+ };
528
+ });
529
+ }
530
+ restored = produce(restored, (draft) => {
531
+ // remove center panel section if one is found in left or right panels
532
+ const oldLeftMiddleIndex = saved.panels.left.widgets.findIndex((value) => value === "leftMiddle");
533
+ // istanbul ignore next
534
+ if (-1 !== oldLeftMiddleIndex) {
535
+ draft.panels.left.widgets = saved.panels.left.widgets.filter((value) => value !== "leftMiddle");
536
+ if ("leftEnd" in draft.widgets) {
537
+ draft.widgets.leftMiddle.tabs.forEach((tab) => draft.widgets.leftEnd.tabs.push(tab));
538
+ }
539
+ else {
540
+ draft.widgets.leftEnd = { ...draft.widgets.leftMiddle };
541
+ delete draft.widgets.leftMiddle;
542
+ }
543
+ }
544
+ const oldRightMiddleIndex = saved.panels.right.widgets.findIndex((value) => value === "rightMiddle");
545
+ // istanbul ignore next
546
+ if (-1 !== oldRightMiddleIndex) {
547
+ draft.panels.right.widgets = saved.panels.right.widgets.filter((value) => value !== "rightMiddle");
548
+ if ("rightEnd" in draft.widgets) {
549
+ draft.widgets.rightMiddle.tabs.forEach((tab) => draft.widgets.rightEnd.tabs.push(tab));
550
+ }
551
+ else {
552
+ draft.widgets.rightEnd = { ...draft.widgets.rightMiddle };
553
+ delete draft.widgets.rightMiddle;
554
+ }
555
+ }
556
+ return;
557
+ });
558
+ if (FrontstageManager.nineZoneSize && (0 !== FrontstageManager.nineZoneSize.height || 0 !== FrontstageManager.nineZoneSize.width)) {
559
+ restored = FrameworkStateReducer(restored, {
560
+ type: "RESIZE",
561
+ size: {
562
+ height: FrontstageManager.nineZoneSize.height,
563
+ width: FrontstageManager.nineZoneSize.width,
564
+ },
565
+ }, frontstageDef);
566
+ }
567
+ return restored;
568
+ }
569
+ /** Prepares NineZoneState to be saved.
570
+ * @note Removes toolSettings tab.
571
+ * @note Removes tab labels and iconSpec.
572
+ * @internal
573
+ */
574
+ export function packNineZoneState(state) {
575
+ let packed = {
576
+ ...state,
577
+ tabs: {},
578
+ };
579
+ packed = produce(packed, (draft) => {
580
+ for (const [, tab] of Object.entries(state.tabs)) {
581
+ if (tab.id === toolSettingsTabId)
582
+ continue;
583
+ draft.tabs[tab.id] = {
584
+ id: tab.id,
585
+ preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
586
+ allowedPanelTargets: tab.allowedPanelTargets,
587
+ userSized: tab.userSized,
588
+ };
589
+ }
590
+ });
591
+ return packed;
592
+ }
593
+ // istanbul ignore next
594
+ function packSavedWidgets(frontstageDef) {
595
+ let savedWidgets = [];
596
+ for (const widgetDef of frontstageDef.widgetDefs) {
597
+ const id = widgetDef.id;
598
+ const initialWidget = {
599
+ id,
600
+ };
601
+ const widget = produce(initialWidget, (draft) => {
602
+ if (widgetDef.tabLocation) {
603
+ draft.tabLocation = { ...widgetDef.tabLocation };
604
+ }
605
+ if (widgetDef.popoutBounds) {
606
+ draft.popoutBounds = widgetDef.popoutBounds.toProps();
607
+ }
608
+ });
609
+ if (widget === initialWidget)
610
+ continue;
611
+ savedWidgets.push(widget);
612
+ }
613
+ // Add previously saved widgets.
614
+ const prevSavedWidgets = frontstageDef.savedWidgetDefs || [];
615
+ for (const prevWidget of prevSavedWidgets) {
616
+ if (savedWidgets.find((w) => w.id === prevWidget.id))
617
+ continue;
618
+ savedWidgets.push(prevWidget);
619
+ }
620
+ // Limit number of saved widgets.
621
+ const maxWidgets = 100;
622
+ if (savedWidgets.length > maxWidgets)
623
+ savedWidgets = savedWidgets.slice(0, maxWidgets);
624
+ return savedWidgets;
625
+ }
626
+ // istanbul ignore next
627
+ function restoreSavedWidgets(frontstage) {
628
+ const savedWidgets = frontstage.savedWidgetDefs || [];
629
+ for (const savedWidget of savedWidgets) {
630
+ const widgetId = savedWidget.id;
631
+ const widgetDef = frontstage.findWidgetDef(widgetId);
632
+ if (!widgetDef)
633
+ continue;
634
+ if (savedWidget.tabLocation) {
635
+ widgetDef.tabLocation = { ...savedWidget.tabLocation };
636
+ }
637
+ if (savedWidget.popoutBounds) {
638
+ widgetDef.popoutBounds = Rectangle.create(savedWidget.popoutBounds);
639
+ }
640
+ }
641
+ }
642
+ /** @internal */
643
+ export function isPanelCollapsed(panelState) {
644
+ return panelState !== StagePanelState.Open;
645
+ }
646
+ function addHiddenWidget(state, widgetDef) {
647
+ const tabLocation = widgetDef.tabLocation || widgetDef.defaultTabLocation;
648
+ const tabId = widgetDef.id;
649
+ const { widgetId, tabIndex } = tabLocation;
650
+ if (widgetId in state.widgets) {
651
+ // Add to an existing widget (by widget id).
652
+ return insertTabToWidget(state, tabId, widgetId, tabIndex);
653
+ }
654
+ else if (tabLocation.floatingWidget) {
655
+ const floatingWidget = tabLocation.floatingWidget;
656
+ assert(widgetId === floatingWidget.id);
657
+ // Add to a new floating widget.
658
+ const nzBounds = Rectangle.createFromSize(state.size);
659
+ const bounds = Rectangle.create(floatingWidget.bounds).containIn(nzBounds);
660
+ return addFloatingWidget(state, floatingWidget.id, [tabId], {
661
+ ...floatingWidget,
662
+ bounds: bounds.toProps(),
663
+ });
664
+ }
665
+ // Add to a panel section.
666
+ const panel = state.panels[tabLocation.side];
667
+ // Add to existing panel section.
668
+ if (panel.widgets.length >= panel.maxWidgetCount) {
669
+ const sectionIndex = Math.min(panel.maxWidgetCount - 1, tabLocation.widgetIndex);
670
+ const sectionId = panel.widgets[sectionIndex];
671
+ return insertTabToWidget(state, tabId, sectionId, tabLocation.tabIndex);
672
+ }
673
+ // Create a new panel section.
674
+ const newSectionId = getUniqueId();
675
+ return insertPanelWidget(state, panel.side, newSectionId, [tabId], tabLocation.widgetIndex);
676
+ }
677
+ /** @internal */
678
+ export function setWidgetState(state, widgetDef, widgetState) {
679
+ var _a, _b;
680
+ if (widgetState === WidgetState.Hidden) {
681
+ return hideWidget(state, widgetDef);
682
+ }
683
+ else if (widgetState === WidgetState.Open) {
684
+ const id = widgetDef.id;
685
+ let location = getTabLocation(state, id);
686
+ if (!location) {
687
+ state = addHiddenWidget(state, widgetDef);
688
+ location = getTabLocation(state, id);
689
+ }
690
+ return produce(state, (draft) => {
691
+ var _a;
692
+ assert(!!location);
693
+ const widget = draft.widgets[location.widgetId];
694
+ widget.minimized = false;
695
+ widget.activeTabId = id;
696
+ if (isFloatingTabLocation(location)) {
697
+ const floatingWidget = draft.floatingWidgets.byId[location.floatingWidgetId];
698
+ floatingWidget.hidden = false;
699
+ // istanbul ignore else
700
+ }
701
+ else if (isPanelTabLocation(location)) {
702
+ const panel = draft.panels[location.side];
703
+ panel.collapsed = false;
704
+ if (undefined === panel.size || 0 === panel.size) {
705
+ // istanbul ignore next
706
+ panel.size = (_a = panel.minSize) !== null && _a !== void 0 ? _a : 200;
707
+ }
708
+ }
709
+ });
710
+ }
711
+ else if (widgetState === WidgetState.Closed) {
712
+ const id = widgetDef.id;
713
+ let location = getTabLocation(state, id);
714
+ if (!location) {
715
+ state = addHiddenWidget(state, widgetDef);
716
+ location = getTabLocation(state, id);
717
+ }
718
+ // TODO: should change activeTabId of a widget with multiple tabs.
719
+ return produce(state, (draft) => {
720
+ assert(!!location);
721
+ const widget = draft.widgets[location.widgetId];
722
+ if (isFloatingTabLocation(location)) {
723
+ if (id === widget.activeTabId) {
724
+ widget.minimized = true;
725
+ }
726
+ }
727
+ });
728
+ }
729
+ else if (widgetState === WidgetState.Floating) {
730
+ const id = widgetDef.id;
731
+ let location = getTabLocation(state, id);
732
+ if (!location) {
733
+ state = addHiddenWidget(state, widgetDef);
734
+ location = getTabLocation(state, id);
735
+ }
736
+ assert(!!location);
737
+ if (isFloatingTabLocation(location))
738
+ return state;
739
+ // Widget is not floating.
740
+ state = removeTabFromWidget(state, id);
741
+ const bounds = (_b = (_a = widgetDef.tabLocation) === null || _a === void 0 ? void 0 : _a.floatingWidget) === null || _b === void 0 ? void 0 : _b.bounds;
742
+ state = addFloatingWidget(state, getUniqueId(), [id], { bounds });
743
+ }
744
+ return state;
745
+ }
746
+ /** Stores widget location and hides it in the UI. */
747
+ function hideWidget(state, widgetDef) {
748
+ const location = getTabLocation(state, widgetDef.id);
749
+ if (!location)
750
+ return state;
751
+ // istanbul ignore else
752
+ if (isFloatingTabLocation(location)) {
753
+ const floatingWidget = state.floatingWidgets.byId[location.widgetId];
754
+ widgetDef.setFloatingContainerId(location.floatingWidgetId);
755
+ widgetDef.tabLocation = {
756
+ side: floatingWidget.home.side,
757
+ tabIndex: floatingWidget.home.widgetIndex,
758
+ widgetId: floatingWidget.id,
759
+ widgetIndex: floatingWidget.home.widgetIndex,
760
+ floatingWidget,
761
+ };
762
+ }
763
+ else if (!isPopoutTabLocation(location)) {
764
+ const widgetId = location.widgetId;
765
+ const side = isPanelTabLocation(location) ? location.side : "left";
766
+ const widgetIndex = isPanelTabLocation(location) ? state.panels[side].widgets.indexOf(widgetId) : 0;
767
+ const tabIndex = state.widgets[location.widgetId].tabs.indexOf(widgetDef.id);
768
+ widgetDef.tabLocation = {
769
+ side,
770
+ tabIndex,
771
+ widgetId,
772
+ widgetIndex,
773
+ };
774
+ }
775
+ return removeTabFromWidget(state, widgetDef.id);
776
+ }
777
+ /** @internal */
778
+ export function showWidget(state, id) {
779
+ const location = getTabLocation(state, id);
780
+ if (!location)
781
+ return state;
782
+ state = produce(state, (draft) => {
783
+ const widget = draft.widgets[location.widgetId];
784
+ widget.activeTabId = id;
785
+ widget.minimized = false;
786
+ if (isPanelTabLocation(location)) {
787
+ const panel = draft.panels[location.side];
788
+ panel.collapsed = false;
789
+ }
790
+ });
791
+ if (isFloatingTabLocation(location)) {
792
+ state = floatingWidgetBringToFront(state, location.floatingWidgetId);
793
+ }
794
+ return state;
795
+ }
796
+ /** @internal */
797
+ export function expandWidget(state, id) {
798
+ const location = getTabLocation(state, id);
799
+ if (!location)
800
+ return state;
801
+ return produce(state, (draft) => {
802
+ const widget = draft.widgets[location.widgetId];
803
+ if (isPanelTabLocation(location)) {
804
+ const panel = draft.panels[location.side];
805
+ panel.widgets.forEach((wId) => {
806
+ const w = draft.widgets[wId];
807
+ w.minimized = true;
808
+ });
809
+ }
810
+ widget.minimized = false;
811
+ });
812
+ }
813
+ /** @internal */
814
+ export function setWidgetLabel(state, id, label) {
815
+ if (!(id in state.tabs))
816
+ return state;
817
+ return produce(state, (draft) => {
818
+ const tab = draft.tabs[id];
819
+ tab.label = label;
820
+ });
821
+ }
822
+ /** @internal */
823
+ export function useSavedFrontstageState(frontstageDef) {
824
+ const uiStateStorage = useUiStateStorageHandler();
825
+ const uiStateStorageRef = React.useRef(uiStateStorage);
826
+ const isMountedRef = React.useRef(false);
827
+ React.useEffect(() => {
828
+ isMountedRef.current = true;
829
+ return () => { isMountedRef.current = false; };
830
+ }, []);
831
+ React.useEffect(() => {
832
+ uiStateStorageRef.current = uiStateStorage;
833
+ }, [uiStateStorage]);
834
+ React.useEffect(() => {
835
+ async function fetchFrontstageState() {
836
+ if (frontstageDef.nineZoneState) {
837
+ frontstageDef.nineZoneState = processPopoutWidgets(frontstageDef.nineZoneState, frontstageDef);
838
+ return;
839
+ }
840
+ const id = frontstageDef.id;
841
+ const version = frontstageDef.version;
842
+ const settingResult = await uiStateStorageRef.current.getSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id));
843
+ if (!isMountedRef.current)
844
+ return;
845
+ if (isFrontstageStateSettingResult(settingResult)) {
846
+ const setting = settingResult.setting;
847
+ if (setting.version >= version && setting.stateVersion >= stateVersion) {
848
+ const restored = restoreNineZoneState(frontstageDef, setting.nineZone);
849
+ frontstageDef.savedWidgetDefs = setting.widgets;
850
+ restoreSavedWidgets(frontstageDef);
851
+ let state = addMissingWidgets(frontstageDef, restored);
852
+ state = hideWidgets(state, frontstageDef);
853
+ state = processPopoutWidgets(state, frontstageDef);
854
+ frontstageDef.nineZoneState = state;
855
+ return;
856
+ }
857
+ }
858
+ frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);
859
+ }
860
+ void fetchFrontstageState();
861
+ }, [frontstageDef]);
862
+ }
863
+ /** @internal */
864
+ export function useSaveFrontstageSettings(frontstageDef, store) {
865
+ const uiSettingsStorage = useUiStateStorageHandler();
866
+ const saveSetting = React.useMemo(() => {
867
+ const debounced = debounce(async (frontstage, state) => {
868
+ const id = frontstage.id;
869
+ const widgets = packSavedWidgets(frontstage);
870
+ frontstage.savedWidgetDefs = widgets;
871
+ const setting = {
872
+ id,
873
+ version: frontstage.version,
874
+ stateVersion,
875
+ nineZone: packNineZoneState(state),
876
+ widgets,
877
+ };
878
+ await uiSettingsStorage.saveSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(id), setting);
879
+ }, 1000);
880
+ const save = (frontstage, state) => {
881
+ if (state.draggedTab)
882
+ return;
883
+ debounced(frontstage, state);
884
+ };
885
+ save.cancel = debounced.cancel;
886
+ return save;
887
+ }, [uiSettingsStorage]);
888
+ React.useEffect(() => {
889
+ return () => {
890
+ saveSetting.cancel();
891
+ };
892
+ }, [saveSetting]);
893
+ React.useEffect(() => {
894
+ saveSetting(frontstageDef, store.getState());
895
+ }, [saveSetting, frontstageDef, store]);
896
+ React.useEffect(() => {
897
+ return store.subscribe(() => {
898
+ saveSetting(frontstageDef, store.getState());
899
+ });
900
+ }, [saveSetting, frontstageDef, store]);
901
+ }
902
+ /** @internal */
903
+ export const FRONTSTAGE_SETTINGS_NAMESPACE = "uifw-frontstageSettings";
904
+ /** @internal */
905
+ export function getFrontstageStateSettingName(frontstageId) {
906
+ return `frontstageState[${frontstageId}]`;
907
+ }
908
+ // istanbul ignore next
909
+ function debounce(func, duration) {
910
+ let timeout;
911
+ const debounced = (...args) => {
912
+ const handler = () => {
913
+ timeout = undefined;
914
+ return func(...args);
915
+ };
916
+ window.clearTimeout(timeout);
917
+ timeout = window.setTimeout(handler, duration);
918
+ };
919
+ debounced.cancel = () => {
920
+ window.clearTimeout(timeout);
921
+ };
922
+ return debounced;
923
+ }
924
+ const createListener = (frontstageDef, listener) => {
925
+ return (...args) => {
926
+ if (!frontstageDef.nineZoneState)
927
+ return;
928
+ listener(...args);
929
+ };
930
+ };
931
+ /** @internal */
932
+ export function useFrontstageManager(frontstageDef, useToolAsToolSettingsLabel) {
933
+ React.useEffect(() => {
934
+ const listener = createListener(frontstageDef, ({ widgetDef, widgetState }) => {
935
+ assert(!!frontstageDef.nineZoneState);
936
+ frontstageDef.nineZoneState = setWidgetState(frontstageDef.nineZoneState, widgetDef, widgetState);
937
+ });
938
+ FrontstageManager.onWidgetStateChangedEvent.addListener(listener);
939
+ return () => {
940
+ FrontstageManager.onWidgetStateChangedEvent.removeListener(listener);
941
+ };
942
+ }, [frontstageDef]);
943
+ React.useEffect(() => {
944
+ const listener = createListener(frontstageDef, ({ widgetDef }) => {
945
+ assert(!!frontstageDef.nineZoneState);
946
+ frontstageDef.nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);
947
+ });
948
+ FrontstageManager.onWidgetShowEvent.addListener(listener);
949
+ return () => {
950
+ FrontstageManager.onWidgetShowEvent.removeListener(listener);
951
+ };
952
+ }, [frontstageDef]);
953
+ React.useEffect(() => {
954
+ const listener = createListener(frontstageDef, ({ widgetDef }) => {
955
+ assert(!!frontstageDef.nineZoneState);
956
+ let nineZoneState = showWidget(frontstageDef.nineZoneState, widgetDef.id);
957
+ nineZoneState = expandWidget(nineZoneState, widgetDef.id);
958
+ frontstageDef.nineZoneState = nineZoneState;
959
+ });
960
+ FrontstageManager.onWidgetExpandEvent.addListener(listener);
961
+ return () => {
962
+ FrontstageManager.onWidgetExpandEvent.removeListener(listener);
963
+ };
964
+ }, [frontstageDef]);
965
+ const uiSettingsStorage = useUiStateStorageHandler();
966
+ React.useEffect(() => {
967
+ const listener = (args) => {
968
+ // TODO: track restoring frontstages to support workflows: i.e. prevent loading frontstage OR saving layout when delete is pending
969
+ void uiSettingsStorage.deleteSetting(FRONTSTAGE_SETTINGS_NAMESPACE, getFrontstageStateSettingName(args.frontstageDef.id));
970
+ if (frontstageDef.id === args.frontstageDef.id) {
971
+ args.frontstageDef.nineZoneState = initializeNineZoneState(frontstageDef);
972
+ }
973
+ else {
974
+ args.frontstageDef.nineZoneState = undefined;
975
+ }
976
+ };
977
+ FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(listener);
978
+ return () => {
979
+ FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(listener);
980
+ };
981
+ }, [uiSettingsStorage, frontstageDef]);
982
+ React.useEffect(() => {
983
+ const listener = createListener(frontstageDef, ({ widgetDef }) => {
984
+ assert(!!frontstageDef.nineZoneState);
985
+ const label = widgetDef.label;
986
+ frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, widgetDef.id, label);
987
+ });
988
+ FrontstageManager.onWidgetLabelChangedEvent.addListener(listener);
989
+ return () => {
990
+ FrontstageManager.onWidgetLabelChangedEvent.removeListener(listener);
991
+ };
992
+ }, [frontstageDef]);
993
+ const defaultLabel = React.useMemo(() => UiFramework.translate("widget.labels.toolSettings"), []);
994
+ React.useEffect(() => {
995
+ const updateLabel = createListener(frontstageDef, () => {
996
+ var _a;
997
+ const toolId = FrontstageManager.activeToolId;
998
+ assert(!!frontstageDef.nineZoneState);
999
+ const label = useToolAsToolSettingsLabel ?
1000
+ ((_a = IModelApp.tools.find(toolId)) === null || _a === void 0 ? void 0 : _a.flyover) || defaultLabel : defaultLabel;
1001
+ frontstageDef.nineZoneState = setWidgetLabel(frontstageDef.nineZoneState, toolSettingsTabId, label);
1002
+ });
1003
+ // Whenever the frontstageDef or the useTool... changes, keep the label up to date.
1004
+ updateLabel();
1005
+ // If useTool... is true, listen for events to keep up the label up to date.
1006
+ if (useToolAsToolSettingsLabel) {
1007
+ FrontstageManager.onFrontstageReadyEvent.addListener(updateLabel);
1008
+ FrontstageManager.onFrontstageRestoreLayoutEvent.addListener(updateLabel);
1009
+ FrontstageManager.onToolActivatedEvent.addListener(updateLabel);
1010
+ FrontstageManager.onToolSettingsReloadEvent.addListener(updateLabel);
1011
+ }
1012
+ return () => {
1013
+ if (useToolAsToolSettingsLabel) {
1014
+ FrontstageManager.onFrontstageReadyEvent.removeListener(updateLabel);
1015
+ FrontstageManager.onFrontstageRestoreLayoutEvent.removeListener(updateLabel);
1016
+ FrontstageManager.onToolActivatedEvent.removeListener(updateLabel);
1017
+ FrontstageManager.onToolSettingsReloadEvent.removeListener(updateLabel);
1018
+ }
1019
+ };
1020
+ }, [frontstageDef, useToolAsToolSettingsLabel, defaultLabel]);
1021
+ }
1022
+ /** @internal */
1023
+ // istanbul ignore next
1024
+ export function useItemsManager(frontstageDef) {
1025
+ const refreshNineZoneState = (def) => {
1026
+ // Fired for both registered/unregistered. Update definitions and remove/add missing widgets.
1027
+ def.updateWidgetDefs();
1028
+ restoreSavedWidgets(def);
1029
+ let state = def.nineZoneState;
1030
+ if (!state)
1031
+ return;
1032
+ state = addMissingWidgets(def, state);
1033
+ state = removeMissingWidgets(def, state);
1034
+ state = hideWidgets(state, def); // TODO: should only apply to widgets provided by registered provider in onUiProviderRegisteredEvent.
1035
+ def.nineZoneState = state;
1036
+ };
1037
+ React.useEffect(() => {
1038
+ const remove = UiItemsManager.onUiProviderRegisteredEvent.addListener(() => {
1039
+ refreshNineZoneState(frontstageDef);
1040
+ });
1041
+ // Need to refresh anytime frontstageDef changes because uiItemsProvider may have added something to
1042
+ // another stage before it was possibly unloaded in this stage.
1043
+ refreshNineZoneState(frontstageDef);
1044
+ return remove;
1045
+ }, [frontstageDef]);
1046
+ }
1047
+ // istanbul ignore next
1048
+ function determineNewWidgets(defs, state) {
1049
+ defs = defs || [];
1050
+ const uniqueDefs = defs.filter((def, index, array) => {
1051
+ return index === array.findIndex((def1) => def.id === def1.id);
1052
+ });
1053
+ return uniqueDefs.filter((def) => !(def.id in state.tabs));
1054
+ }
1055
1055
  //# sourceMappingURL=Frontstage.js.map