@itwin/appui-react 4.11.0 → 4.13.0

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 (1086) hide show
  1. package/CHANGELOG.md +26 -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 +345 -0
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -1
  11. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  15. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  17. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposer.js +2 -1
  20. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +3 -4
  22. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  23. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  24. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  26. package/lib/cjs/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  27. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  28. package/lib/cjs/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +11 -5
  29. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  30. package/lib/{esm/appui-react/childwindow/PopoutWidget.scss → cjs/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  32. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  33. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  34. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  36. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +5 -18
  40. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  42. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentControl.d.ts +2 -0
  44. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  45. package/lib/cjs/appui-react/content/ContentControl.js +1 -0
  46. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  47. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -0
  48. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/content/ContentLayout.js +14 -14
  50. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  51. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  52. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  53. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -2
  54. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  55. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -3
  56. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  57. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  58. package/lib/cjs/appui-react/content/IModelViewport.js +7 -8
  59. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  60. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  61. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  62. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +5 -5
  63. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/content/InternalContentViewManager.js +5 -7
  65. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  66. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
  67. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  68. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +2 -0
  69. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  70. package/lib/cjs/appui-react/cursor/CursorInformation.js +2 -0
  71. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  72. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  74. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  77. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  79. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  80. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +4 -24
  81. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  82. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  83. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  84. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  85. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  86. package/lib/cjs/appui-react/dialog/ContentDialog.js +8 -7
  87. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  88. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  89. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  90. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +6 -3
  91. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  92. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  93. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -2
  95. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  96. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  97. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  98. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +2 -2
  99. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  100. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  101. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  103. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  104. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  105. package/lib/cjs/appui-react/dialog/ModelessDialog.js +3 -1
  106. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  107. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  108. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  109. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  110. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -0
  111. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  112. package/lib/cjs/appui-react/feedback/ElementTooltip.js +6 -2
  113. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  114. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +5 -0
  115. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/framework/FrameworkContent.js +4 -0
  117. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  118. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  119. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +4 -0
  121. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  122. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  123. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -0
  125. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  126. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  127. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -0
  129. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  130. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +24 -22
  132. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  134. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +45 -50
  136. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  137. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +8 -6
  139. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  140. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  141. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  142. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +4 -5
  143. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  144. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  145. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +1 -0
  146. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  147. package/lib/cjs/appui-react/hooks/useActiveStageId.js +2 -1
  148. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  149. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/hooks/useActiveViewport.js +2 -0
  151. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  152. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  153. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  154. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  155. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  156. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  157. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  158. package/lib/cjs/appui-react/hooks/useTranslation.d.ts +7 -0
  159. package/lib/cjs/appui-react/hooks/useTranslation.d.ts.map +1 -0
  160. package/lib/cjs/appui-react/{useTranslation.js → hooks/useTranslation.js} +15 -6
  161. package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -0
  162. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  163. package/lib/cjs/appui-react/hooks/useUiVisibility.js +1 -0
  164. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  165. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  166. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  167. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  168. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  169. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  170. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  171. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  172. package/lib/cjs/appui-react/layout/StandardLayout.scss +1 -1
  173. package/lib/cjs/appui-react/layout/base/DragManager.js +1 -2
  174. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  175. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  176. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  177. package/lib/cjs/appui-react/layout/footer/_variables.scss +0 -2
  178. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  179. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  180. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  181. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  182. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  183. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
  185. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -15
  187. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  188. package/lib/cjs/appui-react/layout/state/PanelState.d.ts +2 -5
  189. package/lib/cjs/appui-react/layout/state/PanelState.d.ts.map +1 -1
  190. package/lib/cjs/appui-react/layout/state/PanelState.js.map +1 -1
  191. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  192. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  194. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +12 -10
  196. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  197. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  198. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  199. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  200. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  201. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  202. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  203. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +2 -2
  204. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  205. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +3 -13
  206. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +2 -2
  207. package/lib/cjs/appui-react/layout/tool-settings/Setting.js +1 -1
  208. package/lib/cjs/appui-react/layout/tool-settings/Setting.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -2
  210. package/lib/cjs/appui-react/layout/widget/Button.d.ts +3 -2
  211. package/lib/cjs/appui-react/layout/widget/Button.d.ts.map +1 -1
  212. package/lib/cjs/appui-react/layout/widget/Button.js.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +1 -1
  214. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +3 -3
  216. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  217. package/lib/cjs/appui-react/layout/widget/ContentManager.js +7 -1
  218. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  219. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  220. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  221. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +5 -6
  222. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  223. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +2 -4
  224. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  225. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  226. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  227. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  228. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  229. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  230. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  231. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  232. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  233. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +5 -8
  234. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  235. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  236. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  237. package/lib/cjs/appui-react/messages/InputField.js +2 -1
  238. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  239. package/lib/cjs/appui-react/messages/MessageManager.d.ts +12 -0
  240. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/messages/MessageManager.js +18 -10
  242. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  243. package/lib/cjs/appui-react/messages/MessageRenderer.js +8 -9
  244. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  245. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -0
  246. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/messages/Pointer.js +7 -9
  248. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  249. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  250. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -0
  252. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  253. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  255. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  256. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  257. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  259. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  260. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  261. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
  262. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  263. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +2 -0
  264. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  265. package/lib/cjs/appui-react/pickers/ViewSelector.js +8 -13
  266. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  267. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/popup/CardPopup.js +2 -3
  269. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  270. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  271. package/lib/cjs/appui-react/popup/ComponentPopup.js +1 -1
  272. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
  273. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  275. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  276. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  277. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +8 -5
  279. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  280. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  281. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  282. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  283. package/lib/cjs/appui-react/popup/PopupManager.d.ts +5 -1
  284. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  285. package/lib/cjs/appui-react/popup/PopupManager.js +24 -24
  286. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  287. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/popup/PositionPopup.js +1 -0
  289. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  290. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  291. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  292. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -3
  294. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  295. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +7 -0
  296. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/preview/PreviewFeatures.js +8 -6
  298. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  299. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  300. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  301. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  302. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  303. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
  304. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +2 -2
  305. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -1
  306. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  307. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  308. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  309. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  310. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +1 -1
  311. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -1
  312. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  313. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  314. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  315. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  316. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  317. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  318. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  319. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +40 -0
  320. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  321. package/lib/{esm/appui-react/layout/footer/message-center/_variables.scss → cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  322. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  323. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  324. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +25 -0
  325. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  326. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  327. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  328. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +26 -0
  329. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  330. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  331. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  332. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +45 -0
  333. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  334. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  335. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  336. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  337. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +28 -0
  338. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  339. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  340. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  341. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +18 -0
  342. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  343. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  344. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  345. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  346. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  347. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +9 -4
  349. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  350. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  351. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  352. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  353. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +2 -1
  354. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  355. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  356. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  357. package/lib/cjs/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  358. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +10 -7
  359. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  360. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +38 -27
  361. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  362. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  363. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  364. package/lib/cjs/appui-react/statusbar/Overflow.js +1 -1
  365. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  366. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -3
  367. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/statusbar/StatusBar.js +21 -13
  369. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  370. package/lib/cjs/appui-react/statusbar/StatusBar.scss +18 -0
  371. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  373. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  374. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  375. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -2
  376. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  377. package/lib/cjs/appui-react/statusfields/SectionsField.js +1 -1
  378. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  379. package/lib/cjs/appui-react/statusfields/SelectionScope.js +2 -2
  380. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  381. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +2 -2
  382. package/lib/cjs/appui-react/statusfields/SnapMode.js +1 -1
  383. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  384. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  385. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  386. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +91 -0
  387. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  388. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  389. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  390. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  391. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js +28 -0
  392. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  393. package/lib/{esm/appui-react/layout/footer/message-center/Message.scss → cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  394. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  395. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +12 -6
  396. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  397. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  398. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  399. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  400. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  401. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  402. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  403. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  404. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  405. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  406. package/lib/cjs/appui-react/syncui/UiSyncEvent.js +2 -0
  407. package/lib/cjs/appui-react/syncui/UiSyncEvent.js.map +1 -1
  408. package/lib/cjs/appui-react/theme/ThemeManager.js +2 -2
  409. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  410. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  411. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  412. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +2 -1
  414. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  415. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +7 -5
  416. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  417. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  418. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  419. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
  420. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  421. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  422. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  423. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  424. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  425. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  426. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  427. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js +2 -1
  428. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  429. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  430. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  431. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  432. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  433. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -4
  434. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  435. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  436. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  438. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  439. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  440. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  441. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  442. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  443. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  444. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +7 -9
  445. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  446. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  447. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  448. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  449. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  450. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  451. package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -0
  452. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  453. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
  455. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  456. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  457. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  458. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  459. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  460. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  461. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts +13 -0
  462. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  463. package/lib/cjs/appui-react/widget-panels/DockedBar.js +18 -0
  464. package/lib/cjs/appui-react/widget-panels/DockedBar.js.map +1 -0
  465. package/lib/cjs/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  466. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/widget-panels/Frontstage.js +17 -19
  468. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  469. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  470. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  471. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts +0 -1
  472. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  473. package/lib/cjs/appui-react/widget-panels/StatusBar.js +2 -5
  474. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  475. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  476. package/lib/cjs/appui-react/widget-panels/Tab.js +2 -3
  477. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  478. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  479. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  480. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +29 -54
  481. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  482. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +4 -27
  483. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  484. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  485. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  486. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -1
  487. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  488. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  489. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  490. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  491. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  492. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  493. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  494. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
  495. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  496. package/lib/cjs/appui-react/widgets/WidgetDef.js +10 -11
  497. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  498. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  499. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  500. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +1 -6
  501. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  502. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -8
  503. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  504. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  505. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  506. package/lib/cjs/appui-react.d.ts +1 -1
  507. package/lib/cjs/appui-react.d.ts.map +1 -1
  508. package/lib/cjs/appui-react.js +1 -1
  509. package/lib/cjs/appui-react.js.map +1 -1
  510. package/lib/esm/appui-react/UiFramework.d.ts +4 -1
  511. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  512. package/lib/esm/appui-react/UiFramework.js +13 -14
  513. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  514. package/lib/esm/appui-react/UiFramework.json +345 -0
  515. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +1 -1
  516. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  517. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  518. package/lib/esm/appui-react/accudraw/Calculator.js +3 -1
  519. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  520. package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  521. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  522. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  523. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  524. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  525. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  526. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  527. package/lib/esm/appui-react/backstage/BackstageComposer.js +2 -1
  528. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  529. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +4 -5
  530. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  531. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  532. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  533. package/lib/esm/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  534. package/lib/esm/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  535. package/lib/esm/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  536. package/lib/esm/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +9 -3
  537. package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  538. package/lib/{cjs/appui-react/childwindow/PopoutWidget.scss → esm/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  539. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  540. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  541. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  542. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  543. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  544. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  545. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  546. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  547. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +4 -15
  548. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  549. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  550. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  551. package/lib/esm/appui-react/content/ContentControl.d.ts +2 -0
  552. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  553. package/lib/esm/appui-react/content/ContentControl.js +1 -0
  554. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  555. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -0
  556. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  557. package/lib/esm/appui-react/content/ContentLayout.js +14 -14
  558. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  559. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  560. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  561. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -2
  562. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  563. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -3
  564. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  565. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  566. package/lib/esm/appui-react/content/IModelViewport.js +7 -8
  567. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  568. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  569. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  570. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +5 -5
  571. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  572. package/lib/esm/appui-react/content/InternalContentViewManager.js +6 -8
  573. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  574. package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
  575. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  576. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +2 -0
  577. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  578. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -0
  579. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  580. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  581. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  582. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  583. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  584. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  585. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  586. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  587. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  588. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +5 -23
  589. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  590. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  591. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  592. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  593. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  594. package/lib/esm/appui-react/dialog/ContentDialog.js +8 -7
  595. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  596. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  597. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  598. package/lib/esm/appui-react/dialog/DialogManagerBase.js +6 -3
  599. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  600. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  601. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  602. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +2 -3
  603. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  604. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  605. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +2 -2
  607. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  608. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  609. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  610. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +2 -3
  611. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  612. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  613. package/lib/esm/appui-react/dialog/ModelessDialog.js +3 -1
  614. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  615. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  616. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  617. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  618. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -0
  619. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  620. package/lib/esm/appui-react/feedback/ElementTooltip.js +6 -2
  621. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  622. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +5 -0
  623. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  624. package/lib/esm/appui-react/framework/FrameworkContent.js +4 -0
  625. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  626. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  627. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  628. package/lib/esm/appui-react/framework/FrameworkDialogs.js +4 -0
  629. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  630. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  631. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  632. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -0
  633. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  634. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  635. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  636. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -0
  637. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  638. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  639. package/lib/esm/appui-react/frontstage/FrontstageDef.js +24 -22
  640. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  641. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  642. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  643. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +46 -51
  644. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  645. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  646. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +8 -6
  647. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  648. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts +4 -4
  649. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.d.ts.map +1 -1
  650. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +4 -5
  651. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  652. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  653. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +1 -0
  654. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  655. package/lib/esm/appui-react/hooks/useActiveStageId.js +2 -1
  656. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  657. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  658. package/lib/esm/appui-react/hooks/useActiveViewport.js +2 -0
  659. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  660. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  661. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  662. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  663. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  664. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  665. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  666. package/lib/esm/appui-react/hooks/useTranslation.d.ts +7 -0
  667. package/lib/esm/appui-react/hooks/useTranslation.d.ts.map +1 -0
  668. package/lib/esm/appui-react/hooks/useTranslation.js +25 -0
  669. package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -0
  670. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  671. package/lib/esm/appui-react/hooks/useUiVisibility.js +1 -0
  672. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  673. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  674. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  675. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  676. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  677. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  678. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  679. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  680. package/lib/esm/appui-react/layout/StandardLayout.scss +1 -1
  681. package/lib/esm/appui-react/layout/base/DragManager.js +1 -2
  682. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  683. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  684. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  685. package/lib/esm/appui-react/layout/footer/_variables.scss +0 -2
  686. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  687. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  688. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  689. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  690. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts +3 -2
  691. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  692. package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
  693. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  694. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +15 -16
  695. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  696. package/lib/esm/appui-react/layout/state/PanelState.d.ts +2 -5
  697. package/lib/esm/appui-react/layout/state/PanelState.d.ts.map +1 -1
  698. package/lib/esm/appui-react/layout/state/PanelState.js.map +1 -1
  699. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  700. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  701. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts +4 -3
  702. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  703. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +10 -8
  704. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  705. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  706. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  707. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  708. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  709. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  710. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  711. package/lib/esm/appui-react/layout/tool-settings/Docked.js +2 -2
  712. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  713. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +3 -13
  714. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +2 -2
  715. package/lib/esm/appui-react/layout/tool-settings/Setting.js +1 -1
  716. package/lib/esm/appui-react/layout/tool-settings/Setting.js.map +1 -1
  717. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -2
  718. package/lib/esm/appui-react/layout/widget/Button.d.ts +3 -2
  719. package/lib/esm/appui-react/layout/widget/Button.d.ts.map +1 -1
  720. package/lib/esm/appui-react/layout/widget/Button.js.map +1 -1
  721. package/lib/esm/appui-react/layout/widget/ContentContainer.js +1 -1
  722. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  723. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +3 -3
  724. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  725. package/lib/esm/appui-react/layout/widget/ContentManager.js +7 -1
  726. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  727. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  728. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  729. package/lib/esm/appui-react/layout/widget/FloatingTab.js +5 -6
  730. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  731. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +2 -4
  732. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  733. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  734. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  735. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  736. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  737. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  738. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  739. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  740. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  741. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +5 -8
  742. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  743. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  744. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  745. package/lib/esm/appui-react/messages/InputField.js +2 -1
  746. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  747. package/lib/esm/appui-react/messages/MessageManager.d.ts +12 -0
  748. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  749. package/lib/esm/appui-react/messages/MessageManager.js +18 -10
  750. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  751. package/lib/esm/appui-react/messages/MessageRenderer.js +8 -9
  752. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  753. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -0
  754. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  755. package/lib/esm/appui-react/messages/Pointer.js +7 -9
  756. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  757. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  758. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  759. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -0
  760. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  761. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  762. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  763. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  764. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  765. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  766. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  767. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  768. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  769. package/lib/esm/appui-react/pickers/ListPicker.js +3 -1
  770. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  771. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +2 -0
  772. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  773. package/lib/esm/appui-react/pickers/ViewSelector.js +9 -14
  774. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  775. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  776. package/lib/esm/appui-react/popup/CardPopup.js +2 -3
  777. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  778. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  779. package/lib/esm/appui-react/popup/ComponentPopup.js +1 -1
  780. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
  781. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  782. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  783. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  784. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  785. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  786. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +8 -5
  787. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  788. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  789. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  790. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  791. package/lib/esm/appui-react/popup/PopupManager.d.ts +5 -1
  792. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  793. package/lib/esm/appui-react/popup/PopupManager.js +24 -24
  794. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  795. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  796. package/lib/esm/appui-react/popup/PositionPopup.js +1 -0
  797. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  798. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  799. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  800. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  801. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -3
  802. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  803. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +7 -0
  804. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  805. package/lib/esm/appui-react/preview/PreviewFeatures.js +8 -6
  806. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  807. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  808. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  809. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  810. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  811. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -1
  812. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +3 -3
  813. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -1
  814. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  815. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  816. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  817. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  818. package/lib/esm/appui-react/preview/new-toolbars/Item.js +1 -1
  819. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -1
  820. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  821. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  822. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  823. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  824. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  825. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  826. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  827. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +36 -0
  828. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  829. package/lib/{cjs/appui-react/layout/footer/message-center/_variables.scss → esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  830. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  831. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  832. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +21 -0
  833. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  834. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  835. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  836. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +22 -0
  837. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  838. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  839. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  840. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +41 -0
  841. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  842. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  843. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  844. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  845. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +25 -0
  846. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  847. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  848. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  849. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +14 -0
  850. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  851. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  852. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  853. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  854. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  855. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  856. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +9 -4
  857. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  858. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +1 -1
  859. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  860. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  861. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +2 -1
  862. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  863. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts +23 -3
  864. package/lib/esm/appui-react/stagepanels/StagePanelConfig.d.ts.map +1 -1
  865. package/lib/esm/appui-react/stagepanels/StagePanelConfig.js.map +1 -1
  866. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +10 -7
  867. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  868. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +37 -25
  869. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  870. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  871. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  872. package/lib/esm/appui-react/statusbar/Overflow.js +1 -1
  873. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  874. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -3
  875. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  876. package/lib/esm/appui-react/statusbar/StatusBar.js +21 -13
  877. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  878. package/lib/esm/appui-react/statusbar/StatusBar.scss +18 -0
  879. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  880. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  881. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  882. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  883. package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -2
  884. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  885. package/lib/esm/appui-react/statusfields/SectionsField.js +1 -1
  886. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  887. package/lib/esm/appui-react/statusfields/SelectionScope.js +3 -3
  888. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  889. package/lib/esm/appui-react/statusfields/SelectionScope.scss +2 -2
  890. package/lib/esm/appui-react/statusfields/SnapMode.js +1 -1
  891. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  892. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  893. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  894. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +87 -0
  895. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  896. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  897. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  898. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  899. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js +24 -0
  900. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  901. package/lib/{cjs/appui-react/layout/footer/message-center/Message.scss → esm/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  902. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  903. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -7
  904. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  905. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  906. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  907. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  908. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  909. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  910. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  911. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  912. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  913. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  914. package/lib/esm/appui-react/syncui/UiSyncEvent.js +2 -0
  915. package/lib/esm/appui-react/syncui/UiSyncEvent.js.map +1 -1
  916. package/lib/esm/appui-react/theme/ThemeManager.js +2 -2
  917. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  918. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  919. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  920. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  921. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +3 -2
  922. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  923. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +7 -5
  924. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  925. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  926. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  927. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
  928. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  929. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  930. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  931. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  932. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  933. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  934. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  935. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js +2 -1
  936. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  937. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  938. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  939. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  940. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  941. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -3
  942. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  943. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  944. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  945. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  946. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  947. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  948. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  949. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  950. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  951. package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  952. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +7 -9
  953. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  954. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  955. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  956. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  957. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  958. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  959. package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -0
  960. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  961. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  962. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
  963. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  964. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  965. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  966. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  967. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  968. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  969. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts +13 -0
  970. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  971. package/lib/esm/appui-react/widget-panels/DockedBar.js +14 -0
  972. package/lib/esm/appui-react/widget-panels/DockedBar.js.map +1 -0
  973. package/lib/esm/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  974. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  975. package/lib/esm/appui-react/widget-panels/Frontstage.js +17 -19
  976. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  977. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  978. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  979. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts +0 -1
  980. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  981. package/lib/esm/appui-react/widget-panels/StatusBar.js +2 -5
  982. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  983. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  984. package/lib/esm/appui-react/widget-panels/Tab.js +3 -4
  985. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  986. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  987. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  988. package/lib/esm/appui-react/widget-panels/ToolSettings.js +28 -52
  989. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  990. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +4 -27
  991. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  992. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  993. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  994. package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -1
  995. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  996. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  997. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  998. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  999. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  1000. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  1001. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  1002. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
  1003. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1004. package/lib/esm/appui-react/widgets/WidgetDef.js +10 -11
  1005. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1006. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  1007. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1008. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +1 -6
  1009. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  1010. package/lib/esm/appui-react/widgets/WidgetManager.js +1 -6
  1011. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  1012. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  1013. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  1014. package/lib/esm/appui-react.d.ts +1 -1
  1015. package/lib/esm/appui-react.d.ts.map +1 -1
  1016. package/lib/esm/appui-react.js +1 -1
  1017. package/lib/esm/appui-react.js.map +1 -1
  1018. package/lib/public/locales/en/UiFramework.json +1 -1
  1019. package/package.json +13 -39
  1020. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  1021. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +0 -1
  1022. package/lib/cjs/appui-react/layout/footer/Footer.d.ts +0 -33
  1023. package/lib/cjs/appui-react/layout/footer/Footer.d.ts.map +0 -1
  1024. package/lib/cjs/appui-react/layout/footer/Footer.js +0 -30
  1025. package/lib/cjs/appui-react/layout/footer/Footer.js.map +0 -1
  1026. package/lib/cjs/appui-react/layout/footer/Footer.scss +0 -61
  1027. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  1028. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  1029. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js +0 -32
  1030. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  1031. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  1032. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  1033. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  1034. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js +0 -33
  1035. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  1036. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  1037. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  1038. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  1039. package/lib/cjs/appui-react/layout/footer/message-center/Message.js +0 -26
  1040. package/lib/cjs/appui-react/layout/footer/message-center/Message.js.map +0 -1
  1041. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  1042. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  1043. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js +0 -26
  1044. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  1045. package/lib/cjs/appui-react/layout/footer/message-center/Tab.scss +0 -60
  1046. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -46
  1047. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  1048. package/lib/cjs/appui-react/statusfields/MessageCenter.js +0 -132
  1049. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +0 -1
  1050. package/lib/cjs/appui-react/useTranslation.d.ts +0 -10
  1051. package/lib/cjs/appui-react/useTranslation.d.ts.map +0 -1
  1052. package/lib/cjs/appui-react/useTranslation.js.map +0 -1
  1053. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  1054. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +0 -1
  1055. package/lib/esm/appui-react/layout/footer/Footer.d.ts +0 -33
  1056. package/lib/esm/appui-react/layout/footer/Footer.d.ts.map +0 -1
  1057. package/lib/esm/appui-react/layout/footer/Footer.js +0 -26
  1058. package/lib/esm/appui-react/layout/footer/Footer.js.map +0 -1
  1059. package/lib/esm/appui-react/layout/footer/Footer.scss +0 -61
  1060. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  1061. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  1062. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js +0 -28
  1063. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  1064. package/lib/esm/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  1065. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  1066. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  1067. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js +0 -29
  1068. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  1069. package/lib/esm/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  1070. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  1071. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  1072. package/lib/esm/appui-react/layout/footer/message-center/Message.js +0 -22
  1073. package/lib/esm/appui-react/layout/footer/message-center/Message.js.map +0 -1
  1074. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  1075. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  1076. package/lib/esm/appui-react/layout/footer/message-center/Tab.js +0 -22
  1077. package/lib/esm/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  1078. package/lib/esm/appui-react/layout/footer/message-center/Tab.scss +0 -60
  1079. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -46
  1080. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  1081. package/lib/esm/appui-react/statusfields/MessageCenter.js +0 -128
  1082. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +0 -1
  1083. package/lib/esm/appui-react/useTranslation.d.ts +0 -10
  1084. package/lib/esm/appui-react/useTranslation.d.ts.map +0 -1
  1085. package/lib/esm/appui-react/useTranslation.js +0 -16
  1086. package/lib/esm/appui-react/useTranslation.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TabStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/TabStateHelpers.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 produce, { castDraft } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type { DraggedTabState, TabState } from \"../TabState\";\nimport { category } from \"./NineZoneStateHelpers\";\nimport type { SavedTabState, TabHomeState } from \"../SavedTabState\";\nimport type { WritableDraft } from \"immer/dist/internal\";\nimport { getTabLocation } from \"../TabLocation\";\nimport {\n addFloatingWidget,\n assertWidgetState,\n getWidgetState,\n removeWidget,\n setWidgetActiveTabId,\n updateWidgetState,\n} from \"./WidgetStateHelpers\";\nimport type { WidgetState } from \"../WidgetState\";\nimport { isFloatingWidgetRestoreState } from \"../WidgetRestoreState\";\nimport { Rectangle } from \"@itwin/core-react\";\nimport { getUniqueId } from \"../../base/NineZone\";\nimport { insertPanelWidget } from \"./PanelStateHelpers\";\n\n/** @internal */\nexport function createTabState(\n id: TabState[\"id\"],\n args?: Partial<TabState>\n): TabState {\n return {\n label: \"\",\n ...args,\n id,\n unloaded: false,\n };\n}\n\n/** @internal */\nexport function createDraggedTabState(\n tabId: DraggedTabState[\"tabId\"],\n args?: Partial<DraggedTabState>\n): DraggedTabState {\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n position: { x: 0, y: 0 },\n ...args,\n tabId,\n };\n}\n\n/** @internal */\nexport function updateTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<TabState>) => void\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (!(id in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n return produce(state, (draft) => {\n const tab = draft.tabs[id];\n update(tab);\n });\n}\n\n/** @internal */\nexport function updateSavedTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<SavedTabState>) => void\n) {\n return produce(state, (draft) => {\n const allIds = draft.savedTabs.allIds;\n const byId = draft.savedTabs.byId;\n let tab = byId[id];\n if (!tab) {\n allIds.push(id);\n tab = byId[id] = { id };\n } else {\n const index = allIds.indexOf(id);\n allIds.splice(index, 1);\n allIds.push(id);\n }\n\n update(tab);\n });\n}\n\n/** Adds a new `tab`.\n * @internal\n */\nexport function addTab(\n state: NineZoneState,\n id: TabState[\"id\"],\n tabArgs?: Partial<TabState>\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.tabs) throw new UiError(category, \"Tab already exists\");\n const tab = {\n ...createTabState(id),\n ...tabArgs,\n };\n return produce(state, (stateDraft) => {\n stateDraft.tabs[id] = castDraft(tab);\n });\n}\n\n/** Adds an existing `tab` to a specified `widget`.\n * @internal\n */\nexport function addTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"]\n): NineZoneState {\n return insertTabToWidget(state, tabId, widgetId, Infinity);\n}\n\n/** Inserts an existing `tab` to a specified `widget` at a specified `tabIndex`.\n * @internal\n */\nexport function insertTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"],\n tabIndex: number\n): NineZoneState {\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 assertWidgetState(state, widgetId);\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 const widget = getWidgetState(draft, widgetId);\n widget.tabs.splice(tabIndex, 0, tabId);\n });\n}\n\n/** Removes tab from the UI, but keeps the tab state.\n * @internal\n */\nexport function removeTabFromWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n const location = getTabLocation(state, tabId);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const widget = getWidgetState(state, widgetId);\n const tabs = [...widget.tabs];\n const tabIndex = tabs.indexOf(tabId);\n tabs.splice(tabIndex, 1);\n\n if (tabs.length === 0) {\n return removeWidget(state, widgetId);\n }\n\n if (tabId === widget.activeTabId) {\n state = setWidgetActiveTabId(state, widget.id, tabs[0]);\n }\n\n return updateWidgetState(state, widgetId, {\n tabs,\n });\n}\n\n/** Removes tab from the UI and deletes the tab state.\n * @internal\n */\nexport function removeTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (!(tabId in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n state = removeTabFromWidget(state, tabId);\n return produce(state, (draft) => {\n delete draft.tabs[tabId];\n\n if (draft.toolSettings?.tabId === tabId) {\n draft.toolSettings = undefined;\n }\n });\n}\n\nconst defaultHomeState: TabHomeState = {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n tabIndex: 0,\n};\n\n/** Adds removed tab to the UI.\n * @internal\n */\nexport function addRemovedTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\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 savedTab = state.savedTabs.byId[tabId];\n const home = savedTab?.home || defaultHomeState;\n const { tabIndex, widgetId } = home;\n\n // Add to an existing widget (by widget id).\n if (widgetId in state.widgets) {\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\n }\n\n // Add to a floating widget.\n if (isFloatingWidgetRestoreState(home)) {\n // Add to a new floating widget.\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(home.floatingWidget.bounds).containIn(\n nzBounds\n );\n return addFloatingWidget(state, widgetId, [tabId], {\n ...home.floatingWidget,\n bounds: bounds.toProps(),\n });\n }\n\n // Add to a panel section.\n const panel = state.panels[home.side];\n\n // Add to existing panel section.\n if (panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, home.widgetIndex);\n const sectionId = panel.widgets[sectionIndex];\n return insertTabToWidget(state, tabId, sectionId, home.tabIndex);\n }\n\n // Create a new panel section.\n const newSectionId = getUniqueId();\n return insertPanelWidget(\n state,\n panel.side,\n newSectionId,\n [tabId],\n home.widgetIndex\n );\n}\n"]}
1
+ {"version":3,"file":"TabStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/TabStateHelpers.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 produce, { castDraft } from \"immer\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type { DraggedTabState, TabState } from \"../TabState\";\nimport { category } from \"./NineZoneStateHelpers\";\nimport type { SavedTabState, TabHomeState } from \"../SavedTabState\";\nimport type { WritableDraft } from \"immer/dist/internal\";\nimport { getTabLocation } from \"../TabLocation\";\nimport {\n addFloatingWidget,\n assertWidgetState,\n getWidgetState,\n removeWidget,\n setWidgetActiveTabId,\n updateWidgetState,\n} from \"./WidgetStateHelpers\";\nimport type { WidgetState } from \"../WidgetState\";\nimport { isFloatingWidgetRestoreState } from \"../WidgetRestoreState\";\nimport { Rectangle } from \"@itwin/core-react\";\nimport { getUniqueId } from \"../../base/NineZone\";\nimport { insertPanelWidget } from \"./PanelStateHelpers\";\n\n/** @internal */\nexport function createTabState(\n id: TabState[\"id\"],\n args?: Partial<TabState>\n): TabState {\n return {\n label: \"\",\n ...args,\n id,\n unloaded: false,\n };\n}\n\n/** @internal */\nexport function createDraggedTabState(\n tabId: DraggedTabState[\"tabId\"],\n args?: Partial<DraggedTabState>\n): DraggedTabState {\n return {\n home: {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n },\n position: { x: 0, y: 0 },\n ...args,\n tabId,\n };\n}\n\n/** @internal */\nexport function updateTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<TabState>) => void\n) {\n // eslint-disable-next-line deprecation/deprecation\n if (!(id in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n return produce(state, (draft) => {\n const tab = draft.tabs[id];\n update(tab);\n });\n}\n\n/** @internal */\nexport function updateSavedTabState(\n state: NineZoneState,\n id: TabState[\"id\"],\n update: (draft: WritableDraft<SavedTabState>) => void\n) {\n return produce(state, (draft) => {\n const allIds = draft.savedTabs.allIds;\n const byId = draft.savedTabs.byId;\n let tab = byId[id];\n if (!tab) {\n allIds.push(id);\n tab = byId[id] = { id };\n } else {\n const index = allIds.indexOf(id);\n allIds.splice(index, 1);\n allIds.push(id);\n }\n\n update(tab);\n });\n}\n\n/** Adds a new `tab`.\n * @internal\n */\nexport function addTab(\n state: NineZoneState,\n id: TabState[\"id\"],\n tabArgs?: Partial<TabState>\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (id in state.tabs) throw new UiError(category, \"Tab already exists\");\n const tab = {\n ...createTabState(id),\n ...tabArgs,\n };\n return produce(state, (stateDraft) => {\n stateDraft.tabs[id] = castDraft(tab);\n });\n}\n\n/** Adds an existing `tab` to a specified `widget`.\n * @internal\n */\nexport function addTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"]\n): NineZoneState {\n return insertTabToWidget(state, tabId, widgetId, Infinity);\n}\n\n/** Inserts an existing `tab` to a specified `widget` at a specified `tabIndex`.\n * @internal\n */\nexport function insertTabToWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"],\n widgetId: WidgetState[\"id\"],\n tabIndex: number\n): NineZoneState {\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 assertWidgetState(state, widgetId);\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 const widget = getWidgetState(draft, widgetId);\n widget.tabs.splice(tabIndex, 0, tabId);\n });\n}\n\n/** Removes tab from the UI, but keeps the tab state.\n * @internal\n */\nexport function removeTabFromWidget(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n const location = getTabLocation(state, tabId);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const widget = getWidgetState(state, widgetId);\n const tabs = [...widget.tabs];\n const tabIndex = tabs.indexOf(tabId);\n tabs.splice(tabIndex, 1);\n\n if (tabs.length === 0) {\n return removeWidget(state, widgetId);\n }\n\n if (tabId === widget.activeTabId) {\n state = setWidgetActiveTabId(state, widget.id, tabs[0]);\n }\n\n return updateWidgetState(state, widgetId, {\n tabs,\n });\n}\n\n/** Removes tab from the UI and deletes the tab state.\n * @internal\n */\nexport function removeTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\n // eslint-disable-next-line deprecation/deprecation\n if (!(tabId in state.tabs)) throw new UiError(category, \"Tab does not exist\");\n\n state = removeTabFromWidget(state, tabId);\n return produce(state, (draft) => {\n delete draft.tabs[tabId];\n\n if (draft.toolSettings?.tabId === tabId) {\n draft.toolSettings = undefined;\n }\n });\n}\n\nconst defaultHomeState: TabHomeState = {\n side: \"left\",\n widgetId: \"\",\n widgetIndex: 0,\n tabIndex: 0,\n};\n\n/** Adds removed tab to the UI.\n * @internal\n */\nexport function addRemovedTab(\n state: NineZoneState,\n tabId: TabState[\"id\"]\n): NineZoneState {\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 savedTab = state.savedTabs.byId[tabId];\n const home = savedTab?.home || defaultHomeState;\n const { tabIndex, widgetId } = home;\n\n // Add to an existing widget (by widget id).\n if (widgetId in state.widgets) {\n return insertTabToWidget(state, tabId, widgetId, tabIndex);\n }\n\n // Add to a floating widget.\n if (isFloatingWidgetRestoreState(home)) {\n // Add to a new floating widget.\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(home.floatingWidget.bounds).containIn(\n nzBounds\n );\n return addFloatingWidget(state, widgetId, [tabId], {\n ...home.floatingWidget,\n bounds: bounds.toProps(),\n });\n }\n\n // Add to a panel section.\n const panel = state.panels[home.side];\n\n // Add to existing panel section.\n if (panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(panel.maxWidgetCount - 1, home.widgetIndex);\n const sectionId = panel.widgets[sectionIndex];\n return insertTabToWidget(state, tabId, sectionId, home.tabIndex);\n }\n\n // Create a new panel section.\n const newSectionId = getUniqueId();\n return insertPanelWidget(\n state,\n panel.side,\n newSectionId,\n [tabId],\n home.widgetIndex\n );\n}\n"]}
@@ -87,7 +87,7 @@ function removeWidgetState(state, id) {
87
87
  exports.removeWidgetState = removeWidgetState;
88
88
  /** @internal */
89
89
  function createFloatingWidgetState(id, args) {
90
- const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args === null || args === void 0 ? void 0 : args.bounds);
90
+ const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args?.bounds);
91
91
  return {
92
92
  home: {
93
93
  side: "left",
@@ -102,8 +102,8 @@ function createFloatingWidgetState(id, args) {
102
102
  exports.createFloatingWidgetState = createFloatingWidgetState;
103
103
  /** @internal */
104
104
  function createPopoutWidgetState(id, args) {
105
- const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args === null || args === void 0 ? void 0 : args.bounds);
106
- const home = (args === null || args === void 0 ? void 0 : args.home)
105
+ const bounds = (0, NineZoneStateHelpers_1.toRectangleProps)(args?.bounds);
106
+ const home = args?.home
107
107
  ? args.home
108
108
  : {
109
109
  side: "left",
@@ -278,7 +278,7 @@ function addFloatingWidget(state, id, tabs, floatingWidgetArgs, widgetArgs) {
278
278
  // eslint-disable-next-line deprecation/deprecation
279
279
  throw new appui_abstract_1.UiError(NineZoneStateHelpers_1.category, "Floating widget already exists");
280
280
  state = addWidgetState(state, id, tabs, widgetArgs);
281
- let bounds = floatingWidgetArgs === null || floatingWidgetArgs === void 0 ? void 0 : floatingWidgetArgs.bounds;
281
+ let bounds = floatingWidgetArgs?.bounds;
282
282
  if (!bounds) {
283
283
  bounds = getNewFloatingWidgetBounds(state);
284
284
  }
@@ -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
  },