@itwin/appui-react 4.12.0 → 4.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1009) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +4 -1
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +13 -14
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.json +1 -1
  7. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -1
  9. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  13. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  15. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  16. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposer.js +2 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
  20. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  21. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  22. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  24. package/lib/cjs/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  25. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  26. package/lib/cjs/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +11 -5
  27. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  28. package/lib/{esm/appui-react/childwindow/PopoutWidget.scss → cjs/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  32. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  36. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +5 -18
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  40. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  41. package/lib/cjs/appui-react/content/ContentControl.d.ts +2 -0
  42. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentControl.js +1 -0
  44. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  45. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -0
  46. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  47. package/lib/cjs/appui-react/content/ContentLayout.js +14 -14
  48. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  49. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  50. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  51. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -2
  52. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -3
  54. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  55. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/content/IModelViewport.js +7 -8
  57. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  58. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  59. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +5 -5
  61. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/content/InternalContentViewManager.js +5 -7
  63. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  64. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
  65. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  66. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +2 -0
  67. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/cursor/CursorInformation.js +2 -0
  69. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  70. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  72. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  77. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +4 -24
  79. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  80. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  82. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/dialog/ContentDialog.js +8 -7
  85. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  86. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  87. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +6 -3
  89. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  91. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  92. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -2
  93. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  95. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +2 -2
  97. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  98. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  99. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  101. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  102. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  103. package/lib/cjs/appui-react/dialog/ModelessDialog.js +3 -1
  104. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  105. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  107. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  108. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -0
  109. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/feedback/ElementTooltip.js +6 -2
  111. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  112. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +5 -0
  113. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/framework/FrameworkContent.js +4 -0
  115. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  116. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  117. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +4 -0
  119. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  120. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  121. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -0
  123. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  124. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  125. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -0
  127. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +23 -23
  130. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  132. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +45 -50
  134. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  136. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -5
  137. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  138. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  139. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  141. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +1 -0
  142. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  143. package/lib/cjs/appui-react/hooks/useActiveStageId.js +2 -1
  144. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  145. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  146. package/lib/cjs/appui-react/hooks/useActiveViewport.js +2 -0
  147. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  148. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  149. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  150. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  151. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  152. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  153. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  154. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/hooks/useUiVisibility.js +1 -0
  156. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  157. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  158. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  159. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  162. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  163. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  164. package/lib/cjs/appui-react/layout/base/DragManager.js +1 -2
  165. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  166. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  167. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  168. package/lib/cjs/appui-react/layout/footer/_variables.scss +0 -2
  169. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  170. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  171. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  172. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  173. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  174. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  175. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  176. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  177. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  178. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  180. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  181. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  182. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  183. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +2 -2
  184. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  185. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +3 -13
  186. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +2 -2
  187. package/lib/cjs/appui-react/layout/tool-settings/Setting.js +1 -1
  188. package/lib/cjs/appui-react/layout/tool-settings/Setting.js.map +1 -1
  189. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -2
  190. package/lib/cjs/appui-react/layout/widget/Button.d.ts +3 -2
  191. package/lib/cjs/appui-react/layout/widget/Button.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/layout/widget/Button.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +1 -1
  194. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +3 -3
  196. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/layout/widget/ContentManager.js +7 -1
  198. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  199. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  200. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  201. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +5 -6
  202. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  203. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +2 -4
  204. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  205. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  206. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  207. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  208. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  210. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  211. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  212. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +5 -8
  214. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  216. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  217. package/lib/cjs/appui-react/messages/InputField.js +2 -1
  218. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  219. package/lib/cjs/appui-react/messages/MessageManager.d.ts +12 -0
  220. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  221. package/lib/cjs/appui-react/messages/MessageManager.js +18 -10
  222. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  223. package/lib/cjs/appui-react/messages/MessageRenderer.js +7 -8
  224. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  225. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -0
  226. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/messages/Pointer.js +7 -9
  228. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  229. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  230. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -0
  232. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  233. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  234. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  235. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  236. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  237. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  239. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  240. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
  242. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  243. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +2 -0
  244. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  245. package/lib/cjs/appui-react/pickers/ViewSelector.js +8 -13
  246. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  247. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  248. package/lib/cjs/appui-react/popup/CardPopup.js +2 -3
  249. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  250. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/popup/ComponentPopup.js +1 -1
  252. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
  253. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  255. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  257. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +7 -4
  259. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  260. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  261. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  262. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  263. package/lib/cjs/appui-react/popup/PopupManager.d.ts +5 -1
  264. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  265. package/lib/cjs/appui-react/popup/PopupManager.js +24 -24
  266. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  267. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/popup/PositionPopup.js +1 -0
  269. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  270. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  271. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  273. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -3
  274. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  275. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +7 -0
  276. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  277. package/lib/cjs/appui-react/preview/PreviewFeatures.js +2 -1
  278. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  279. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  280. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  281. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  282. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  283. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  284. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  285. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  286. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  287. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +1 -1
  288. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -1
  289. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  290. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  291. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  292. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  293. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  294. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  295. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  296. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +40 -0
  297. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  298. package/lib/{esm/appui-react/layout/footer/message-center/_variables.scss → cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  299. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  300. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  301. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +25 -0
  302. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  303. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  304. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  305. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +26 -0
  306. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  307. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  308. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  309. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +45 -0
  310. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  311. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  312. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  313. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  314. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +28 -0
  315. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  316. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  317. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  318. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +18 -0
  319. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  320. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  321. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  322. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  323. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  324. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +8 -3
  326. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  327. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +1 -0
  329. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  330. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
  331. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  332. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +15 -25
  333. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  334. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  335. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  336. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -3
  337. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/statusbar/StatusBar.js +21 -13
  339. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  340. package/lib/cjs/appui-react/statusbar/StatusBar.scss +18 -0
  341. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  343. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  344. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  345. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +3 -1
  346. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  347. package/lib/cjs/appui-react/statusfields/SelectionScope.js +1 -1
  348. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  349. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +2 -2
  350. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  351. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  352. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +91 -0
  353. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  354. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  355. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  356. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  357. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js +28 -0
  358. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  359. package/lib/{esm/appui-react/layout/footer/message-center/Message.scss → cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  360. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +12 -6
  362. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  363. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  364. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  366. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  367. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  369. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  370. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  371. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/syncui/UiSyncEvent.js +2 -0
  373. package/lib/cjs/appui-react/syncui/UiSyncEvent.js.map +1 -1
  374. package/lib/cjs/appui-react/theme/ThemeManager.js +2 -2
  375. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  376. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  377. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  378. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  379. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +2 -1
  380. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  381. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +7 -5
  382. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  383. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  384. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  385. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
  386. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  387. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  388. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  389. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  390. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  391. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  392. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  393. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js +2 -1
  394. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  395. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  396. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  397. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  398. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  399. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -4
  400. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  401. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  402. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  403. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  404. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  405. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  406. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  407. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  408. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  409. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  410. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +7 -9
  411. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  412. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  414. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  415. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  416. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  417. package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -0
  418. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  419. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
  421. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  422. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  423. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  424. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  425. package/lib/cjs/appui-react/widget-panels/Content.js +11 -10
  426. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  427. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts +13 -0
  428. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  429. package/lib/cjs/appui-react/widget-panels/DockedBar.js +18 -0
  430. package/lib/cjs/appui-react/widget-panels/DockedBar.js.map +1 -0
  431. package/lib/cjs/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  432. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  433. package/lib/cjs/appui-react/widget-panels/Frontstage.js +15 -18
  434. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  435. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  436. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  437. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts +0 -1
  438. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/widget-panels/StatusBar.js +2 -5
  440. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  441. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  442. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  443. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  444. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  445. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +28 -53
  446. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  447. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +4 -27
  448. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  449. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  450. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  451. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -1
  452. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  453. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  455. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  456. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  457. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  458. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  459. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
  460. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  461. package/lib/cjs/appui-react/widgets/WidgetDef.js +10 -11
  462. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  463. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  464. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  465. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +1 -6
  466. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -8
  468. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  469. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  470. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  471. package/lib/cjs/appui-react.d.ts +1 -1
  472. package/lib/cjs/appui-react.d.ts.map +1 -1
  473. package/lib/cjs/appui-react.js +1 -1
  474. package/lib/cjs/appui-react.js.map +1 -1
  475. package/lib/esm/appui-react/UiFramework.d.ts +4 -1
  476. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  477. package/lib/esm/appui-react/UiFramework.js +13 -14
  478. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  479. package/lib/esm/appui-react/UiFramework.json +1 -1
  480. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  481. package/lib/esm/appui-react/accudraw/Calculator.js +3 -1
  482. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  483. package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  484. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  485. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  486. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  487. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  488. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  489. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  490. package/lib/esm/appui-react/backstage/BackstageComposer.js +2 -1
  491. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  492. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
  493. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  494. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  495. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  496. package/lib/esm/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  497. package/lib/esm/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  498. package/lib/esm/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  499. package/lib/esm/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +9 -3
  500. package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  501. package/lib/{cjs/appui-react/childwindow/PopoutWidget.scss → esm/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  502. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  503. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  504. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  505. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  506. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  507. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  508. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  509. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  510. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +4 -15
  511. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  512. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  513. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  514. package/lib/esm/appui-react/content/ContentControl.d.ts +2 -0
  515. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  516. package/lib/esm/appui-react/content/ContentControl.js +1 -0
  517. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  518. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -0
  519. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  520. package/lib/esm/appui-react/content/ContentLayout.js +14 -14
  521. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  522. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  523. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  524. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -2
  525. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  526. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -3
  527. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  528. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  529. package/lib/esm/appui-react/content/IModelViewport.js +7 -8
  530. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  531. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  532. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  533. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +5 -5
  534. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  535. package/lib/esm/appui-react/content/InternalContentViewManager.js +6 -8
  536. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  537. package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
  538. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  539. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +2 -0
  540. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  541. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -0
  542. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  543. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  544. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  545. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  546. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  547. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  548. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  549. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  550. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  551. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +5 -23
  552. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  553. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  554. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  555. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  556. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  557. package/lib/esm/appui-react/dialog/ContentDialog.js +8 -7
  558. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  559. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  560. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  561. package/lib/esm/appui-react/dialog/DialogManagerBase.js +6 -3
  562. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  563. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  564. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  565. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +2 -3
  566. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  567. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  568. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  569. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +2 -2
  570. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  571. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  572. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  573. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +2 -3
  574. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  575. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  576. package/lib/esm/appui-react/dialog/ModelessDialog.js +3 -1
  577. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  578. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  579. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  580. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  581. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -0
  582. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  583. package/lib/esm/appui-react/feedback/ElementTooltip.js +6 -2
  584. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  585. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +5 -0
  586. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  587. package/lib/esm/appui-react/framework/FrameworkContent.js +4 -0
  588. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  589. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  590. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  591. package/lib/esm/appui-react/framework/FrameworkDialogs.js +4 -0
  592. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  593. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  594. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  595. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -0
  596. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  597. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  598. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  599. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -0
  600. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  601. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  602. package/lib/esm/appui-react/frontstage/FrontstageDef.js +23 -23
  603. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  604. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  605. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +46 -51
  607. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  608. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  609. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -5
  610. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  611. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  612. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  613. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  614. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +1 -0
  615. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  616. package/lib/esm/appui-react/hooks/useActiveStageId.js +2 -1
  617. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  618. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  619. package/lib/esm/appui-react/hooks/useActiveViewport.js +2 -0
  620. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  621. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  622. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  623. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  624. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  625. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  626. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  627. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  628. package/lib/esm/appui-react/hooks/useUiVisibility.js +1 -0
  629. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  630. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  631. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  632. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  633. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  634. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  635. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  636. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  637. package/lib/esm/appui-react/layout/base/DragManager.js +1 -2
  638. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  639. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  640. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  641. package/lib/esm/appui-react/layout/footer/_variables.scss +0 -2
  642. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  643. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  644. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  645. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  646. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  647. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  648. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  649. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  650. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  651. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  652. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  653. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  654. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  655. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  656. package/lib/esm/appui-react/layout/tool-settings/Docked.js +2 -2
  657. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  658. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +3 -13
  659. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +2 -2
  660. package/lib/esm/appui-react/layout/tool-settings/Setting.js +1 -1
  661. package/lib/esm/appui-react/layout/tool-settings/Setting.js.map +1 -1
  662. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -2
  663. package/lib/esm/appui-react/layout/widget/Button.d.ts +3 -2
  664. package/lib/esm/appui-react/layout/widget/Button.d.ts.map +1 -1
  665. package/lib/esm/appui-react/layout/widget/Button.js.map +1 -1
  666. package/lib/esm/appui-react/layout/widget/ContentContainer.js +1 -1
  667. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  668. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +3 -3
  669. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  670. package/lib/esm/appui-react/layout/widget/ContentManager.js +7 -1
  671. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  672. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  673. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  674. package/lib/esm/appui-react/layout/widget/FloatingTab.js +5 -6
  675. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  676. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +2 -4
  677. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  678. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  679. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  680. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  681. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  682. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  683. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  684. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  685. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  686. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +5 -8
  687. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  688. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  689. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  690. package/lib/esm/appui-react/messages/InputField.js +2 -1
  691. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  692. package/lib/esm/appui-react/messages/MessageManager.d.ts +12 -0
  693. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  694. package/lib/esm/appui-react/messages/MessageManager.js +18 -10
  695. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  696. package/lib/esm/appui-react/messages/MessageRenderer.js +7 -8
  697. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  698. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -0
  699. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  700. package/lib/esm/appui-react/messages/Pointer.js +7 -9
  701. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  702. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  703. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  704. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -0
  705. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  706. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  707. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  708. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  709. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  710. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  711. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  712. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  713. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  714. package/lib/esm/appui-react/pickers/ListPicker.js +3 -1
  715. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  716. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +2 -0
  717. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  718. package/lib/esm/appui-react/pickers/ViewSelector.js +9 -14
  719. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  720. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  721. package/lib/esm/appui-react/popup/CardPopup.js +2 -3
  722. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  723. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  724. package/lib/esm/appui-react/popup/ComponentPopup.js +1 -1
  725. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
  726. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  727. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  728. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  729. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  730. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  731. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -4
  732. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  733. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  734. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  735. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  736. package/lib/esm/appui-react/popup/PopupManager.d.ts +5 -1
  737. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  738. package/lib/esm/appui-react/popup/PopupManager.js +24 -24
  739. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  740. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  741. package/lib/esm/appui-react/popup/PositionPopup.js +1 -0
  742. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  743. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  744. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  745. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  746. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -3
  747. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  748. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +7 -0
  749. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  750. package/lib/esm/appui-react/preview/PreviewFeatures.js +2 -1
  751. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  752. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  753. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  754. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  755. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  756. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  757. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  758. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  759. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  760. package/lib/esm/appui-react/preview/new-toolbars/Item.js +1 -1
  761. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -1
  762. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  763. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  764. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  765. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  766. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  767. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  768. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  769. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +36 -0
  770. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  771. package/lib/{cjs/appui-react/layout/footer/message-center/_variables.scss → esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  772. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  773. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  774. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +21 -0
  775. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  776. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  777. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  778. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +22 -0
  779. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  780. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  781. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  782. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +41 -0
  783. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  784. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  785. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  786. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  787. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +25 -0
  788. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  789. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  790. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  791. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +14 -0
  792. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  793. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  794. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  795. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  796. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  797. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  798. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +8 -3
  799. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  800. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  801. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +1 -0
  802. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  803. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
  804. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  805. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +14 -23
  806. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  807. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  808. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  809. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -3
  810. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  811. package/lib/esm/appui-react/statusbar/StatusBar.js +21 -13
  812. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  813. package/lib/esm/appui-react/statusbar/StatusBar.scss +18 -0
  814. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  815. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  816. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  817. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  818. package/lib/esm/appui-react/statusfields/ActivityCenter.js +3 -1
  819. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  820. package/lib/esm/appui-react/statusfields/SelectionScope.js +2 -2
  821. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  822. package/lib/esm/appui-react/statusfields/SelectionScope.scss +2 -2
  823. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  824. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  825. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +87 -0
  826. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  827. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  828. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  829. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  830. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js +24 -0
  831. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  832. package/lib/{cjs/appui-react/layout/footer/message-center/Message.scss → esm/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  833. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  834. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -7
  835. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  836. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  837. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  838. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  839. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  840. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  841. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  842. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  843. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  844. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  845. package/lib/esm/appui-react/syncui/UiSyncEvent.js +2 -0
  846. package/lib/esm/appui-react/syncui/UiSyncEvent.js.map +1 -1
  847. package/lib/esm/appui-react/theme/ThemeManager.js +2 -2
  848. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  849. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  850. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  851. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  852. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +3 -2
  853. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  854. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +7 -5
  855. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  856. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  857. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  858. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
  859. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  860. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  861. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  862. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  863. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  864. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  865. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  866. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js +2 -1
  867. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  868. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  869. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  870. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  871. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  872. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -3
  873. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  874. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  875. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  876. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  877. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  878. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  879. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  880. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  881. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  882. package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  883. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +7 -9
  884. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  885. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  886. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  887. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  888. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  889. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  890. package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -0
  891. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  892. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  893. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
  894. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  895. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  896. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  897. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  898. package/lib/esm/appui-react/widget-panels/Content.js +11 -10
  899. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  900. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts +13 -0
  901. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  902. package/lib/esm/appui-react/widget-panels/DockedBar.js +14 -0
  903. package/lib/esm/appui-react/widget-panels/DockedBar.js.map +1 -0
  904. package/lib/esm/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  905. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  906. package/lib/esm/appui-react/widget-panels/Frontstage.js +15 -18
  907. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  908. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  909. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  910. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts +0 -1
  911. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  912. package/lib/esm/appui-react/widget-panels/StatusBar.js +2 -5
  913. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  914. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  915. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  916. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  917. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  918. package/lib/esm/appui-react/widget-panels/ToolSettings.js +27 -51
  919. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  920. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +4 -27
  921. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  922. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  923. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  924. package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -1
  925. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  926. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  927. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  928. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  929. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  930. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  931. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  932. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
  933. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  934. package/lib/esm/appui-react/widgets/WidgetDef.js +10 -11
  935. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  936. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  937. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  938. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +1 -6
  939. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  940. package/lib/esm/appui-react/widgets/WidgetManager.js +1 -6
  941. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  942. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  943. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  944. package/lib/esm/appui-react.d.ts +1 -1
  945. package/lib/esm/appui-react.d.ts.map +1 -1
  946. package/lib/esm/appui-react.js +1 -1
  947. package/lib/esm/appui-react.js.map +1 -1
  948. package/lib/public/locales/en/UiFramework.json +1 -1
  949. package/package.json +12 -37
  950. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  951. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +0 -1
  952. package/lib/cjs/appui-react/layout/footer/Footer.d.ts +0 -33
  953. package/lib/cjs/appui-react/layout/footer/Footer.d.ts.map +0 -1
  954. package/lib/cjs/appui-react/layout/footer/Footer.js +0 -30
  955. package/lib/cjs/appui-react/layout/footer/Footer.js.map +0 -1
  956. package/lib/cjs/appui-react/layout/footer/Footer.scss +0 -61
  957. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  958. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  959. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js +0 -32
  960. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  961. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  962. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  963. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  964. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js +0 -33
  965. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  966. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  967. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  968. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  969. package/lib/cjs/appui-react/layout/footer/message-center/Message.js +0 -26
  970. package/lib/cjs/appui-react/layout/footer/message-center/Message.js.map +0 -1
  971. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  972. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  973. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js +0 -26
  974. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  975. package/lib/cjs/appui-react/layout/footer/message-center/Tab.scss +0 -60
  976. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -46
  977. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  978. package/lib/cjs/appui-react/statusfields/MessageCenter.js +0 -132
  979. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +0 -1
  980. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  981. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +0 -1
  982. package/lib/esm/appui-react/layout/footer/Footer.d.ts +0 -33
  983. package/lib/esm/appui-react/layout/footer/Footer.d.ts.map +0 -1
  984. package/lib/esm/appui-react/layout/footer/Footer.js +0 -26
  985. package/lib/esm/appui-react/layout/footer/Footer.js.map +0 -1
  986. package/lib/esm/appui-react/layout/footer/Footer.scss +0 -61
  987. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  988. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  989. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js +0 -28
  990. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  991. package/lib/esm/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  992. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  993. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  994. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js +0 -29
  995. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  996. package/lib/esm/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  997. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  998. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  999. package/lib/esm/appui-react/layout/footer/message-center/Message.js +0 -22
  1000. package/lib/esm/appui-react/layout/footer/message-center/Message.js.map +0 -1
  1001. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  1002. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  1003. package/lib/esm/appui-react/layout/footer/message-center/Tab.js +0 -22
  1004. package/lib/esm/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  1005. package/lib/esm/appui-react/layout/footer/message-center/Tab.scss +0 -60
  1006. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -46
  1007. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  1008. package/lib/esm/appui-react/statusfields/MessageCenter.js +0 -128
  1009. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/WidgetStateHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Base\n */\n\nimport { castDraft, produce } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { RectangleProps } from \"@itwin/core-react\";\nimport { Point, Rectangle } from \"@itwin/core-react\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type {\n FloatingWidgetState,\n PopoutWidgetState,\n WidgetState,\n} from \"../WidgetState\";\nimport { getTabLocation } from \"../TabLocation\";\nimport type { PanelWidgetLocation } from \"../WidgetLocation\";\nimport {\n getWidgetLocation,\n isFloatingWidgetLocation,\n isPanelWidgetLocation,\n isPopoutWidgetLocation,\n} from \"../WidgetLocation\";\nimport {\n category,\n initSizeProps,\n setRectangleProps,\n toRectangleProps,\n} from \"./NineZoneStateHelpers\";\nimport { updatePanelState } from \"./PanelStateHelpers\";\nimport { updateTabState } from \"./TabStateHelpers\";\n\n/** @internal */\nexport function createWidgetState(\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n): WidgetState {\n if (tabs.length === 0)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget must contain tabs\");\n return {\n activeTabId: tabs[0],\n minimized: false,\n ...args,\n id,\n tabs,\n };\n}\n\n/** @internal */\nexport function updateWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n args: Partial<WidgetState>\n) {\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, id);\n draft.widgets[id] = {\n ...widget,\n ...castDraft(args),\n };\n });\n}\n\n/** @internal */\nexport function addWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.widgets) throw new UiError(category, \"Widget already exists\");\n\n const widget = createWidgetState(id, tabs, args);\n for (const tabId of widget.tabs) {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n }\n return produce(state, (draft) => {\n draft.widgets[id] = castDraft(widget);\n });\n}\n\n/** @internal */\nexport function removeWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n const location = getWidgetLocation(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Widget not found\");\n\n if (isFloatingWidgetLocation(location))\n return removeFloatingWidget(state, id);\n if (isPopoutWidgetLocation(location)) return removePopoutWidget(state, id);\n return removePanelWidget(state, id, location);\n}\n\n/** @internal */\nexport function removeWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n assertWidgetState(state, id);\n return produce(state, (draft) => {\n delete draft.widgets[id];\n });\n}\n\n/** @internal */\nexport function createFloatingWidgetState(\n id: FloatingWidgetState[\"id\"],\n args?: Partial<FloatingWidgetState>\n): FloatingWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n ...args,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function createPopoutWidgetState(\n id: PopoutWidgetState[\"id\"],\n args?: Partial<PopoutWidgetState>\n): PopoutWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n const home: PopoutWidgetState[\"home\"] = args?.home\n ? args.home\n : {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n };\n return {\n ...args,\n home,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function updateFloatingWidgetState(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n args: Partial<FloatingWidgetState>\n) {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[id];\n const { bounds, ...other } = args;\n draft.floatingWidgets.byId[id] = {\n ...floatingWidget,\n ...other,\n };\n if (bounds) setRectangleProps(floatingWidget.bounds, bounds);\n });\n}\n\n/** Removes floating widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removeFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"]\n): NineZoneState {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.floatingWidgets.byId[id];\n const idIndex = draft.floatingWidgets.allIds.indexOf(id);\n draft.floatingWidgets.allIds.splice(idIndex, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** Removes popout widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removePopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"]\n) {\n if (!(id in state.popoutWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Popout widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.popoutWidgets.byId[id];\n const index = state.popoutWidgets.allIds.indexOf(id);\n draft.popoutWidgets.allIds.splice(index, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** @internal */\nexport function removePanelWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n location?: PanelWidgetLocation\n): NineZoneState {\n location = location || findPanelWidget(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Panel widget not found\");\n\n state = updatePanelState(state, location.side, (draft) => {\n assert(!!location);\n draft.widgets.splice(location.index, 1);\n });\n\n const widgets = state.panels[location.side].widgets;\n const expandedWidget = widgets.find((widgetId) => {\n const widget = getWidgetState(state, widgetId);\n return !widget.minimized;\n });\n if (!expandedWidget && widgets.length > 0) {\n const firstWidgetId = widgets[0];\n state = updateWidgetState(state, firstWidgetId, {\n minimized: false,\n });\n }\n\n return removeWidgetState(state, id);\n}\n\nfunction findPanelWidget(state: NineZoneState, id: WidgetState[\"id\"]) {\n const location = getWidgetLocation(state, id);\n if (location && isPanelWidgetLocation(location)) return location;\n return undefined;\n}\n\n/** @internal */\nexport function assertWidgetState(state: NineZoneState, id: WidgetState[\"id\"]) {\n if (!(id in state.widgets))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget does not exist\", undefined, () => ({\n id,\n }));\n}\n\n/** @internal */\nexport function getWidgetState<T extends NineZoneState>(\n state: T,\n id: WidgetState[\"id\"]\n): T[\"widgets\"][0] {\n assertWidgetState(state, id);\n return state.widgets[id] as T[\"widgets\"][0];\n}\n\n/** @internal */\nexport function setWidgetActiveTabId(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"],\n tabId: WidgetState[\"activeTabId\"]\n): NineZoneState {\n const widget = getWidgetState(state, widgetId);\n if (!widget.tabs.includes(tabId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab is not in a widget\");\n\n state = updateWidgetState(state, widgetId, {\n activeTabId: tabId,\n });\n\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n if (floatingWidget) {\n const activeTab = state.tabs[tabId];\n const preferredFloatingWidgetSize = Rectangle.create(\n floatingWidget.bounds\n ).getSize();\n state = updateTabState(state, activeTab.id, (draft) => {\n initSizeProps(\n draft,\n \"preferredFloatingWidgetSize\",\n preferredFloatingWidgetSize\n );\n });\n }\n return state;\n}\n\n/** @internal */\nexport function getNewFloatingWidgetBounds(\n state: NineZoneState\n): RectangleProps {\n // Matches min size (to handle auto-sized floating widgets correctly).\n const size = { height: 120, width: 200 };\n const initialPosition = new Point(360, 340);\n\n const nzBounds = Rectangle.createFromSize(state.size);\n const widgetsBounds = nzBounds.inset(20, 20, 20, 20);\n const offset = new Point(40, 40);\n\n let bounds = Rectangle.createFromSize(size);\n if (state.floatingWidgets.allIds.length === 0) {\n // Initial floating widget position.\n bounds = bounds.offset(initialPosition);\n } else {\n // Position is relative to last floating widget if available.\n const widgetId =\n state.floatingWidgets.allIds[state.floatingWidgets.allIds.length - 1];\n const widget = state.floatingWidgets.byId[widgetId];\n const widgetBounds = Rectangle.create(widget.bounds);\n\n // Bounds relative to top left of a last floating widget.\n const topLeft = widgetBounds.topLeft().offset(offset);\n bounds = bounds.offset(topLeft);\n\n // Bottom right of new bounds should also be outside of a floating widget.\n const widgetBottomRight = new Point(\n widgetBounds.right,\n widgetBounds.bottom\n );\n const minBottomRight = widgetBottomRight.offset(offset);\n const x = Math.max(0, minBottomRight.x - bounds.right);\n const y = Math.max(0, minBottomRight.y - bounds.bottom);\n bounds = bounds.offset({ x, y });\n }\n\n // TODO: might still end up with a bunch of overlapping widgets.\n if (bounds.bottom >= widgetsBounds.bottom) {\n bounds = bounds.setPosition({ x: bounds.left, y: widgetsBounds.top });\n }\n if (bounds.right >= widgetsBounds.right) {\n bounds = bounds.setPosition({\n x: widgetsBounds.left,\n y: widgetsBounds.top,\n });\n }\n bounds = bounds.containIn(widgetsBounds);\n return bounds.toProps();\n}\n\n/** @internal */\nexport function addFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n floatingWidgetArgs?: Partial<FloatingWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (id in state.floatingWidgets.byId)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget already exists\");\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n\n let bounds = floatingWidgetArgs?.bounds;\n if (!bounds) {\n bounds = getNewFloatingWidgetBounds(state);\n }\n\n const tabId = tabs[0];\n const tab = state.tabs[tabId];\n const resizable = tab.isFloatingWidgetResizable;\n\n const floatingWidget = createFloatingWidgetState(id, {\n bounds,\n resizable,\n ...floatingWidgetArgs,\n });\n return produce(state, (stateDraft) => {\n stateDraft.floatingWidgets.byId[id] = floatingWidget;\n stateDraft.floatingWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function addPopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n popoutWidgetArgs?: Partial<PopoutWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (tabs.length !== 1)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Popout widget should contain one tab only\",\n undefined,\n () => ({ tabs })\n );\n\n const popoutWidget = createPopoutWidgetState(id, popoutWidgetArgs);\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (stateDraft) => {\n stateDraft.popoutWidgets.byId[id] = popoutWidget;\n stateDraft.popoutWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function floatingWidgetBringToFront(\n state: NineZoneState,\n floatingWidgetId: FloatingWidgetState[\"id\"]\n): NineZoneState {\n return produce(state, (draft) => {\n const idIndex = draft.floatingWidgets.allIds.indexOf(floatingWidgetId);\n const spliced = draft.floatingWidgets.allIds.splice(idIndex, 1);\n draft.floatingWidgets.allIds.push(spliced[0]);\n });\n}\n"]}
1
+ {"version":3,"file":"WidgetStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/WidgetStateHelpers.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Base\n */\n\nimport { castDraft, produce } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { RectangleProps } from \"@itwin/core-react\";\nimport { Point, Rectangle } from \"@itwin/core-react\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type {\n FloatingWidgetState,\n PopoutWidgetState,\n WidgetState,\n} from \"../WidgetState\";\nimport { getTabLocation } from \"../TabLocation\";\nimport type { PanelWidgetLocation } from \"../WidgetLocation\";\nimport {\n getWidgetLocation,\n isFloatingWidgetLocation,\n isPanelWidgetLocation,\n isPopoutWidgetLocation,\n} from \"../WidgetLocation\";\nimport {\n category,\n initSizeProps,\n setRectangleProps,\n toRectangleProps,\n} from \"./NineZoneStateHelpers\";\nimport { updatePanelState } from \"./PanelStateHelpers\";\nimport { updateTabState } from \"./TabStateHelpers\";\n\n/** @internal */\nexport function createWidgetState(\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n): WidgetState {\n if (tabs.length === 0)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget must contain tabs\");\n return {\n activeTabId: tabs[0],\n minimized: false,\n ...args,\n id,\n tabs,\n };\n}\n\n/** @internal */\nexport function updateWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n args: Partial<WidgetState>\n) {\n return produce(state, (draft) => {\n const widget = getWidgetState(draft, id);\n draft.widgets[id] = {\n ...widget,\n ...castDraft(args),\n };\n });\n}\n\n/** @internal */\nexport function addWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n args?: Partial<WidgetState>\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.widgets) throw new UiError(category, \"Widget already exists\");\n\n const widget = createWidgetState(id, tabs, args);\n for (const tabId of widget.tabs) {\n if (!(tabId in state.tabs))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab does not exist\", undefined, () => ({\n tabId,\n }));\n\n const location = getTabLocation(state, tabId);\n if (location)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Tab is already in a widget\",\n undefined,\n () => ({ tabId, widgetId: location.widgetId })\n );\n }\n return produce(state, (draft) => {\n draft.widgets[id] = castDraft(widget);\n });\n}\n\n/** @internal */\nexport function removeWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n const location = getWidgetLocation(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Widget not found\");\n\n if (isFloatingWidgetLocation(location))\n return removeFloatingWidget(state, id);\n if (isPopoutWidgetLocation(location)) return removePopoutWidget(state, id);\n return removePanelWidget(state, id, location);\n}\n\n/** @internal */\nexport function removeWidgetState(\n state: NineZoneState,\n id: WidgetState[\"id\"]\n): NineZoneState {\n assertWidgetState(state, id);\n return produce(state, (draft) => {\n delete draft.widgets[id];\n });\n}\n\n/** @internal */\nexport function createFloatingWidgetState(\n id: FloatingWidgetState[\"id\"],\n args?: Partial<FloatingWidgetState>\n): FloatingWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n ...args,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function createPopoutWidgetState(\n id: PopoutWidgetState[\"id\"],\n args?: Partial<PopoutWidgetState>\n): PopoutWidgetState {\n const bounds = toRectangleProps(args?.bounds);\n const home: PopoutWidgetState[\"home\"] = args?.home\n ? args.home\n : {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n };\n return {\n ...args,\n home,\n bounds,\n id,\n };\n}\n\n/** @internal */\nexport function updateFloatingWidgetState(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n args: Partial<FloatingWidgetState>\n) {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[id];\n const { bounds, ...other } = args;\n draft.floatingWidgets.byId[id] = {\n ...floatingWidget,\n ...other,\n };\n if (bounds) setRectangleProps(floatingWidget.bounds, bounds);\n });\n}\n\n/** Removes floating widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removeFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"]\n): NineZoneState {\n if (!(id in state.floatingWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.floatingWidgets.byId[id];\n const idIndex = draft.floatingWidgets.allIds.indexOf(id);\n draft.floatingWidgets.allIds.splice(idIndex, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** Removes popout widget from the UI and deletes the widget state.\n * @internal\n */\nexport function removePopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"]\n) {\n if (!(id in state.popoutWidgets.byId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Popout widget does not exist\");\n\n state = produce(state, (draft) => {\n delete draft.popoutWidgets.byId[id];\n const index = state.popoutWidgets.allIds.indexOf(id);\n draft.popoutWidgets.allIds.splice(index, 1);\n });\n return removeWidgetState(state, id);\n}\n\n/** @internal */\nexport function removePanelWidget(\n state: NineZoneState,\n id: WidgetState[\"id\"],\n location?: PanelWidgetLocation\n): NineZoneState {\n location = location || findPanelWidget(state, id);\n // eslint-disable-next-line deprecation/deprecation\n if (!location) throw new UiError(category, \"Panel widget not found\");\n\n state = updatePanelState(state, location.side, (draft) => {\n assert(!!location);\n draft.widgets.splice(location.index, 1);\n });\n\n const widgets = state.panels[location.side].widgets;\n const expandedWidget = widgets.find((widgetId) => {\n const widget = getWidgetState(state, widgetId);\n return !widget.minimized;\n });\n if (!expandedWidget && widgets.length > 0) {\n const firstWidgetId = widgets[0];\n state = updateWidgetState(state, firstWidgetId, {\n minimized: false,\n });\n }\n\n return removeWidgetState(state, id);\n}\n\nfunction findPanelWidget(state: NineZoneState, id: WidgetState[\"id\"]) {\n const location = getWidgetLocation(state, id);\n if (location && isPanelWidgetLocation(location)) return location;\n return undefined;\n}\n\n/** @internal */\nexport function assertWidgetState(state: NineZoneState, id: WidgetState[\"id\"]) {\n if (!(id in state.widgets))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Widget does not exist\", undefined, () => ({\n id,\n }));\n}\n\n/** @internal */\nexport function getWidgetState<T extends NineZoneState>(\n state: T,\n id: WidgetState[\"id\"]\n): T[\"widgets\"][0] {\n assertWidgetState(state, id);\n return state.widgets[id] as T[\"widgets\"][0];\n}\n\n/** @internal */\nexport function setWidgetActiveTabId(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"],\n tabId: WidgetState[\"activeTabId\"]\n): NineZoneState {\n const widget = getWidgetState(state, widgetId);\n if (!widget.tabs.includes(tabId))\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Tab is not in a widget\");\n\n state = updateWidgetState(state, widgetId, {\n activeTabId: tabId,\n });\n\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n if (floatingWidget) {\n const activeTab = state.tabs[tabId];\n const preferredFloatingWidgetSize = Rectangle.create(\n floatingWidget.bounds\n ).getSize();\n state = updateTabState(state, activeTab.id, (draft) => {\n initSizeProps(\n draft,\n \"preferredFloatingWidgetSize\",\n preferredFloatingWidgetSize\n );\n });\n }\n return state;\n}\n\n/** @internal */\nexport function getNewFloatingWidgetBounds(\n state: NineZoneState\n): RectangleProps {\n // Matches min size (to handle auto-sized floating widgets correctly).\n const size = { height: 120, width: 200 };\n const initialPosition = new Point(360, 340);\n\n const nzBounds = Rectangle.createFromSize(state.size);\n const widgetsBounds = nzBounds.inset(20, 20, 20, 20);\n const offset = new Point(40, 40);\n\n let bounds = Rectangle.createFromSize(size);\n if (state.floatingWidgets.allIds.length === 0) {\n // Initial floating widget position.\n bounds = bounds.offset(initialPosition);\n } else {\n // Position is relative to last floating widget if available.\n const widgetId =\n state.floatingWidgets.allIds[state.floatingWidgets.allIds.length - 1];\n const widget = state.floatingWidgets.byId[widgetId];\n const widgetBounds = Rectangle.create(widget.bounds);\n\n // Bounds relative to top left of a last floating widget.\n const topLeft = widgetBounds.topLeft().offset(offset);\n bounds = bounds.offset(topLeft);\n\n // Bottom right of new bounds should also be outside of a floating widget.\n const widgetBottomRight = new Point(\n widgetBounds.right,\n widgetBounds.bottom\n );\n const minBottomRight = widgetBottomRight.offset(offset);\n const x = Math.max(0, minBottomRight.x - bounds.right);\n const y = Math.max(0, minBottomRight.y - bounds.bottom);\n bounds = bounds.offset({ x, y });\n }\n\n // TODO: might still end up with a bunch of overlapping widgets.\n if (bounds.bottom >= widgetsBounds.bottom) {\n bounds = bounds.setPosition({ x: bounds.left, y: widgetsBounds.top });\n }\n if (bounds.right >= widgetsBounds.right) {\n bounds = bounds.setPosition({\n x: widgetsBounds.left,\n y: widgetsBounds.top,\n });\n }\n bounds = bounds.containIn(widgetsBounds);\n return bounds.toProps();\n}\n\n/** @internal */\nexport function addFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n floatingWidgetArgs?: Partial<FloatingWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (id in state.floatingWidgets.byId)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Floating widget already exists\");\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n\n let bounds = floatingWidgetArgs?.bounds;\n if (!bounds) {\n bounds = getNewFloatingWidgetBounds(state);\n }\n\n const tabId = tabs[0];\n const tab = state.tabs[tabId];\n const resizable = tab.isFloatingWidgetResizable;\n\n const floatingWidget = createFloatingWidgetState(id, {\n bounds,\n resizable,\n ...floatingWidgetArgs,\n });\n return produce(state, (stateDraft) => {\n stateDraft.floatingWidgets.byId[id] = floatingWidget;\n stateDraft.floatingWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function addPopoutWidget(\n state: NineZoneState,\n id: PopoutWidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n popoutWidgetArgs?: Partial<PopoutWidgetState>,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n if (tabs.length !== 1)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n category,\n \"Popout widget should contain one tab only\",\n undefined,\n () => ({ tabs })\n );\n\n const popoutWidget = createPopoutWidgetState(id, popoutWidgetArgs);\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (stateDraft) => {\n stateDraft.popoutWidgets.byId[id] = popoutWidget;\n stateDraft.popoutWidgets.allIds.push(id);\n });\n}\n\n/** @internal */\nexport function floatingWidgetBringToFront(\n state: NineZoneState,\n floatingWidgetId: FloatingWidgetState[\"id\"]\n): NineZoneState {\n return produce(state, (draft) => {\n const idIndex = draft.floatingWidgets.allIds.indexOf(floatingWidgetId);\n const spliced = draft.floatingWidgets.allIds.splice(idIndex, 1);\n draft.floatingWidgets.allIds.push(spliced[0]);\n });\n}\n"]}
@@ -33,7 +33,7 @@ function TitleBarTarget() {
33
33
  // istanbul ignore next
34
34
  const hidden = !allowedTarget ||
35
35
  (((!draggedTab && !draggedWidgetId) || draggedWidgetId === widgetId) &&
36
- !((activeHomeState === null || activeHomeState === void 0 ? void 0 : activeHomeState.widgetId) === widgetId));
36
+ !(activeHomeState?.widgetId === widgetId));
37
37
  const className = (0, classnames_1.default)("nz-target-titleBarTarget", hidden && "nz-hidden",
38
38
  // istanbul ignore next
39
39
  cursorType && (0, CursorOverlay_1.getCursorClassName)(cursorType));
@@ -1 +1 @@
1
- {"version":3,"file":"TitleBarTarget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/target/TitleBarTarget.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA+B;AAC/B,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAAwE;AACxE,+CAAqD;AACrD,kEAAoE;AAEpE,6CAAmD;AACnD,sDAAmD;AACnD,qEAAkE;AAElE,qDAAgD;AAChD,iDAA0D;AAE1D,gBAAgB;AAChB,SAAgB,cAAc;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,4BAAiB,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,oCAAsB,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAA,+BAAoB,GAAE,CAAC;IAC/C,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,uBAAS,EAAiB,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,+CAAsB,EAAC,QAAQ,CAAC,CAAC;IAEvD,uBAAuB;IACvB,MAAM,MAAM,GACV,CAAC,aAAa;QACd,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,KAAK,QAAQ,CAAC;YAClE,CAAC,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,MAAK,QAAQ,CAAC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,0BAA0B,EAC1B,MAAM,IAAI,WAAW;IACrB,uBAAuB;IACvB,UAAU,IAAI,IAAA,kCAAkB,EAAC,UAAU,CAAC,CAC7C,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG;QACjC,oBAAC,uBAAU,OAAG,CACV,CACP,CAAC;AACJ,CAAC;AA1BD,wCA0BC;AAED,SAAS,aAAa,CAAC,QAA2B;IAChD,OAAO,KAAK,CAAC,OAAO,CAAwB,GAAG,EAAE;QAC/C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;SACT,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./TitleBarTarget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { DraggedWidgetIdContext, useTarget } from \"../base/DragManager\";\nimport { CursorTypeContext } from \"../base/NineZone\";\nimport { getCursorClassName } from \"../widget-panels/CursorOverlay\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { WidgetIdContext } from \"../widget/Widget\";\nimport { TabOutline } from \"../outline/TabOutline\";\nimport { useAllowedWidgetTarget } from \"./useAllowedWidgetTarget\";\nimport type { WidgetDropTargetState } from \"../state/DropTargetState\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useSendBackHomeState } from \"../widget/SendBack\";\n\n/** @internal */\nexport function TitleBarTarget() {\n const cursorType = React.useContext(CursorTypeContext);\n const draggedWidgetId = React.useContext(DraggedWidgetIdContext);\n const widgetId = React.useContext(WidgetIdContext);\n const activeHomeState = useSendBackHomeState();\n assert(!!widgetId);\n const draggedTab = useLayout((state) => !!state.draggedTab);\n const [ref] = useTarget<HTMLDivElement>(useTargetArgs(widgetId));\n const allowedTarget = useAllowedWidgetTarget(widgetId);\n\n // istanbul ignore next\n const hidden =\n !allowedTarget ||\n (((!draggedTab && !draggedWidgetId) || draggedWidgetId === widgetId) &&\n !(activeHomeState?.widgetId === widgetId));\n const className = classnames(\n \"nz-target-titleBarTarget\",\n hidden && \"nz-hidden\",\n // istanbul ignore next\n cursorType && getCursorClassName(cursorType)\n );\n return (\n <div className={className} ref={ref}>\n <TabOutline />\n </div>\n );\n}\n\nfunction useTargetArgs(widgetId: WidgetState[\"id\"]) {\n return React.useMemo<WidgetDropTargetState>(() => {\n return {\n type: \"widget\",\n widgetId,\n };\n }, [widgetId]);\n}\n"]}
1
+ {"version":3,"file":"TitleBarTarget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/target/TitleBarTarget.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA+B;AAC/B,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAAwE;AACxE,+CAAqD;AACrD,kEAAoE;AAEpE,6CAAmD;AACnD,sDAAmD;AACnD,qEAAkE;AAElE,qDAAgD;AAChD,iDAA0D;AAE1D,gBAAgB;AAChB,SAAgB,cAAc;IAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,4BAAiB,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,oCAAsB,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAA,+BAAoB,GAAE,CAAC;IAC/C,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,uBAAS,EAAiB,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,IAAA,+CAAsB,EAAC,QAAQ,CAAC,CAAC;IAEvD,uBAAuB;IACvB,MAAM,MAAM,GACV,CAAC,aAAa;QACd,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,eAAe,CAAC,IAAI,eAAe,KAAK,QAAQ,CAAC;YAClE,CAAC,CAAC,eAAe,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,0BAA0B,EAC1B,MAAM,IAAI,WAAW;IACrB,uBAAuB;IACvB,UAAU,IAAI,IAAA,kCAAkB,EAAC,UAAU,CAAC,CAC7C,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG;QACjC,oBAAC,uBAAU,OAAG,CACV,CACP,CAAC;AACJ,CAAC;AA1BD,wCA0BC;AAED,SAAS,aAAa,CAAC,QAA2B;IAChD,OAAO,KAAK,CAAC,OAAO,CAAwB,GAAG,EAAE;QAC/C,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,QAAQ;SACT,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjB,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./TitleBarTarget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { DraggedWidgetIdContext, useTarget } from \"../base/DragManager\";\nimport { CursorTypeContext } from \"../base/NineZone\";\nimport { getCursorClassName } from \"../widget-panels/CursorOverlay\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { WidgetIdContext } from \"../widget/Widget\";\nimport { TabOutline } from \"../outline/TabOutline\";\nimport { useAllowedWidgetTarget } from \"./useAllowedWidgetTarget\";\nimport type { WidgetDropTargetState } from \"../state/DropTargetState\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useSendBackHomeState } from \"../widget/SendBack\";\n\n/** @internal */\nexport function TitleBarTarget() {\n const cursorType = React.useContext(CursorTypeContext);\n const draggedWidgetId = React.useContext(DraggedWidgetIdContext);\n const widgetId = React.useContext(WidgetIdContext);\n const activeHomeState = useSendBackHomeState();\n assert(!!widgetId);\n const draggedTab = useLayout((state) => !!state.draggedTab);\n const [ref] = useTarget<HTMLDivElement>(useTargetArgs(widgetId));\n const allowedTarget = useAllowedWidgetTarget(widgetId);\n\n // istanbul ignore next\n const hidden =\n !allowedTarget ||\n (((!draggedTab && !draggedWidgetId) || draggedWidgetId === widgetId) &&\n !(activeHomeState?.widgetId === widgetId));\n const className = classnames(\n \"nz-target-titleBarTarget\",\n hidden && \"nz-hidden\",\n // istanbul ignore next\n cursorType && getCursorClassName(cursorType)\n );\n return (\n <div className={className} ref={ref}>\n <TabOutline />\n </div>\n );\n}\n\nfunction useTargetArgs(widgetId: WidgetState[\"id\"]) {\n return React.useMemo<WidgetDropTargetState>(() => {\n return {\n type: \"widget\",\n widgetId,\n };\n }, [widgetId]);\n}\n"]}
@@ -90,7 +90,7 @@ function DockedToolSettings(props) {
90
90
  const PanelContainer = props.panelContainer
91
91
  ? props.panelContainer
92
92
  : DefaultPanelContainer;
93
- const className = (0, classnames_1.default)("nz-toolSettings-docked", props.className);
93
+ const className = (0, classnames_1.default)("uifw-toolSettings-docked", props.className);
94
94
  return (React.createElement("div", { "data-toolsettings-provider": props.itemId, className: className, ref: refs, style: props.style },
95
95
  React.createElement(Handle_1.DockedToolSettingsHandle, { onResize: handleHandleResize }),
96
96
  dockedChildren.map(([key, child]) => {
@@ -270,7 +270,7 @@ function verifiedMapEntries(map) {
270
270
  return map;
271
271
  }
272
272
  function DefaultPanelContainer(props) {
273
- return (React.createElement("div", { className: "nz-toolSettings-docked_container" }, props.children));
273
+ return (React.createElement("div", { className: "uifw-toolSettings-docked_container" }, props.children));
274
274
  }
275
275
  /** @internal */
276
276
  function eqlOverflown(prev, value) {
@@ -1 +1 @@
1
- {"version":3,"file":"Docked.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Docked.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Docked.scss\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n getCssVariableAsNumber,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport { AnimateDockedToolSettingsContext } from \"../base/NineZone\";\nimport { DockedToolSettingsHandle } from \"./Handle\";\nimport { DockedToolSettingsOverflow } from \"./Overflow\";\nimport { ToolSettingsOverflowPanel } from \"./Panel\";\n\n/** @internal */\nexport function onOverflowLabelAndEditorResize() {}\n\n/** This component takes a DockedToolSetting \"wrapper\" component and extract only the label and editor components from it */\nfunction OverflowLabelAndEditor({ wrapper }: { wrapper: React.ReactNode }) {\n assert(React.isValidElement(wrapper));\n const entryValue = React.useMemo<DockedToolSettingsEntryContextArgs>(\n () => ({\n isOverflown: true,\n onResize: onOverflowLabelAndEditorResize,\n }),\n []\n );\n const wrapperChildren = (wrapper as React.ReactElement<any>).props.children;\n return (\n <>\n <DockedToolSettingsEntryContext.Provider value={entryValue}>\n {wrapperChildren &&\n React.Children.map(\n wrapperChildren,\n (child: React.ReactNode) => child\n )}\n </DockedToolSettingsEntryContext.Provider>\n </>\n );\n}\n\n/** Properties of [[DockedToolSettings]] component.\n * @internal\n */\nexport interface DockedToolSettingsProps extends CommonProps {\n /** Tool settings content. */\n children?: React.ReactNode;\n /** Container for overflown entries. */\n panelContainer?: React.ComponentType<{ children?: React.ReactNode }>;\n}\n\n/** Component that displays tool settings as a bar across the top of the content view.\n * @internal\n */\nexport function DockedToolSettings(props: DockedToolSettingsProps) {\n const [open, setOpen] = React.useState(false);\n const animateToolSettings = React.useContext(\n AnimateDockedToolSettingsContext\n );\n\n const ref = React.useRef<HTMLDivElement>(null);\n const width = React.useRef<number | undefined>(undefined);\n const handleWidth = React.useRef<number | undefined>(undefined);\n const [\n overflown,\n handleContainerResize,\n handleOverflowResize,\n getOnEntryResize,\n handleGapResize,\n ] = useOverflow(props.children);\n const onResize = React.useCallback(() => {\n let gapSize = 0;\n if (ref.current) {\n gapSize = getGapVariable(ref.current);\n handleGapResize(gapSize);\n }\n width.current !== undefined &&\n handleWidth.current !== undefined &&\n handleContainerResize(width.current - handleWidth.current - gapSize);\n }, [handleContainerResize, handleGapResize]);\n const handleHandleResize = React.useCallback(\n (w: number) => {\n handleWidth.current = w;\n onResize();\n },\n [onResize]\n );\n const handleResize = React.useCallback(\n (w: number) => {\n width.current = w;\n onResize();\n },\n [onResize]\n );\n const resizeObserverRef = useResizeObserver(handleResize);\n\n const onOverflowClick = React.useCallback(() => {\n setOpen((prev) => !prev);\n }, []);\n const handleOnClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n const targetRef = React.useRef<HTMLDivElement>(null);\n const refs = useRefs(ref, resizeObserverRef);\n const children = React.useMemo(\n () => React.Children.toArray(props.children),\n [props.children]\n );\n const dockedChildren = children.reduce<Array<[string, React.ReactNode]>>(\n (acc, child, index) => {\n const key = getChildKey(child, index);\n if (!overflown || overflown.indexOf(key) < 0) {\n acc.push([key, child]);\n }\n return acc;\n },\n []\n );\n const overflownChildren = overflown\n ? children.reduce<Array<[string, React.ReactNode]>>((acc, child, index) => {\n const key = getChildKey(child, index);\n if (overflown.indexOf(key) >= 0) {\n acc.push([key, child]);\n }\n return acc;\n }, [])\n : [];\n const PanelContainer = props.panelContainer\n ? props.panelContainer\n : DefaultPanelContainer;\n const className = classnames(\"nz-toolSettings-docked\", props.className);\n return (\n <div\n data-toolsettings-provider={props.itemId}\n className={className}\n ref={refs}\n style={props.style}\n >\n <DockedToolSettingsHandle onResize={handleHandleResize} />\n {dockedChildren.map(([key, child]) => {\n return (\n <TransitionGroup\n appear={animateToolSettings}\n enter={animateToolSettings}\n key={key}\n >\n <CSSTransition\n in={animateToolSettings}\n timeout={400}\n classNames={{\n appear: \"toolsettings-appear\",\n enter: \"toolsettings-appear\",\n appearActive: \"toolsettings-appear-active\",\n enterActive: \"toolsettings-appear-active\",\n }}\n >\n <DockedToolSettingsEntry\n key={key}\n entryKey={key}\n getOnResize={getOnEntryResize}\n >\n {child}\n </DockedToolSettingsEntry>\n </CSSTransition>\n </TransitionGroup>\n );\n })}\n {(!overflown || overflown.length > 0) && (\n <>\n <DockedToolSettingsOverflow\n onClick={onOverflowClick}\n onResize={handleOverflowResize}\n ref={targetRef}\n />\n {overflownChildren.length > 0 && open && targetRef.current && (\n <ToolSettingsOverflowPanel\n onClose={handleOnClose}\n open\n target={targetRef.current}\n >\n <PanelContainer>\n {overflownChildren.map(([key, child]) => {\n return <OverflowLabelAndEditor key={key} wrapper={child} />;\n })}\n </PanelContainer>\n </ToolSettingsOverflowPanel>\n )}\n </>\n )}\n </div>\n );\n}\n\ninterface DockedToolSettingsEntryProps {\n children?: React.ReactNode;\n entryKey: string;\n getOnResize: (key: string) => (w: number) => void;\n}\n\nfunction DockedToolSettingsEntry({\n children,\n entryKey,\n getOnResize,\n}: DockedToolSettingsEntryProps) {\n const onResize = React.useMemo(\n () => getOnResize(entryKey),\n [getOnResize, entryKey]\n );\n const entry = React.useMemo<DockedToolSettingsEntryContextArgs>(\n () => ({\n isOverflown: false,\n onResize,\n }),\n [onResize]\n );\n return (\n <DockedToolSettingsEntryContext.Provider value={entry}>\n {children}\n </DockedToolSettingsEntryContext.Provider>\n );\n}\n\n/** Returns key of a child. Must be used along with React.Children.toArray to preserve the semantics of children.\n * @internal\n */\nexport function getChildKey(child: React.ReactNode, index: number) {\n if (React.isValidElement(child) && child.key !== null) {\n return child.key.toString();\n }\n return index.toString();\n}\n\n/** Returns a subset of docked entry keys that exceed given width and should be overflown.\n * @internal\n */\nexport function getOverflown(\n width: number,\n docked: ReadonlyArray<readonly [string, number]>,\n overflowWidth: number,\n activeIndex?: number,\n gapSize = 0\n) {\n let settingsWidth = 0;\n\n // Avoid adding gap to first item.\n let firstItem = true;\n const getGapSize = () => {\n if (firstItem) {\n firstItem = false;\n return 0;\n }\n return gapSize;\n };\n\n // Make sure active item is always visible.\n if (activeIndex !== undefined && docked.length > activeIndex) {\n const activeWidth = docked[activeIndex];\n settingsWidth += activeWidth[1] + getGapSize();\n }\n\n let i = 0;\n\n for (; i < docked.length; i++) {\n // Skip active item.\n if (i === activeIndex) continue;\n\n const itemWidth = docked[i][1];\n const newSettingsWidth = settingsWidth + itemWidth + getGapSize();\n\n // Items overflow, add an overflow button.\n if (newSettingsWidth > width) {\n settingsWidth += overflowWidth + getGapSize();\n break;\n }\n\n // Items fit, add an item.\n settingsWidth = newSettingsWidth;\n }\n\n // Remove items until they fit.\n let j = i;\n // istanbul ignore else\n if (j < docked.length) {\n for (; j > 0; j--) {\n if (j === activeIndex) continue;\n if (settingsWidth <= width) break;\n const itemWidth = docked[j][1];\n settingsWidth -= itemWidth + gapSize;\n }\n }\n\n const overflown = new Array<string>();\n for (i = j; i < docked.length; i++) {\n if (i === activeIndex) continue;\n overflown.push(docked[i][0]);\n }\n return overflown;\n}\n\n/** Hook that returns a list of overflown children keys.\n * @internal\n */\nexport function useOverflow(\n children: React.ReactNode,\n activeChildIndex?: number\n): [\n /** Keys of overflown children. */\n ReadonlyArray<string> | undefined,\n /** Function to update container size. */\n (containerSize: number) => void,\n /** Function to update overflow button size. */\n (overflowButtonSize: number) => void,\n /** Returns a function to update an entry size for a given key. */\n (key: string) => (entrySize: number) => void,\n /** Function to update gap size. */\n (gapSize: number) => void\n] {\n const [overflown, setOverflown] = React.useState<ReadonlyArray<string>>();\n const entryWidths = React.useRef(new Map<string, number | undefined>());\n const width = React.useRef<number | undefined>(undefined);\n const overflowWidth = React.useRef<number | undefined>(undefined);\n const gapSize = React.useRef(0);\n\n const calculateOverflow = React.useCallback(() => {\n const widths = verifiedMapEntries(entryWidths.current);\n if (\n width.current === undefined ||\n widths === undefined ||\n overflowWidth.current === undefined\n ) {\n setOverflown(undefined);\n return;\n }\n\n // Calculate overflow.\n const newOverflown = getOverflown(\n width.current,\n [...widths.entries()],\n overflowWidth.current,\n activeChildIndex,\n gapSize.current\n );\n setOverflown((prevOverflown) => {\n return eqlOverflown(prevOverflown, newOverflown)\n ? prevOverflown\n : newOverflown;\n });\n }, [activeChildIndex]);\n\n React.useLayoutEffect(() => {\n const newEntryWidths = new Map<string, number | undefined>();\n const array = React.Children.toArray(children);\n for (let i = 0; i < array.length; i++) {\n const child = array[i];\n const key = getChildKey(child, i);\n const lastW = entryWidths.current.get(key);\n newEntryWidths.set(key, lastW);\n }\n entryWidths.current = newEntryWidths;\n calculateOverflow();\n }, [children, calculateOverflow]);\n\n const handleContainerResize = React.useCallback(\n (w: number) => {\n const calculate = width.current !== w;\n width.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleOverflowResize = React.useCallback(\n (w: number) => {\n const calculate = overflowWidth.current !== w;\n overflowWidth.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleEntryResize = React.useCallback(\n (key: string) => (w: number) => {\n const oldW = entryWidths.current.get(key);\n if (oldW === w) return;\n entryWidths.current.set(key, w);\n calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleGapResize = React.useCallback(\n (w: number) => {\n if (gapSize.current === w) return;\n gapSize.current = w;\n calculateOverflow();\n },\n [calculateOverflow]\n );\n\n return [\n overflown,\n handleContainerResize,\n handleOverflowResize,\n handleEntryResize,\n handleGapResize,\n ];\n}\n\ninterface DockedToolSettingsEntryContextArgs {\n readonly isOverflown: boolean;\n readonly onResize: (w: number) => void;\n}\n\nconst DockedToolSettingsEntryContext =\n React.createContext<DockedToolSettingsEntryContextArgs>(null!);\nDockedToolSettingsEntryContext.displayName =\n \"nz:DockedToolSettingsEntryContext\";\n\n/** @internal */\nexport function useToolSettingsEntry() {\n return React.useContext(DockedToolSettingsEntryContext);\n}\n\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\n for (const [, val] of map) {\n if (val === undefined) return undefined;\n }\n return map as Map<string, T>;\n}\n\nfunction DefaultPanelContainer(props: { children: React.ReactNode }) {\n return (\n <div className=\"nz-toolSettings-docked_container\">{props.children}</div>\n );\n}\n\n/** @internal */\nexport function eqlOverflown(\n prev: readonly string[] | undefined,\n value: readonly string[]\n) {\n if (!prev) return false;\n if (prev.length !== value.length) return false;\n for (let i = 0; i < prev.length; i++) {\n const p = prev[i];\n const v = value[i];\n if (p !== v) return false;\n }\n return true;\n}\n\nfunction getGapVariable(htmlElement: HTMLElement) {\n const gap = getCssVariableAsNumber(\"gap\", htmlElement);\n if (isNaN(gap)) return 0;\n return gap;\n}\n"]}
1
+ {"version":3,"file":"Docked.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Docked.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Docked.scss\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n getCssVariableAsNumber,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\nimport { AnimateDockedToolSettingsContext } from \"../base/NineZone\";\nimport { DockedToolSettingsHandle } from \"./Handle\";\nimport { DockedToolSettingsOverflow } from \"./Overflow\";\nimport { ToolSettingsOverflowPanel } from \"./Panel\";\n\n/** @internal */\nexport function onOverflowLabelAndEditorResize() {}\n\n/** This component takes a DockedToolSetting \"wrapper\" component and extract only the label and editor components from it */\nfunction OverflowLabelAndEditor({ wrapper }: { wrapper: React.ReactNode }) {\n assert(React.isValidElement(wrapper));\n const entryValue = React.useMemo<DockedToolSettingsEntryContextArgs>(\n () => ({\n isOverflown: true,\n onResize: onOverflowLabelAndEditorResize,\n }),\n []\n );\n const wrapperChildren = (wrapper as React.ReactElement<any>).props.children;\n return (\n <>\n <DockedToolSettingsEntryContext.Provider value={entryValue}>\n {wrapperChildren &&\n React.Children.map(\n wrapperChildren,\n (child: React.ReactNode) => child\n )}\n </DockedToolSettingsEntryContext.Provider>\n </>\n );\n}\n\n/** Properties of [[DockedToolSettings]] component.\n * @internal\n */\nexport interface DockedToolSettingsProps extends CommonProps {\n /** Tool settings content. */\n children?: React.ReactNode;\n /** Container for overflown entries. */\n panelContainer?: React.ComponentType<{ children?: React.ReactNode }>;\n}\n\n/** Component that displays tool settings as a bar across the top of the content view.\n * @internal\n */\nexport function DockedToolSettings(props: DockedToolSettingsProps) {\n const [open, setOpen] = React.useState(false);\n const animateToolSettings = React.useContext(\n AnimateDockedToolSettingsContext\n );\n\n const ref = React.useRef<HTMLDivElement>(null);\n const width = React.useRef<number | undefined>(undefined);\n const handleWidth = React.useRef<number | undefined>(undefined);\n const [\n overflown,\n handleContainerResize,\n handleOverflowResize,\n getOnEntryResize,\n handleGapResize,\n ] = useOverflow(props.children);\n const onResize = React.useCallback(() => {\n let gapSize = 0;\n if (ref.current) {\n gapSize = getGapVariable(ref.current);\n handleGapResize(gapSize);\n }\n width.current !== undefined &&\n handleWidth.current !== undefined &&\n handleContainerResize(width.current - handleWidth.current - gapSize);\n }, [handleContainerResize, handleGapResize]);\n const handleHandleResize = React.useCallback(\n (w: number) => {\n handleWidth.current = w;\n onResize();\n },\n [onResize]\n );\n const handleResize = React.useCallback(\n (w: number) => {\n width.current = w;\n onResize();\n },\n [onResize]\n );\n const resizeObserverRef = useResizeObserver(handleResize);\n\n const onOverflowClick = React.useCallback(() => {\n setOpen((prev) => !prev);\n }, []);\n const handleOnClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n const targetRef = React.useRef<HTMLDivElement>(null);\n const refs = useRefs(ref, resizeObserverRef);\n const children = React.useMemo(\n () => React.Children.toArray(props.children),\n [props.children]\n );\n const dockedChildren = children.reduce<Array<[string, React.ReactNode]>>(\n (acc, child, index) => {\n const key = getChildKey(child, index);\n if (!overflown || overflown.indexOf(key) < 0) {\n acc.push([key, child]);\n }\n return acc;\n },\n []\n );\n const overflownChildren = overflown\n ? children.reduce<Array<[string, React.ReactNode]>>((acc, child, index) => {\n const key = getChildKey(child, index);\n if (overflown.indexOf(key) >= 0) {\n acc.push([key, child]);\n }\n return acc;\n }, [])\n : [];\n const PanelContainer = props.panelContainer\n ? props.panelContainer\n : DefaultPanelContainer;\n const className = classnames(\"uifw-toolSettings-docked\", props.className);\n return (\n <div\n data-toolsettings-provider={props.itemId}\n className={className}\n ref={refs}\n style={props.style}\n >\n <DockedToolSettingsHandle onResize={handleHandleResize} />\n {dockedChildren.map(([key, child]) => {\n return (\n <TransitionGroup\n appear={animateToolSettings}\n enter={animateToolSettings}\n key={key}\n >\n <CSSTransition\n in={animateToolSettings}\n timeout={400}\n classNames={{\n appear: \"toolsettings-appear\",\n enter: \"toolsettings-appear\",\n appearActive: \"toolsettings-appear-active\",\n enterActive: \"toolsettings-appear-active\",\n }}\n >\n <DockedToolSettingsEntry\n key={key}\n entryKey={key}\n getOnResize={getOnEntryResize}\n >\n {child}\n </DockedToolSettingsEntry>\n </CSSTransition>\n </TransitionGroup>\n );\n })}\n {(!overflown || overflown.length > 0) && (\n <>\n <DockedToolSettingsOverflow\n onClick={onOverflowClick}\n onResize={handleOverflowResize}\n ref={targetRef}\n />\n {overflownChildren.length > 0 && open && targetRef.current && (\n <ToolSettingsOverflowPanel\n onClose={handleOnClose}\n open\n target={targetRef.current}\n >\n <PanelContainer>\n {overflownChildren.map(([key, child]) => {\n return <OverflowLabelAndEditor key={key} wrapper={child} />;\n })}\n </PanelContainer>\n </ToolSettingsOverflowPanel>\n )}\n </>\n )}\n </div>\n );\n}\n\ninterface DockedToolSettingsEntryProps {\n children?: React.ReactNode;\n entryKey: string;\n getOnResize: (key: string) => (w: number) => void;\n}\n\nfunction DockedToolSettingsEntry({\n children,\n entryKey,\n getOnResize,\n}: DockedToolSettingsEntryProps) {\n const onResize = React.useMemo(\n () => getOnResize(entryKey),\n [getOnResize, entryKey]\n );\n const entry = React.useMemo<DockedToolSettingsEntryContextArgs>(\n () => ({\n isOverflown: false,\n onResize,\n }),\n [onResize]\n );\n return (\n <DockedToolSettingsEntryContext.Provider value={entry}>\n {children}\n </DockedToolSettingsEntryContext.Provider>\n );\n}\n\n/** Returns key of a child. Must be used along with React.Children.toArray to preserve the semantics of children.\n * @internal\n */\nexport function getChildKey(child: React.ReactNode, index: number) {\n if (React.isValidElement(child) && child.key !== null) {\n return child.key.toString();\n }\n return index.toString();\n}\n\n/** Returns a subset of docked entry keys that exceed given width and should be overflown.\n * @internal\n */\nexport function getOverflown(\n width: number,\n docked: ReadonlyArray<readonly [string, number]>,\n overflowWidth: number,\n activeIndex?: number,\n gapSize = 0\n) {\n let settingsWidth = 0;\n\n // Avoid adding gap to first item.\n let firstItem = true;\n const getGapSize = () => {\n if (firstItem) {\n firstItem = false;\n return 0;\n }\n return gapSize;\n };\n\n // Make sure active item is always visible.\n if (activeIndex !== undefined && docked.length > activeIndex) {\n const activeWidth = docked[activeIndex];\n settingsWidth += activeWidth[1] + getGapSize();\n }\n\n let i = 0;\n\n for (; i < docked.length; i++) {\n // Skip active item.\n if (i === activeIndex) continue;\n\n const itemWidth = docked[i][1];\n const newSettingsWidth = settingsWidth + itemWidth + getGapSize();\n\n // Items overflow, add an overflow button.\n if (newSettingsWidth > width) {\n settingsWidth += overflowWidth + getGapSize();\n break;\n }\n\n // Items fit, add an item.\n settingsWidth = newSettingsWidth;\n }\n\n // Remove items until they fit.\n let j = i;\n // istanbul ignore else\n if (j < docked.length) {\n for (; j > 0; j--) {\n if (j === activeIndex) continue;\n if (settingsWidth <= width) break;\n const itemWidth = docked[j][1];\n settingsWidth -= itemWidth + gapSize;\n }\n }\n\n const overflown = new Array<string>();\n for (i = j; i < docked.length; i++) {\n if (i === activeIndex) continue;\n overflown.push(docked[i][0]);\n }\n return overflown;\n}\n\n/** Hook that returns a list of overflown children keys.\n * @internal\n */\nexport function useOverflow(\n children: React.ReactNode,\n activeChildIndex?: number\n): [\n /** Keys of overflown children. */\n ReadonlyArray<string> | undefined,\n /** Function to update container size. */\n (containerSize: number) => void,\n /** Function to update overflow button size. */\n (overflowButtonSize: number) => void,\n /** Returns a function to update an entry size for a given key. */\n (key: string) => (entrySize: number) => void,\n /** Function to update gap size. */\n (gapSize: number) => void\n] {\n const [overflown, setOverflown] = React.useState<ReadonlyArray<string>>();\n const entryWidths = React.useRef(new Map<string, number | undefined>());\n const width = React.useRef<number | undefined>(undefined);\n const overflowWidth = React.useRef<number | undefined>(undefined);\n const gapSize = React.useRef(0);\n\n const calculateOverflow = React.useCallback(() => {\n const widths = verifiedMapEntries(entryWidths.current);\n if (\n width.current === undefined ||\n widths === undefined ||\n overflowWidth.current === undefined\n ) {\n setOverflown(undefined);\n return;\n }\n\n // Calculate overflow.\n const newOverflown = getOverflown(\n width.current,\n [...widths.entries()],\n overflowWidth.current,\n activeChildIndex,\n gapSize.current\n );\n setOverflown((prevOverflown) => {\n return eqlOverflown(prevOverflown, newOverflown)\n ? prevOverflown\n : newOverflown;\n });\n }, [activeChildIndex]);\n\n React.useLayoutEffect(() => {\n const newEntryWidths = new Map<string, number | undefined>();\n const array = React.Children.toArray(children);\n for (let i = 0; i < array.length; i++) {\n const child = array[i];\n const key = getChildKey(child, i);\n const lastW = entryWidths.current.get(key);\n newEntryWidths.set(key, lastW);\n }\n entryWidths.current = newEntryWidths;\n calculateOverflow();\n }, [children, calculateOverflow]);\n\n const handleContainerResize = React.useCallback(\n (w: number) => {\n const calculate = width.current !== w;\n width.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleOverflowResize = React.useCallback(\n (w: number) => {\n const calculate = overflowWidth.current !== w;\n overflowWidth.current = w;\n calculate && calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleEntryResize = React.useCallback(\n (key: string) => (w: number) => {\n const oldW = entryWidths.current.get(key);\n if (oldW === w) return;\n entryWidths.current.set(key, w);\n calculateOverflow();\n },\n [calculateOverflow]\n );\n\n const handleGapResize = React.useCallback(\n (w: number) => {\n if (gapSize.current === w) return;\n gapSize.current = w;\n calculateOverflow();\n },\n [calculateOverflow]\n );\n\n return [\n overflown,\n handleContainerResize,\n handleOverflowResize,\n handleEntryResize,\n handleGapResize,\n ];\n}\n\ninterface DockedToolSettingsEntryContextArgs {\n readonly isOverflown: boolean;\n readonly onResize: (w: number) => void;\n}\n\nconst DockedToolSettingsEntryContext =\n React.createContext<DockedToolSettingsEntryContextArgs>(null!);\nDockedToolSettingsEntryContext.displayName =\n \"nz:DockedToolSettingsEntryContext\";\n\n/** @internal */\nexport function useToolSettingsEntry() {\n return React.useContext(DockedToolSettingsEntryContext);\n}\n\nfunction verifiedMapEntries<T>(map: Map<string, T | undefined>) {\n for (const [, val] of map) {\n if (val === undefined) return undefined;\n }\n return map as Map<string, T>;\n}\n\nfunction DefaultPanelContainer(props: { children: React.ReactNode }) {\n return (\n <div className=\"uifw-toolSettings-docked_container\">{props.children}</div>\n );\n}\n\n/** @internal */\nexport function eqlOverflown(\n prev: readonly string[] | undefined,\n value: readonly string[]\n) {\n if (!prev) return false;\n if (prev.length !== value.length) return false;\n for (let i = 0; i < prev.length; i++) {\n const p = prev[i];\n const v = value[i];\n if (p !== v) return false;\n }\n return true;\n}\n\nfunction getGapVariable(htmlElement: HTMLElement) {\n const gap = getCssVariableAsNumber(\"gap\", htmlElement);\n if (isNaN(gap)) return 0;\n return gap;\n}\n"]}
@@ -3,23 +3,13 @@
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
- .nz-toolSettings-docked {
7
- --_uifw-tool-settings-docked-height: var(--iui-component-height);
8
-
9
- height: var(--_uifw-tool-settings-docked-height);
10
- width: 100%;
6
+ .uifw-toolSettings-docked {
11
7
  display: flex;
8
+ height: 100%;
12
9
  gap: var(--iui-size-m);
13
- position: relative;
14
- background-color: var(--iui-color-background);
15
- border-block-end: 1px solid var(--iui-color-border);
16
-
17
- > .nz-container {
18
- display: flex;
19
- }
20
10
  }
21
11
 
22
- .nz-toolSettings-docked_container {
12
+ .uifw-toolSettings-docked_container {
23
13
  display: grid;
24
14
  grid-template-columns: auto 1fr;
25
15
  gap: var(--iui-size-2xs);
@@ -4,8 +4,8 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
6
  .nz-toolSettings-handle {
7
- height: var(--_uifw-tool-settings-docked-height);
8
- width: var(--_uifw-tool-settings-docked-height);
7
+ height: var(--iui-component-height);
8
+ width: var(--iui-component-height);
9
9
  display: grid;
10
10
  place-items: center;
11
11
  cursor: grab;
@@ -19,7 +19,7 @@ const Docked_1 = require("./Docked");
19
19
  function DockedToolSetting(props) {
20
20
  const { onResize } = (0, Docked_1.useToolSettingsEntry)();
21
21
  const ref = (0, core_react_1.useResizeObserver)(onResize);
22
- const className = (0, classnames_1.default)("nz-toolSettings-setting", props.className);
22
+ const className = (0, classnames_1.default)("uifw-toolSettings-setting", props.className);
23
23
  return (React.createElement("div", { className: className, ref: ref, style: props.style }, props.children));
24
24
  }
25
25
  exports.DockedToolSetting = DockedToolSetting;
@@ -1 +1 @@
1
- {"version":3,"file":"Setting.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Setting.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0BAAwB;AACxB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAAsD;AACtD,qCAAgD;AAUhD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAuB;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAoB,GAAE,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAA,8BAAiB,EAAiB,QAAQ,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IACpD,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AATD,8CASC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Setting.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useResizeObserver } from \"@itwin/core-react\";\nimport { useToolSettingsEntry } from \"./Docked\";\n\n/** Properties of [[ToolSetting]] component.\n * @internal\n */\nexport interface ToolSettingProps extends CommonProps {\n /** Tool setting content. */\n children?: React.ReactNode;\n}\n\n/** Used in a [[DockedToolSettings]] component to display a setting.\n * @internal\n */\nexport function DockedToolSetting(props: ToolSettingProps) {\n const { onResize } = useToolSettingsEntry();\n const ref = useResizeObserver<HTMLDivElement>(onResize);\n const className = classnames(\"nz-toolSettings-setting\", props.className);\n return (\n <div className={className} ref={ref} style={props.style}>\n {props.children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"Setting.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Setting.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0BAAwB;AACxB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAAsD;AACtD,qCAAgD;AAUhD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAuB;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAoB,GAAE,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAA,8BAAiB,EAAiB,QAAQ,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,2BAA2B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3E,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IACpD,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AATD,8CASC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Setting.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useResizeObserver } from \"@itwin/core-react\";\nimport { useToolSettingsEntry } from \"./Docked\";\n\n/** Properties of [[ToolSetting]] component.\n * @internal\n */\nexport interface ToolSettingProps extends CommonProps {\n /** Tool setting content. */\n children?: React.ReactNode;\n}\n\n/** Used in a [[DockedToolSettings]] component to display a setting.\n * @internal\n */\nexport function DockedToolSetting(props: ToolSettingProps) {\n const { onResize } = useToolSettingsEntry();\n const ref = useResizeObserver<HTMLDivElement>(onResize);\n const className = classnames(\"uifw-toolSettings-setting\", props.className);\n return (\n <div className={className} ref={ref} style={props.style}>\n {props.children}\n </div>\n );\n}\n"]}
@@ -2,10 +2,9 @@
2
2
  * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
3
  * See LICENSE.md in the project root for license terms and full copyright notice.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- .nz-toolSettings-setting {
5
+ .uifw-toolSettings-setting {
6
6
  height: 100%;
7
7
  white-space: nowrap;
8
8
  display: flex;
9
- gap: var(--iui-size-xs);
10
9
  align-items: center;
11
10
  }
@@ -1,7 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Widget
3
3
  */
4
- import { IconButton } from "@itwin/itwinui-react";
4
+ import * as React from "react";
5
+ import type { IconButtonProps } from "@itwin/itwinui-react-v2";
5
6
  /** @internal */
6
- export declare const TabBarButton: typeof IconButton;
7
+ export declare const TabBarButton: React.ForwardRefExoticComponent<IconButtonProps>;
7
8
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Button.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,gBAAgB;AAChB,eAAO,MAAM,YAAY,EAAE,OAAO,UAOhC,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Button.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,gBAAgB;AAChB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,yBAAyB,CAAC,eAAe,CAOvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Button.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,wDAAkD;AAElD,gBAAgB;AACH,QAAA,YAAY,GAAsB,KAAK,CAAC,UAAU,CAG7D,SAAS,YAAY,CAAC,KAAK,EAAE,GAAG;IAChC,OAAO,CACL,oBAAC,0BAAU,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,OAAO,KAAK,KAAK,GAAI,CACxE,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport * as React from \"react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\n\n/** @internal */\nexport const TabBarButton: typeof IconButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof IconButton>\n>(function TabBarButton(props, ref) {\n return (\n <IconButton ref={ref} styleType=\"borderless\" size=\"small\" {...props} />\n );\n});\n"]}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Button.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,wDAAkD;AAGlD,gBAAgB;AACH,QAAA,YAAY,GACvB,KAAK,CAAC,UAAU,CACd,SAAS,YAAY,CAAC,KAAK,EAAE,GAAG;IAC9B,OAAO,CACL,oBAAC,0BAAU,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,OAAO,KAAK,KAAK,GAAI,CACxE,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport * as React from \"react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport type { IconButtonProps } from \"@itwin/itwinui-react-v2\";\n\n/** @internal */\nexport const TabBarButton: React.ForwardRefExoticComponent<IconButtonProps> =\n React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof IconButton>>(\n function TabBarButton(props, ref) {\n return (\n <IconButton ref={ref} styleType=\"borderless\" size=\"small\" {...props} />\n );\n }\n );\n"]}
@@ -30,7 +30,7 @@ function WidgetContentContainer(props) {
30
30
  const ref = React.useCallback((instance) => {
31
31
  if (!widgetContentManager)
32
32
  return;
33
- widgetContentManager.setContainer(activeTabId, instance);
33
+ widgetContentManager.setContainer(activeTabId, instance ?? undefined);
34
34
  }, [widgetContentManager, activeTabId]);
35
35
  const className = (0, classnames_1.default)("nz-widget-contentContainer", undefined === side && minimized && "nz-minimized");
36
36
  return (React.createElement("div", { className: className },
@@ -1 +1 @@
1
- {"version":3,"file":"ContentContainer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentContainer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,mCAAiC;AACjC,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAA+D;AAC/D,kDAA0D;AAC1D,qCAA2C;AAC3C,qDAAgD;AAChD,6EAAsE;AAOtE,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,KAAkC;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,4CAA2B,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,IAAA,mCAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAC3B,CAAC,QAAwB,EAAE,EAAE;QAC3B,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAElC,oBAAoB,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC,EACD,CAAC,oBAAoB,EAAE,WAAW,CAAC,CACpC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,4BAA4B,EAC5B,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,cAAc,CAClD,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS;QACvB,6BAAK,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,GAAG,GAAI;QACvC,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AA5BD,wDA4BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./ContentContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { WidgetContentManagerContext } from \"./ContentManager\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\n\n/** @internal */\nexport interface WidgetContentContainerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentContainer(props: WidgetContentContainerProps) {\n const widgetId = React.useContext(WidgetIdContext);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const side = React.useContext(PanelSideContext);\n assert(!!widgetId);\n const { minimized, activeTabId } = useLayout((state) => {\n const widget = getWidgetState(state, widgetId);\n return { minimized: widget.minimized, activeTabId: widget.activeTabId };\n }, true);\n const ref = React.useCallback(\n (instance: HTMLDivElement) => {\n if (!widgetContentManager) return;\n\n widgetContentManager.setContainer(activeTabId, instance);\n },\n [widgetContentManager, activeTabId]\n );\n\n const className = classnames(\n \"nz-widget-contentContainer\",\n undefined === side && minimized && \"nz-minimized\"\n );\n return (\n <div className={className}>\n <div className=\"nz-content\" ref={ref} />\n {props.children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"ContentContainer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentContainer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,mCAAiC;AACjC,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAA+D;AAC/D,kDAA0D;AAC1D,qCAA2C;AAC3C,qDAAgD;AAChD,6EAAsE;AAOtE,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,KAAkC;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,4CAA2B,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,IAAA,mCAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAC3B,CAAC,QAAQ,EAAE,EAAE;QACX,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAElC,oBAAoB,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,IAAI,SAAS,CAAC,CAAC;IACxE,CAAC,EACD,CAAC,oBAAoB,EAAE,WAAW,CAAC,CACpC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,4BAA4B,EAC5B,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,cAAc,CAClD,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS;QACvB,6BAAK,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,GAAG,GAAI;QACvC,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AA5BD,wDA4BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./ContentContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { WidgetContentManagerContext } from \"./ContentManager\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\n\n/** @internal */\nexport interface WidgetContentContainerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentContainer(props: WidgetContentContainerProps) {\n const widgetId = React.useContext(WidgetIdContext);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const side = React.useContext(PanelSideContext);\n assert(!!widgetId);\n const { minimized, activeTabId } = useLayout((state) => {\n const widget = getWidgetState(state, widgetId);\n return { minimized: widget.minimized, activeTabId: widget.activeTabId };\n }, true);\n const ref = React.useCallback<React.RefCallback<HTMLDivElement>>(\n (instance) => {\n if (!widgetContentManager) return;\n\n widgetContentManager.setContainer(activeTabId, instance ?? undefined);\n },\n [widgetContentManager, activeTabId]\n );\n\n const className = classnames(\n \"nz-widget-contentContainer\",\n undefined === side && minimized && \"nz-minimized\"\n );\n return (\n <div className={className}>\n <div className=\"nz-content\" ref={ref} />\n {props.children}\n </div>\n );\n}\n"]}
@@ -11,16 +11,16 @@ export interface WidgetContentManagerProps {
11
11
  /** @internal */
12
12
  export declare function WidgetContentManager(props: WidgetContentManagerProps): React.JSX.Element;
13
13
  interface ContainersStore {
14
- setContainer: (tabId: TabState["id"], container: Element | null) => void;
15
14
  containers: {
16
- readonly [id in TabState["id"]]: Element | null;
15
+ readonly [id in TabState["id"]]: Element | undefined;
17
16
  };
17
+ setContainer: (tabId: TabState["id"], container: Element | undefined) => void;
18
18
  }
19
19
  /** @internal */
20
20
  export declare const useContainersStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ContainersStore>>;
21
21
  /** @internal */
22
22
  export interface WidgetContentManagerContextArgs {
23
- setContainer(tabId: TabState["id"], container: Element | null): void;
23
+ setContainer(tabId: TabState["id"], container: Element | undefined): void;
24
24
  onSaveTransientState: BeEvent<(tabId: TabState["id"]) => void>;
25
25
  onRestoreTransientState: BeEvent<(tabId: TabState["id"]) => void>;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContentManager.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,qBAiCpE;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACzE,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI;KAAE,CAAC;CACjE;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,8EAS5B,CAAC;AAEJ,gBAAgB;AAChB,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,oBAAoB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/D,uBAAuB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;CACnE;AAED,gBAAgB;AAChB,eAAO,MAAM,2BAA2B,4DAE5B,CAAC"}
1
+ {"version":3,"file":"ContentManager.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,qBAmCpE;AAED,UAAU,eAAe;IACvB,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,SAAS;KAAE,CAAC;IACrE,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,KAAK,IAAI,CAAC;CAC/E;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,8EAc5B,CAAC;AAEJ,gBAAgB;AAChB,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAC1E,oBAAoB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/D,uBAAuB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;CACnE;AAED,gBAAgB;AAChB,eAAO,MAAM,2BAA2B,4DAE5B,CAAC"}
@@ -18,7 +18,9 @@ function WidgetContentManager(props) {
18
18
  const saveTransientStateRef = React.useRef(new core_bentley_1.BeEvent());
19
19
  const restoreTransientStateRef = React.useRef(new core_bentley_1.BeEvent());
20
20
  const setContainer = React.useCallback((tabId, container) => {
21
- container === null && saveTransientStateRef.current.raiseEvent(tabId);
21
+ if (!container) {
22
+ saveTransientStateRef.current.raiseEvent(tabId);
23
+ }
22
24
  setContentContainer(tabId, container);
23
25
  }, [setContentContainer]);
24
26
  const widgetContentManagerContextValue = React.useMemo(() => ({
@@ -34,6 +36,10 @@ exports.useContainersStore = (0, zustand_1.create)((set) => ({
34
36
  containers: {},
35
37
  setContainer: (tabId, container) => {
36
38
  set((state) => (0, immer_1.default)(state, (draft) => {
39
+ if (!container) {
40
+ delete draft.containers[tabId];
41
+ return;
42
+ }
37
43
  draft.containers[tabId] = (0, immer_1.castDraft)(container);
38
44
  }));
39
45
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ContentManager.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA2C;AAC3C,+BAA+B;AAC/B,qCAAiC;AACjC,sDAA8C;AAQ9C,gBAAgB;AAChB,SAAgB,oBAAoB,CAAC,KAAgC;IACnE,MAAM,mBAAmB,GAAG,IAAA,0BAAkB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9E,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CACxC,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAC3C,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAGpC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACnB,SAAS,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IACF,MAAM,gCAAgC,GACpC,KAAK,CAAC,OAAO,CACX,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,oBAAoB,EAAE,qBAAqB,CAAC,OAAO;QACnD,uBAAuB,EAAE,wBAAwB,CAAC,OAAO;KAC1D,CAAC,EACF,CAAC,YAAY,CAAC,CACf,CAAC;IACJ,OAAO,CACL,oBAAC,mCAA2B,CAAC,QAAQ,IACnC,KAAK,EAAE,gCAAgC,IAEtC,KAAK,CAAC,QAAQ,CACsB,CACxC,CAAC;AACJ,CAAC;AAjCD,oDAiCC;AAOD,gBAAgB;AACH,QAAA,kBAAkB,GAAG,IAAA,gBAAM,EAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClE,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,CAAC,KAAqB,EAAE,SAAyB,EAAE,EAAE;QACjE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACZ,IAAA,eAAO,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,CAAC;AASJ,gBAAgB;AACH,QAAA,2BAA2B,GAAG,KAAK,CAAC,aAAa,CAE5D,SAAS,CAAC,CAAC;AACb,mCAA2B,CAAC,WAAW,GAAG,gCAAgC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport produce, { castDraft } from \"immer\";\nimport * as React from \"react\";\nimport { create } from \"zustand\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { TabState } from \"../state/TabState\";\n\n/** @internal */\nexport interface WidgetContentManagerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentManager(props: WidgetContentManagerProps) {\n const setContentContainer = useContainersStore((state) => state.setContainer);\n const saveTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const restoreTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const setContainer = React.useCallback<\n WidgetContentManagerContextArgs[\"setContainer\"]\n >(\n (tabId, container) => {\n container === null && saveTransientStateRef.current.raiseEvent(tabId);\n setContentContainer(tabId, container);\n },\n [setContentContainer]\n );\n const widgetContentManagerContextValue =\n React.useMemo<WidgetContentManagerContextArgs>(\n () => ({\n setContainer,\n onSaveTransientState: saveTransientStateRef.current,\n onRestoreTransientState: restoreTransientStateRef.current,\n }),\n [setContainer]\n );\n return (\n <WidgetContentManagerContext.Provider\n value={widgetContentManagerContextValue}\n >\n {props.children}\n </WidgetContentManagerContext.Provider>\n );\n}\n\ninterface ContainersStore {\n setContainer: (tabId: TabState[\"id\"], container: Element | null) => void;\n containers: { readonly [id in TabState[\"id\"]]: Element | null };\n}\n\n/** @internal */\nexport const useContainersStore = create<ContainersStore>((set) => ({\n containers: {},\n setContainer: (tabId: TabState[\"id\"], container: Element | null) => {\n set((state) =>\n produce(state, (draft) => {\n draft.containers[tabId] = castDraft(container);\n })\n );\n },\n}));\n\n/** @internal */\nexport interface WidgetContentManagerContextArgs {\n setContainer(tabId: TabState[\"id\"], container: Element | null): void;\n onSaveTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n onRestoreTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n}\n\n/** @internal */\nexport const WidgetContentManagerContext = React.createContext<\n WidgetContentManagerContextArgs | undefined\n>(undefined);\nWidgetContentManagerContext.displayName = \"nz:WidgetContentManagerContext\";\n"]}
1
+ {"version":3,"file":"ContentManager.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA2C;AAC3C,+BAA+B;AAC/B,qCAAiC;AACjC,sDAA8C;AAQ9C,gBAAgB;AAChB,SAAgB,oBAAoB,CAAC,KAAgC;IACnE,MAAM,mBAAmB,GAAG,IAAA,0BAAkB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9E,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CACxC,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAC3C,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAGpC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACnB,IAAI,CAAC,SAAS,EAAE;YACd,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACjD;QACD,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IACF,MAAM,gCAAgC,GACpC,KAAK,CAAC,OAAO,CACX,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,oBAAoB,EAAE,qBAAqB,CAAC,OAAO;QACnD,uBAAuB,EAAE,wBAAwB,CAAC,OAAO;KAC1D,CAAC,EACF,CAAC,YAAY,CAAC,CACf,CAAC;IACJ,OAAO,CACL,oBAAC,mCAA2B,CAAC,QAAQ,IACnC,KAAK,EAAE,gCAAgC,IAEtC,KAAK,CAAC,QAAQ,CACsB,CACxC,CAAC;AACJ,CAAC;AAnCD,oDAmCC;AAOD,gBAAgB;AACH,QAAA,kBAAkB,GAAG,IAAA,gBAAM,EAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClE,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,CAAC,KAAqB,EAAE,SAA8B,EAAE,EAAE;QACtE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACZ,IAAA,eAAO,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC/B,OAAO;aACR;YAED,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,CAAC;AASJ,gBAAgB;AACH,QAAA,2BAA2B,GAAG,KAAK,CAAC,aAAa,CAE5D,SAAS,CAAC,CAAC;AACb,mCAA2B,CAAC,WAAW,GAAG,gCAAgC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport produce, { castDraft } from \"immer\";\nimport * as React from \"react\";\nimport { create } from \"zustand\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { TabState } from \"../state/TabState\";\n\n/** @internal */\nexport interface WidgetContentManagerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentManager(props: WidgetContentManagerProps) {\n const setContentContainer = useContainersStore((state) => state.setContainer);\n const saveTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const restoreTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const setContainer = React.useCallback<\n WidgetContentManagerContextArgs[\"setContainer\"]\n >(\n (tabId, container) => {\n if (!container) {\n saveTransientStateRef.current.raiseEvent(tabId);\n }\n setContentContainer(tabId, container);\n },\n [setContentContainer]\n );\n const widgetContentManagerContextValue =\n React.useMemo<WidgetContentManagerContextArgs>(\n () => ({\n setContainer,\n onSaveTransientState: saveTransientStateRef.current,\n onRestoreTransientState: restoreTransientStateRef.current,\n }),\n [setContainer]\n );\n return (\n <WidgetContentManagerContext.Provider\n value={widgetContentManagerContextValue}\n >\n {props.children}\n </WidgetContentManagerContext.Provider>\n );\n}\n\ninterface ContainersStore {\n containers: { readonly [id in TabState[\"id\"]]: Element | undefined };\n setContainer: (tabId: TabState[\"id\"], container: Element | undefined) => void;\n}\n\n/** @internal */\nexport const useContainersStore = create<ContainersStore>((set) => ({\n containers: {},\n setContainer: (tabId: TabState[\"id\"], container: Element | undefined) => {\n set((state) =>\n produce(state, (draft) => {\n if (!container) {\n delete draft.containers[tabId];\n return;\n }\n\n draft.containers[tabId] = castDraft(container);\n })\n );\n },\n}));\n\n/** @internal */\nexport interface WidgetContentManagerContextArgs {\n setContainer(tabId: TabState[\"id\"], container: Element | undefined): void;\n onSaveTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n onRestoreTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n}\n\n/** @internal */\nexport const WidgetContentManagerContext = React.createContext<\n WidgetContentManagerContextArgs | undefined\n>(undefined);\nWidgetContentManagerContext.displayName = \"nz:WidgetContentManagerContext\";\n"]}
@@ -21,7 +21,7 @@ function WidgetContentRenderers() {
21
21
  const tabIds = (0, LayoutStore_1.useLayout)((state) => {
22
22
  return Object.keys(state.tabs);
23
23
  }, true);
24
- const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => { var _a; return (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId; });
24
+ const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => state.toolSettings?.tabId);
25
25
  return (React.createElement(React.Fragment, null, tabIds.map((tabId) => {
26
26
  const children = tabId === toolSettingsTabId ? toolSettingsContent : widgetContent;
27
27
  return (React.createElement(WidgetContentRenderer, { key: tabId, tabId: tabId }, children));
@@ -50,7 +50,7 @@ function WidgetContentRenderer(props) {
50
50
  widgetContentManager.onRestoreTransientState.raiseEvent(props.tabId);
51
51
  }
52
52
  return () => {
53
- for (const child of (parent === null || parent === void 0 ? void 0 : parent.children) || []) {
53
+ for (const child of parent?.children || []) {
54
54
  if (child === container.current) {
55
55
  parent.removeChild(child);
56
56
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRenderer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./ContentRenderer.scss\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport {\n ToolSettingsNodeContext,\n WidgetContentNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport {\n useContainersStore,\n WidgetContentManagerContext,\n} from \"./ContentManager\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** @internal */\nexport function WidgetContentRenderers() {\n const widgetContent = React.useContext(WidgetContentNodeContext);\n const toolSettingsContent = React.useContext(ToolSettingsNodeContext);\n const tabIds = useLayout((state) => {\n return Object.keys(state.tabs);\n }, true);\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return (\n <>\n {tabIds.map((tabId) => {\n const children =\n tabId === toolSettingsTabId ? toolSettingsContent : widgetContent;\n return (\n <WidgetContentRenderer key={tabId} tabId={tabId}>\n {children}\n </WidgetContentRenderer>\n );\n })}\n </>\n );\n}\n\ninterface WidgetContentRendererProps {\n children?: React.ReactNode;\n tabId: TabState[\"id\"];\n}\n\n/** @internal */\nexport function WidgetContentRenderer(props: WidgetContentRendererProps) {\n const renderTo = useContainersStore((state) => state.containers[props.tabId]);\n const unloaded = useLayout((state) => !!state.tabs[props.tabId].unloaded);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const container = React.useRef<HTMLDivElement>(undefined!);\n if (!container.current) {\n container.current = document.createElement(\"div\");\n container.current.classList.add(\"nz-widget-contentRenderer\");\n }\n React.useLayoutEffect(() => {\n if (!widgetContentManager) return;\n\n const parent = renderTo;\n if (parent) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n\n parent.appendChild(container.current);\n widgetContentManager.onRestoreTransientState.raiseEvent(props.tabId);\n }\n return () => {\n for (const child of parent?.children || []) {\n if (child === container.current) {\n parent!.removeChild(child);\n return;\n }\n }\n };\n }, [renderTo, widgetContentManager, props.tabId]);\n return ReactDOM.createPortal(\n <div\n style={{ height: \"100%\", width: \"100%\" }}\n id={`content-container:${props.tabId}`}\n >\n <TabIdContext.Provider value={props.tabId}>\n {unloaded ? null : props.children}\n </TabIdContext.Provider>\n </div>,\n container.current\n );\n}\n\n/** @internal */\nexport const TabIdContext = React.createContext<TabState[\"id\"] | undefined>(\n undefined\n);\nTabIdContext.displayName = \"nz:TabIdContext\";\n\n/** @internal */\nexport function useTabTransientState(\n tabId: string,\n onSave?: () => void,\n onRestore?: () => void\n) {\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onSaveTransientState.addListener((id) => {\n tabId === id && onSave && onSave();\n });\n }, [widgetContentManager, onSave, tabId]);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onRestoreTransientState.addListener((id) => {\n tabId === id && onRestore && onRestore();\n });\n }, [widgetContentManager, onRestore, tabId]);\n}\n"]}
1
+ {"version":3,"file":"ContentRenderer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,kCAAgC;AAChC,+BAA+B;AAC/B,sCAAsC;AACtC,+CAG0B;AAE1B,qDAG0B;AAC1B,qDAAgD;AAEhD,gBAAgB;AAChB,SAAgB,sBAAsB;IACpC,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,mCAAwB,CAAC,CAAC;IACjE,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACjC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,CACL,0CACG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,MAAM,QAAQ,GACZ,KAAK,KAAK,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC;QACpE,OAAO,CACL,oBAAC,qBAAqB,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAC5C,QAAQ,CACa,CACzB,CAAC;IACJ,CAAC,CAAC,CACD,CACJ,CAAC;AACJ,CAAC;AApBD,wDAoBC;AAOD,gBAAgB;AAChB,SAAgB,qBAAqB,CAAC,KAAiC;IACrE,MAAM,QAAQ,GAAG,IAAA,mCAAkB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1E,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,4CAA2B,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAiB,SAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;QACtB,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAClD,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;KAC9D;IACD,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAElC,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAC,UAAU,EAAE;gBACxB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aACvC;YAED,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACtC,oBAAoB,CAAC,uBAAuB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtE;QACD,OAAO,GAAG,EAAE;YACV,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE;gBAC1C,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE;oBAC/B,MAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC3B,OAAO;iBACR;aACF;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,YAAY,CAC1B,6BACE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EACxC,EAAE,EAAE,qBAAqB,KAAK,CAAC,KAAK,EAAE;QAEtC,oBAAC,oBAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IACtC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CACX,CACpB,EACN,SAAS,CAAC,OAAO,CAClB,CAAC;AACJ,CAAC;AAzCD,sDAyCC;AAED,gBAAgB;AACH,QAAA,YAAY,GAAG,KAAK,CAAC,aAAa,CAC7C,SAAS,CACV,CAAC;AACF,oBAAY,CAAC,WAAW,GAAG,iBAAiB,CAAC;AAE7C,gBAAgB;AAChB,SAAgB,oBAAoB,CAClC,KAAa,EACb,MAAmB,EACnB,SAAsB;IAEtB,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,4CAA2B,CAAC,CAAC;IAC3E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAElC,OAAO,oBAAoB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YAClE,KAAK,KAAK,EAAE,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAElC,OAAO,oBAAoB,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE;YACrE,KAAK,KAAK,EAAE,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,oBAAoB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AApBD,oDAoBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./ContentRenderer.scss\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport {\n ToolSettingsNodeContext,\n WidgetContentNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport {\n useContainersStore,\n WidgetContentManagerContext,\n} from \"./ContentManager\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** @internal */\nexport function WidgetContentRenderers() {\n const widgetContent = React.useContext(WidgetContentNodeContext);\n const toolSettingsContent = React.useContext(ToolSettingsNodeContext);\n const tabIds = useLayout((state) => {\n return Object.keys(state.tabs);\n }, true);\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return (\n <>\n {tabIds.map((tabId) => {\n const children =\n tabId === toolSettingsTabId ? toolSettingsContent : widgetContent;\n return (\n <WidgetContentRenderer key={tabId} tabId={tabId}>\n {children}\n </WidgetContentRenderer>\n );\n })}\n </>\n );\n}\n\ninterface WidgetContentRendererProps {\n children?: React.ReactNode;\n tabId: TabState[\"id\"];\n}\n\n/** @internal */\nexport function WidgetContentRenderer(props: WidgetContentRendererProps) {\n const renderTo = useContainersStore((state) => state.containers[props.tabId]);\n const unloaded = useLayout((state) => !!state.tabs[props.tabId].unloaded);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const container = React.useRef<HTMLDivElement>(undefined!);\n if (!container.current) {\n container.current = document.createElement(\"div\");\n container.current.classList.add(\"nz-widget-contentRenderer\");\n }\n React.useLayoutEffect(() => {\n if (!widgetContentManager) return;\n\n const parent = renderTo;\n if (parent) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n\n parent.appendChild(container.current);\n widgetContentManager.onRestoreTransientState.raiseEvent(props.tabId);\n }\n return () => {\n for (const child of parent?.children || []) {\n if (child === container.current) {\n parent!.removeChild(child);\n return;\n }\n }\n };\n }, [renderTo, widgetContentManager, props.tabId]);\n return ReactDOM.createPortal(\n <div\n style={{ height: \"100%\", width: \"100%\" }}\n id={`content-container:${props.tabId}`}\n >\n <TabIdContext.Provider value={props.tabId}>\n {unloaded ? null : props.children}\n </TabIdContext.Provider>\n </div>,\n container.current\n );\n}\n\n/** @internal */\nexport const TabIdContext = React.createContext<TabState[\"id\"] | undefined>(\n undefined\n);\nTabIdContext.displayName = \"nz:TabIdContext\";\n\n/** @internal */\nexport function useTabTransientState(\n tabId: string,\n onSave?: () => void,\n onRestore?: () => void\n) {\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onSaveTransientState.addListener((id) => {\n tabId === id && onSave && onSave();\n });\n }, [widgetContentManager, onSave, tabId]);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onRestoreTransientState.addListener((id) => {\n tabId === id && onRestore && onRestore();\n });\n }, [widgetContentManager, onRestore, tabId]);\n}\n"]}
@@ -22,17 +22,16 @@ function FloatingTab() {
22
22
  const { id, position } = (0, LayoutStore_1.useLayout)((state) => {
23
23
  const draggedTab = state.draggedTab;
24
24
  return {
25
- id: draggedTab === null || draggedTab === void 0 ? void 0 : draggedTab.tabId,
26
- position: draggedTab === null || draggedTab === void 0 ? void 0 : draggedTab.position,
25
+ id: draggedTab?.tabId,
26
+ position: draggedTab?.position,
27
27
  };
28
28
  }, true);
29
29
  const { iconSpec, label } = (0, LayoutStore_1.useLayout)((state) => {
30
- var _a;
31
- const tabId = (_a = state.draggedTab) === null || _a === void 0 ? void 0 : _a.tabId;
30
+ const tabId = state.draggedTab?.tabId;
32
31
  const tab = tabId ? state.tabs[tabId] : undefined;
33
32
  return {
34
- iconSpec: tab === null || tab === void 0 ? void 0 : tab.iconSpec,
35
- label: tab === null || tab === void 0 ? void 0 : tab.label,
33
+ iconSpec: tab?.iconSpec,
34
+ label: tab?.label,
36
35
  };
37
36
  }, true);
38
37
  const dispatch = React.useContext(NineZone_1.NineZoneDispatchContext);