@itwin/appui-react 4.10.0-dev.1 → 4.11.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 (1183) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +301 -21
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +7 -9
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.js +9 -9
  21. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  24. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
  26. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  36. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  40. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  42. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/content/ContentGroup.js +2 -2
  45. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  46. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  47. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  48. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  49. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  50. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  51. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  52. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  53. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  54. package/lib/cjs/appui-react/content/IModelViewport.js +10 -11
  55. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  56. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  57. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  58. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  59. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  61. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  62. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  63. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  65. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  66. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  67. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  69. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  70. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  71. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  72. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  73. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  74. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -2
  75. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  76. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  77. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  79. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  80. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
  82. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  83. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  85. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  86. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  87. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  89. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  90. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  92. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  93. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  94. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  95. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  96. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  97. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  98. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  99. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  100. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  101. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  102. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  103. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  104. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  105. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  106. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  107. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  108. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  110. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  111. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  112. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  113. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  114. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  115. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  116. package/lib/cjs/appui-react/layers.scss +11 -0
  117. package/lib/cjs/appui-react/layout/StandardLayout.d.ts +24 -0
  118. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -0
  119. package/lib/cjs/appui-react/layout/StandardLayout.js +56 -0
  120. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -0
  121. package/lib/cjs/appui-react/layout/StandardLayout.scss +94 -0
  122. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  123. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  124. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  125. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  126. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  127. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  128. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  129. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +4 -4
  130. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  131. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  133. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  134. package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +1 -10
  135. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  136. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  138. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  140. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  142. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  143. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  145. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  146. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  148. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  149. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  151. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  152. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  153. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  154. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  155. package/lib/cjs/appui-react/layout/target/PanelTargets.scss +2 -0
  156. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  157. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  158. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  159. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +52 -21
  161. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  162. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +15 -23
  163. package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/layout/tool-settings/Handle.js +3 -1
  165. package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
  166. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +6 -12
  167. package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js +4 -5
  169. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  170. package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +0 -15
  171. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -12
  172. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +4 -4
  173. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/layout/widget/Buttons.js +8 -31
  175. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  176. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  178. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +2 -0
  181. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  182. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +1 -1
  183. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/layout/widget/ContentManager.js +1 -1
  185. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  186. package/lib/cjs/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +8 -2
  188. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  189. package/lib/cjs/appui-react/layout/widget/Dock.d.ts +2 -0
  190. package/lib/cjs/appui-react/layout/widget/Dock.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/layout/widget/Dock.js +10 -1
  192. package/lib/cjs/appui-react/layout/widget/Dock.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  194. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  196. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +19 -19
  197. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  198. package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +92 -105
  199. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  200. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  201. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  202. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts +2 -0
  203. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  204. package/lib/cjs/appui-react/layout/widget/PinToggle.js +10 -1
  205. package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
  206. package/lib/cjs/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/layout/widget/SendBack.js +4 -5
  208. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  210. package/lib/cjs/appui-react/layout/widget/Tab.js +9 -14
  211. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  212. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget/TabBar.js +4 -1
  214. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget/TabBar.scss +17 -19
  216. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  217. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  218. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  219. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  220. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  221. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  222. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  223. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  224. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js +39 -0
  225. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  226. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  227. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/layout/widget-panels/Grip.js +4 -0
  229. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  230. package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +106 -104
  231. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  232. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/layout/widget-panels/Panel.js +10 -16
  234. package/lib/cjs/appui-react/layout/widget-panels/Panel.js.map +1 -1
  235. package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +175 -243
  236. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  237. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +42 -35
  239. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  240. package/lib/cjs/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  241. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  242. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  243. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  244. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  245. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  246. package/lib/cjs/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -26
  247. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  248. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  249. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  250. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/messages/MessageManager.js +6 -7
  252. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  253. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  254. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  255. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  256. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  257. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  258. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  259. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  261. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  262. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  263. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  265. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  266. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  267. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  268. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  269. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/popup/CardPopup.js +13 -6
  271. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  273. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  274. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  275. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  276. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  277. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  279. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  280. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  281. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  283. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  284. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  285. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +25 -16
  286. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  287. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  288. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  289. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +10 -4
  290. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  291. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  292. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  294. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  295. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  296. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  297. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  298. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  299. package/lib/cjs/appui-react/popup/ToolbarPopup.js +8 -3
  300. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  301. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +9 -2
  302. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/preview/PreviewFeatures.js +3 -2
  304. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  305. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  306. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  307. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  308. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  309. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  310. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  311. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  312. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  313. package/lib/cjs/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  314. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  315. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  316. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +51 -0
  317. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  318. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  319. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  320. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +27 -0
  321. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  322. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  323. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  324. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +115 -0
  325. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  326. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  327. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  328. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  329. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +18 -22
  330. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  331. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  332. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  333. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +30 -0
  334. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  335. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  336. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  337. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  338. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  339. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  340. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  341. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  342. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
  343. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  344. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  345. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  346. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  347. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  348. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  349. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  350. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  351. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
  352. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  353. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  354. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  355. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  356. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  357. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  358. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  359. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  360. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  361. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  362. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  363. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  364. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  365. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  366. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  367. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  368. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  369. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  370. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  371. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  372. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  373. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  374. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  375. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  376. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  377. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  378. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  379. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  380. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  381. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  382. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  383. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  385. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  386. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  387. package/lib/cjs/appui-react/redux/SessionState.d.ts +17 -5
  388. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  390. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  391. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  392. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  393. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  394. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  395. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  396. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  397. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  398. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  399. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  401. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  402. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  403. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  404. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  405. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  406. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  407. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  408. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  409. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  410. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  411. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  412. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  413. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  414. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  415. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
  416. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  417. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  418. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  419. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  421. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  422. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  423. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  425. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  426. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
  427. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  428. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  429. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  430. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  431. package/lib/{esm/appui-react/statusbar → cjs/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  432. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  433. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  434. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  435. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  436. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -4
  438. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  439. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  440. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  441. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  442. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  443. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  444. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  445. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  446. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  447. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  448. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  449. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  450. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  451. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  452. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  453. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  455. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  456. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  457. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  458. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  459. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  460. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  461. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  462. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  463. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  464. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  465. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  466. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  468. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  469. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  470. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  471. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  472. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  473. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  474. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  475. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  476. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  477. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  478. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  479. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  480. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  481. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  482. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  483. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  484. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  485. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -1
  486. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  487. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  488. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  489. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  490. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  491. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  492. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  493. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  494. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  495. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  496. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  497. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  498. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  499. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  500. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  501. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  502. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  503. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  504. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  505. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  506. package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
  507. package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
  508. package/lib/cjs/appui-react/useTranslation.js +20 -0
  509. package/lib/cjs/appui-react/useTranslation.js.map +1 -0
  510. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  511. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  512. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  513. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  514. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  515. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  516. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  517. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  518. package/lib/cjs/appui-react/utils/matchesWords.js +4 -4
  519. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  520. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  521. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  522. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  523. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  524. package/lib/cjs/appui-react/widget-panels/Frontstage.js +43 -39
  525. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  526. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +0 -23
  527. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  528. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  529. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  530. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  531. package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
  532. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  533. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  534. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  535. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  536. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  537. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +0 -6
  538. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  539. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  540. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  541. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  542. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  543. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  544. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  545. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  546. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  547. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  548. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  549. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  550. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +9 -4
  551. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  552. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  553. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  554. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  555. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  556. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  557. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  558. package/lib/cjs/appui-react.d.ts +4 -1
  559. package/lib/cjs/appui-react.d.ts.map +1 -1
  560. package/lib/cjs/appui-react.js +4 -3
  561. package/lib/cjs/appui-react.js.map +1 -1
  562. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  563. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  564. package/lib/esm/appui-react/UiFramework.js +301 -21
  565. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  566. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  567. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  568. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  569. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  570. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  571. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  572. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  573. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  574. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +7 -9
  575. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  576. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  577. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  578. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  579. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  580. package/lib/esm/appui-react/accudraw/Calculator.js +9 -9
  581. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  582. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  583. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  584. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  585. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
  586. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  587. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  588. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  589. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  590. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  591. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  592. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  593. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  594. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  595. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  596. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  597. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  598. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  599. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  600. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  601. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  602. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  603. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  604. package/lib/esm/appui-react/content/ContentGroup.js +2 -2
  605. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  606. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  607. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  608. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  609. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  610. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  611. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  612. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  613. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  614. package/lib/esm/appui-react/content/IModelViewport.js +10 -11
  615. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  616. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  617. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  618. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  619. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  620. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  621. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  622. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  623. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  624. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  625. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  626. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  627. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  628. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  629. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  630. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  631. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  632. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  633. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  634. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -2
  635. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  636. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  637. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  638. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  639. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  640. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  641. package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
  642. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  643. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  644. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  645. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  646. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  647. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  648. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  649. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  650. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  651. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  652. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  653. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  654. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  655. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  656. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  657. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  658. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  659. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  660. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  661. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  662. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  663. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  664. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  665. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  666. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  667. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  668. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  669. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  670. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  671. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  672. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  673. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  674. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  675. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  676. package/lib/esm/appui-react/layers.scss +11 -0
  677. package/lib/esm/appui-react/layout/StandardLayout.d.ts +24 -0
  678. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -0
  679. package/lib/esm/appui-react/layout/StandardLayout.js +52 -0
  680. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -0
  681. package/lib/esm/appui-react/layout/StandardLayout.scss +94 -0
  682. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  683. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -1
  684. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  685. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  686. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  687. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  688. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  689. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +4 -4
  690. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  691. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  692. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  693. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  694. package/lib/esm/appui-react/layout/outline/PanelOutline.scss +1 -10
  695. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  696. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  697. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  698. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  699. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  700. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  701. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  702. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  703. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  704. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  705. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  706. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  707. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  708. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  709. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  710. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  711. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  712. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  713. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  714. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  715. package/lib/esm/appui-react/layout/target/PanelTargets.scss +2 -0
  716. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  717. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  718. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  719. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  720. package/lib/esm/appui-react/layout/tool-settings/Docked.js +53 -22
  721. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  722. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +15 -23
  723. package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  724. package/lib/esm/appui-react/layout/tool-settings/Handle.js +3 -1
  725. package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
  726. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +6 -12
  727. package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  728. package/lib/esm/appui-react/layout/tool-settings/Overflow.js +4 -5
  729. package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  730. package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +0 -15
  731. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -12
  732. package/lib/esm/appui-react/layout/widget/Buttons.d.ts +4 -4
  733. package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  734. package/lib/esm/appui-react/layout/widget/Buttons.js +8 -30
  735. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  736. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  737. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  738. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  739. package/lib/esm/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  740. package/lib/esm/appui-react/layout/widget/ContentContainer.js +2 -0
  741. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  742. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +1 -1
  743. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  744. package/lib/esm/appui-react/layout/widget/ContentManager.js +1 -1
  745. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  746. package/lib/esm/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  747. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +8 -2
  748. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  749. package/lib/esm/appui-react/layout/widget/Dock.d.ts +2 -0
  750. package/lib/esm/appui-react/layout/widget/Dock.d.ts.map +1 -1
  751. package/lib/esm/appui-react/layout/widget/Dock.js +8 -0
  752. package/lib/esm/appui-react/layout/widget/Dock.js.map +1 -1
  753. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  754. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  755. package/lib/esm/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  756. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +19 -19
  757. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  758. package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +92 -105
  759. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  760. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  761. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  762. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts +2 -0
  763. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  764. package/lib/esm/appui-react/layout/widget/PinToggle.js +8 -0
  765. package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
  766. package/lib/esm/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  767. package/lib/esm/appui-react/layout/widget/SendBack.js +4 -5
  768. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  769. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  770. package/lib/esm/appui-react/layout/widget/Tab.js +9 -14
  771. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  772. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  773. package/lib/esm/appui-react/layout/widget/TabBar.js +4 -1
  774. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  775. package/lib/esm/appui-react/layout/widget/TabBar.scss +17 -19
  776. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  777. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  778. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  779. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  780. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  781. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  782. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  783. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  784. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js +34 -0
  785. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  786. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  787. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  788. package/lib/esm/appui-react/layout/widget-panels/Grip.js +4 -0
  789. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  790. package/lib/esm/appui-react/layout/widget-panels/Grip.scss +106 -104
  791. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  792. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  793. package/lib/esm/appui-react/layout/widget-panels/Panel.js +10 -16
  794. package/lib/esm/appui-react/layout/widget-panels/Panel.js.map +1 -1
  795. package/lib/esm/appui-react/layout/widget-panels/Panel.scss +175 -243
  796. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  797. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  798. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +41 -34
  799. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  800. package/lib/esm/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  801. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  802. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  803. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  804. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  805. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  806. package/lib/esm/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -25
  807. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  808. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  809. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  810. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  811. package/lib/esm/appui-react/messages/MessageManager.js +6 -7
  812. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  813. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  814. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  815. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  816. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  817. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  818. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  819. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  820. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  821. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  822. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  823. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  824. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  825. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  826. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  827. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  828. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  829. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  830. package/lib/esm/appui-react/popup/CardPopup.js +16 -8
  831. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  832. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  833. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  834. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  835. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  836. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  837. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  838. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  839. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  840. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  841. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  842. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  843. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  844. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  845. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +25 -16
  846. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  847. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  848. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  849. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +10 -4
  850. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  851. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  852. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  853. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  854. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  855. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  856. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  857. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  858. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  859. package/lib/esm/appui-react/popup/ToolbarPopup.js +10 -4
  860. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  861. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +9 -2
  862. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  863. package/lib/esm/appui-react/preview/PreviewFeatures.js +3 -2
  864. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  865. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  866. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  867. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  868. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  869. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  870. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  871. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  872. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  873. package/lib/esm/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  874. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  875. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  876. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +46 -0
  877. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  878. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  879. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  880. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +23 -0
  881. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  882. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  883. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  884. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +106 -0
  885. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  886. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  887. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  888. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  889. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +16 -19
  890. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  891. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  892. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  893. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +26 -0
  894. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  895. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  896. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  897. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  898. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  899. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  900. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  901. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  902. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
  903. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  904. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  905. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  906. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  907. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  908. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  909. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  910. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  911. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
  912. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  913. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  914. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  915. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  916. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  917. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  918. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  919. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  920. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  921. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  922. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  923. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  924. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  925. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  926. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  927. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  928. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  929. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  930. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  931. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  932. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  933. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  934. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  935. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  936. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  937. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  938. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  939. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  940. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  941. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  942. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  943. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  944. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  945. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  946. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  947. package/lib/esm/appui-react/redux/SessionState.d.ts +17 -5
  948. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  949. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  950. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  951. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  952. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  953. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  954. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  955. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  956. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  957. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  958. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  959. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  960. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  961. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  962. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  963. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  964. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  965. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  966. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  967. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  968. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  969. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  970. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  971. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  972. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  973. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  974. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  975. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
  976. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  977. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  978. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  979. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  980. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  981. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  982. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  983. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  984. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  985. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  986. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
  987. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  988. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  989. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  990. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  991. package/lib/{cjs/appui-react/statusbar → esm/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  992. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  993. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  994. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  995. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  996. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  997. package/lib/esm/appui-react/statusfields/ActivityCenter.js +5 -4
  998. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  999. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  1000. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  1001. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  1002. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  1003. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  1004. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  1005. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  1006. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  1007. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  1008. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  1009. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  1010. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  1011. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  1012. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  1013. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  1014. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  1015. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  1016. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  1017. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  1018. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1019. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  1020. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  1021. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  1022. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  1023. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  1024. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  1025. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  1026. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  1027. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  1028. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  1029. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  1030. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  1031. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  1032. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  1033. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  1034. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  1035. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  1036. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  1037. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  1039. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  1040. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  1041. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  1042. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  1043. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1044. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  1045. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -1
  1046. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  1047. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  1048. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  1049. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  1050. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  1051. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  1052. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  1053. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  1054. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1055. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  1056. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1057. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  1058. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  1059. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  1060. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  1061. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  1062. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1063. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  1064. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  1065. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  1066. package/lib/esm/appui-react/useTranslation.d.ts +10 -0
  1067. package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
  1068. package/lib/esm/appui-react/useTranslation.js +16 -0
  1069. package/lib/esm/appui-react/useTranslation.js.map +1 -0
  1070. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  1071. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  1072. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  1073. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  1074. package/lib/esm/appui-react/utils/Placement.js +57 -0
  1075. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  1076. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  1077. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1078. package/lib/esm/appui-react/utils/matchesWords.js +4 -4
  1079. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  1080. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  1081. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  1082. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1083. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1084. package/lib/esm/appui-react/widget-panels/Frontstage.js +45 -41
  1085. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1086. package/lib/esm/appui-react/widget-panels/Frontstage.scss +0 -23
  1087. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  1088. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1089. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  1090. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  1091. package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
  1092. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  1093. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  1094. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  1095. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  1096. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  1097. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +0 -6
  1098. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  1099. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  1100. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  1101. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  1102. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  1103. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1104. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1105. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  1106. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1107. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  1108. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  1109. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  1110. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +9 -4
  1111. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1112. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  1113. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1114. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  1115. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1116. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  1117. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  1118. package/lib/esm/appui-react.d.ts +4 -1
  1119. package/lib/esm/appui-react.d.ts.map +1 -1
  1120. package/lib/esm/appui-react.js +4 -1
  1121. package/lib/esm/appui-react.js.map +1 -1
  1122. package/lib/public/locales/en/UiFramework.json +8 -2
  1123. package/package.json +22 -20
  1124. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  1125. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1126. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  1127. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1128. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1129. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1130. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1131. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1132. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1133. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1134. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -65
  1135. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1136. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1137. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1138. package/lib/cjs/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1139. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1140. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1141. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js +0 -23
  1142. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1143. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1144. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1145. package/lib/cjs/appui-react/layout/widget-panels/Content.js +0 -21
  1146. package/lib/cjs/appui-react/layout/widget-panels/Content.js.map +0 -1
  1147. package/lib/cjs/appui-react/layout/widget-panels/Content.scss +0 -37
  1148. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1149. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1150. package/lib/cjs/appui-react/layout/widget-panels/Panels.js +0 -48
  1151. package/lib/cjs/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1152. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  1153. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  1154. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  1155. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1156. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  1157. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1158. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1159. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1160. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1161. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1162. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1163. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1164. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -58
  1165. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1166. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1167. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1168. package/lib/esm/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1169. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1170. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1171. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js +0 -19
  1172. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1173. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1174. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1175. package/lib/esm/appui-react/layout/widget-panels/Content.js +0 -18
  1176. package/lib/esm/appui-react/layout/widget-panels/Content.js.map +0 -1
  1177. package/lib/esm/appui-react/layout/widget-panels/Content.scss +0 -37
  1178. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1179. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1180. package/lib/esm/appui-react/layout/widget-panels/Panels.js +0 -44
  1181. package/lib/esm/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1182. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  1183. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -23,6 +23,7 @@ import { isPanelWidgetRestoreState, } from "./WidgetRestoreState";
23
23
  import { addDockedToolSettings } from "./internal/ToolSettingsStateHelpers";
24
24
  /** @internal */
25
25
  export function NineZoneStateReducer(state, action) {
26
+ var _a, _b, _c, _d, _e, _f, _g, _h;
26
27
  switch (action.type) {
27
28
  case "RESIZE": {
28
29
  state = produce(state, (draft) => {
@@ -280,7 +281,7 @@ export function NineZoneStateReducer(state, action) {
280
281
  });
281
282
  return removeWidget(state, widget.id);
282
283
  }
283
- const sectionIndex = sendBackHomeState.sectionIndex ?? 0;
284
+ const sectionIndex = (_a = sendBackHomeState.sectionIndex) !== null && _a !== void 0 ? _a : 0;
284
285
  const home = state.floatingWidgets.byId[action.id].home;
285
286
  const destinationWidgetId = home.widgetId
286
287
  ? home.widgetId
@@ -459,7 +460,7 @@ export function NineZoneStateReducer(state, action) {
459
460
  contentHeight = popoutContentContainer.offsetHeight + 20;
460
461
  }
461
462
  }
462
- let preferredBounds = savedTab?.popoutBounds
463
+ let preferredBounds = (savedTab === null || savedTab === void 0 ? void 0 : savedTab.popoutBounds)
463
464
  ? Rectangle.create(savedTab.popoutBounds)
464
465
  : Rectangle.createFromSize({
465
466
  height: contentHeight,
@@ -512,7 +513,7 @@ export function NineZoneStateReducer(state, action) {
512
513
  }
513
514
  case "WIDGET_TAB_CLOSE": {
514
515
  const { id } = action;
515
- if (state.toolSettings?.tabId === id &&
516
+ if (((_b = state.toolSettings) === null || _b === void 0 ? void 0 : _b.tabId) === id &&
516
517
  state.toolSettings.type === "docked") {
517
518
  return state;
518
519
  }
@@ -535,9 +536,8 @@ export function NineZoneStateReducer(state, action) {
535
536
  if (isFloatingTabLocation(location))
536
537
  return state;
537
538
  const tab = state.tabs[id];
538
- const preferredSize = size ??
539
- tab.preferredFloatingWidgetSize ?? { height: 400, width: 400 };
540
- const preferredPosition = position ?? { x: 50, y: 100 };
539
+ const preferredSize = (_c = size !== null && size !== void 0 ? size : tab.preferredFloatingWidgetSize) !== null && _c !== void 0 ? _c : { height: 400, width: 400 };
540
+ const preferredPosition = position !== null && position !== void 0 ? position : { x: 50, y: 100 };
541
541
  const preferredBounds = Rectangle.createFromSize(preferredSize).offset(preferredPosition);
542
542
  const nzBounds = Rectangle.createFromSize(state.size);
543
543
  const containedBounds = preferredBounds.containIn(nzBounds);
@@ -575,7 +575,7 @@ export function NineZoneStateReducer(state, action) {
575
575
  : home.floatingWidget.home,
576
576
  }, widget);
577
577
  }
578
- const isToolSettings = state.toolSettings?.tabId === id;
578
+ const isToolSettings = ((_d = state.toolSettings) === null || _d === void 0 ? void 0 : _d.tabId) === id;
579
579
  if (isToolSettings) {
580
580
  state = produce(state, (draft) => {
581
581
  assert(!!draft.toolSettings);
@@ -663,18 +663,18 @@ export function NineZoneStateReducer(state, action) {
663
663
  if (action.floatingWidget.id in state.widgets) {
664
664
  return addTabToWidget(state, action.id, action.floatingWidget.id);
665
665
  }
666
- const size = action.overrides?.preferredFloatingWidgetSize ?? {
666
+ const size = (_f = (_e = action.overrides) === null || _e === void 0 ? void 0 : _e.preferredFloatingWidgetSize) !== null && _f !== void 0 ? _f : {
667
667
  height: 200,
668
668
  width: 300,
669
669
  };
670
- const position = action.floatingWidget.preferredPosition ?? {
670
+ const position = (_g = action.floatingWidget.preferredPosition) !== null && _g !== void 0 ? _g : {
671
671
  x: (state.size.width - size.width) / 2,
672
672
  y: (state.size.height - size.height) / 2,
673
673
  };
674
674
  const nzBounds = Rectangle.createFromSize(state.size);
675
675
  const bounds = Rectangle.createFromSize(size).offset(position);
676
676
  const containedBounds = bounds.containIn(nzBounds);
677
- const userSized = !!action.overrides?.preferredFloatingWidgetSize;
677
+ const userSized = !!((_h = action.overrides) === null || _h === void 0 ? void 0 : _h.preferredFloatingWidgetSize);
678
678
  return addFloatingWidget(state, action.floatingWidget.id, [action.id], {
679
679
  bounds: containedBounds.toProps(),
680
680
  home: {
@@ -709,7 +709,8 @@ export function NineZoneStateReducer(state, action) {
709
709
  return state;
710
710
  }
711
711
  function openWidgetTab(state, id) {
712
- if (state.toolSettings?.tabId === id &&
712
+ var _a;
713
+ if (((_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId) === id &&
713
714
  state.toolSettings.type === "docked") {
714
715
  return produce(state, (draft) => {
715
716
  assert(draft.toolSettings.type === "docked");
@@ -719,6 +720,7 @@ function openWidgetTab(state, id) {
719
720
  let location;
720
721
  [state, location] = unhideTab(state, id);
721
722
  return produce(state, (draft) => {
723
+ var _a;
722
724
  const widget = draft.widgets[location.widgetId];
723
725
  widget.minimized = false;
724
726
  widget.activeTabId = id;
@@ -727,7 +729,7 @@ function openWidgetTab(state, id) {
727
729
  panel.collapsed = false;
728
730
  // istanbul ignore next
729
731
  if (undefined === panel.size || 0 === panel.size) {
730
- panel.size = panel.minSize ?? 200;
732
+ panel.size = (_a = panel.minSize) !== null && _a !== void 0 ? _a : 200;
731
733
  }
732
734
  }
733
735
  });
@@ -1 +1 @@
1
- {"version":3,"file":"NineZoneStateReducer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/state/NineZoneStateReducer.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 } from \"immer\";\nimport { Point, Rectangle } from \"@itwin/core-react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { TabState } from \"./TabState\";\nimport { getWidgetLocation, isPanelWidgetLocation } from \"./WidgetLocation\";\nimport type { NineZoneAction } from \"./NineZoneAction\";\nimport {\n isPanelDropTargetState,\n isSectionDropTargetState,\n isTabDropTargetState,\n isWidgetDropTargetState,\n isWindowDropTargetState,\n} from \"./DropTargetState\";\nimport { getWidgetPanelSectionId } from \"./PanelState\";\nimport type { NineZoneState } from \"./NineZoneState\";\nimport type { PopoutWidgetState, WidgetState } from \"./WidgetState\";\nimport {\n addPanelWidget,\n getPanelSize,\n insertPanelWidget,\n updatePanelState,\n} from \"./internal/PanelStateHelpers\";\nimport {\n addRemovedTab,\n addTab,\n addTabToWidget,\n createDraggedTabState,\n removeTab,\n removeTabFromWidget,\n updateSavedTabState,\n updateTabState,\n} from \"./internal/TabStateHelpers\";\nimport {\n initRectangleProps,\n initSizeProps,\n isToolSettingsFloatingWidget,\n setPointProps,\n setSizeProps,\n updateHomeOfToolSettingsWidget,\n} from \"./internal/NineZoneStateHelpers\";\nimport {\n addFloatingWidget,\n addPopoutWidget,\n addWidgetState,\n floatingWidgetBringToFront,\n getWidgetState,\n removeFloatingWidget,\n removePanelWidget,\n removePopoutWidget,\n removeWidget,\n setWidgetActiveTabId,\n updateFloatingWidgetState,\n updateWidgetState,\n} from \"./internal/WidgetStateHelpers\";\nimport { getSendBackHomeState } from \"../widget/SendBack\";\nimport { panelSides } from \"../widget-panels/Panel\";\nimport type { TabLocation } from \"./TabLocation\";\nimport {\n getTabLocation,\n isFloatingTabLocation,\n isPanelTabLocation,\n isPopoutTabLocation,\n} from \"./TabLocation\";\nimport { getUniqueId } from \"../base/NineZone\";\nimport {\n isPanelWidgetRestoreState,\n type PanelWidgetRestoreState,\n} from \"./WidgetRestoreState\";\nimport { addDockedToolSettings } from \"./internal/ToolSettingsStateHelpers\";\n\n/** @internal */\nexport function NineZoneStateReducer(\n state: NineZoneState,\n action: NineZoneAction\n): NineZoneState {\n switch (action.type) {\n case \"RESIZE\": {\n state = produce(state, (draft) => {\n setSizeProps(draft.size, action.size);\n });\n const nzBounds = Rectangle.createFromSize(action.size);\n for (const id of state.floatingWidgets.allIds) {\n const floatingWidget = state.floatingWidgets.byId[id];\n const bounds = Rectangle.create(floatingWidget.bounds);\n const containedBounds = bounds.containIn(nzBounds);\n state = updateFloatingWidgetState(state, id, {\n bounds: containedBounds.toProps(),\n });\n }\n for (const side of panelSides) {\n state = updatePanelState(state, side, (draft) => {\n const size = getPanelSize(\n draft.size,\n side,\n draft.minSize,\n draft.maxSize,\n state.size\n );\n draft.size = size;\n });\n }\n return state;\n }\n case \"PANEL_TOGGLE_COLLAPSED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.collapsed = !draft.collapsed;\n });\n }\n case \"PANEL_SET_COLLAPSED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.collapsed = action.collapsed;\n });\n }\n case \"PANEL_SET_SIZE\": {\n const { side, size: preferredSize } = action;\n\n return updatePanelState(state, side, (draft) => {\n const size = getPanelSize(\n preferredSize,\n draft.side,\n draft.minSize,\n draft.maxSize,\n state.size\n );\n draft.size = size;\n });\n }\n case \"PANEL_SET_MIN_SIZE\": {\n return updatePanelState(state, action.side, (draft) => {\n const size = getPanelSize(\n draft.size,\n draft.side,\n action.minSize,\n draft.maxSize,\n state.size\n );\n\n draft.minSize = action.minSize;\n draft.size = size;\n });\n }\n case \"PANEL_SET_MAX_SIZE\": {\n return updatePanelState(state, action.side, (draft) => {\n const size = getPanelSize(\n draft.size,\n draft.side,\n draft.minSize,\n action.maxSize,\n state.size\n );\n\n draft.maxSize = action.maxSize;\n draft.size = size;\n });\n }\n case \"PANEL_SET_RESIZABLE\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.resizable = action.resizable;\n });\n }\n case \"PANEL_SET_SPLITTER_VALUE\": {\n const splitterPercent = Math.min(Math.max(action.percent, 0), 100);\n return updatePanelState(state, action.side, (draft) => {\n draft.splitterPercent = splitterPercent;\n });\n }\n case \"PANEL_TOGGLE_SPAN\": {\n const { side } = action;\n return updatePanelState(state, side, (draft) => {\n draft.span = !draft.span;\n });\n }\n case \"PANEL_SET_PINNED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.pinned = action.pinned;\n });\n }\n case \"PANEL_TOGGLE_PINNED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.pinned = !draft.pinned;\n });\n }\n case \"PANEL_INITIALIZE\": {\n return updatePanelState(state, action.side, (draft) => {\n const size = getPanelSize(\n action.size,\n draft.side,\n draft.minSize,\n draft.maxSize,\n state.size\n );\n draft.size = size;\n });\n }\n case \"PANEL_WIDGET_DRAG_START\": {\n const { side, newFloatingWidgetId } = action;\n const panel = state.panels[side];\n const widgetIndex = panel.widgets.indexOf(action.id);\n const widget = getWidgetState(state, action.id);\n state = removePanelWidget(state, action.id);\n return addFloatingWidget(\n state,\n newFloatingWidgetId,\n widget.tabs,\n {\n bounds: Rectangle.create(action.bounds).toProps(),\n userSized: action.userSized,\n id: action.newFloatingWidgetId,\n home: {\n side: action.side,\n widgetId: \"\",\n widgetIndex,\n },\n },\n {\n ...widget,\n minimized: false,\n }\n );\n }\n case \"WIDGET_DRAG\": {\n const { floatingWidgetId, dragBy } = action;\n const floatingWidget = state.floatingWidgets.byId[floatingWidgetId];\n const newBounds = Rectangle.create(floatingWidget.bounds).offset(dragBy);\n return updateFloatingWidgetState(state, floatingWidgetId, {\n bounds: newBounds.toProps(),\n });\n }\n case \"WIDGET_DRAG_END\": {\n // TODO: handle duplicates in WIDGET_TAB_DRAG_END action\n const { target, floatingWidgetId } = action;\n const floatingWidget = state.floatingWidgets.byId[floatingWidgetId];\n const draggedWidget = getWidgetState(state, floatingWidgetId);\n\n if (isWindowDropTargetState(target)) {\n const nzBounds = Rectangle.createFromSize(state.size);\n let newBounds = Rectangle.create(floatingWidget.bounds);\n if (draggedWidget.minimized) {\n const containedBounds = newBounds.setHeight(35).containIn(nzBounds);\n newBounds = newBounds.setPosition(containedBounds.topLeft());\n } else {\n newBounds = newBounds.containIn(nzBounds);\n }\n state = updateFloatingWidgetState(state, floatingWidgetId, {\n bounds: newBounds.toProps(),\n });\n return floatingWidgetBringToFront(state, floatingWidgetId);\n }\n\n state = removeFloatingWidget(state, floatingWidgetId);\n if (isTabDropTargetState(target)) {\n state = updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n floatingWidget.home\n );\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabs = [...targetWidget.tabs];\n tabs.splice(target.tabIndex, 0, ...draggedWidget.tabs);\n state = updateWidgetState(state, target.widgetId, {\n tabs,\n });\n } else if (isSectionDropTargetState(target)) {\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets.splice(target.sectionIndex, 0, target.newWidgetId);\n draft.collapsed = false;\n });\n state = addWidgetState(\n state,\n target.newWidgetId,\n draggedWidget.tabs,\n draggedWidget\n );\n } else if (isWidgetDropTargetState(target)) {\n state = updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n floatingWidget.home\n );\n const widget = getWidgetLocation(state, target.widgetId);\n if (widget && isPanelWidgetLocation(widget)) {\n state = updatePanelState(state, widget.side, (draft) => {\n draft.collapsed = false;\n });\n }\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabs = [...targetWidget.tabs];\n tabs.splice(targetWidget.tabs.length, 0, ...draggedWidget.tabs);\n state = updateWidgetState(state, target.widgetId, {\n tabs,\n });\n } else {\n const panelSectionId = getWidgetPanelSectionId(target.side, 0);\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets = [panelSectionId];\n draft.collapsed = false;\n });\n state = addWidgetState(state, panelSectionId, draggedWidget.tabs, {\n ...draggedWidget,\n minimized: false,\n });\n }\n return state;\n }\n case \"FLOATING_WIDGET_RESIZE\": {\n const { resizeBy } = action;\n const widget = getWidgetState(state, action.id);\n\n const floatingWidget = state.floatingWidgets.byId[action.id];\n // if this is not a tool settings widget then set the userSized flag\n // istanbul ignore else\n if (!isToolSettingsFloatingWidget(state, action.id)) {\n state = updateFloatingWidgetState(state, action.id, {\n userSized: true,\n });\n }\n\n const minWidth = 200;\n const minHeight = 120;\n let newBounds = Rectangle.create(floatingWidget.bounds);\n\n // Resize top-left corner.\n const maxLeft = newBounds.right - minWidth;\n const maxTop = newBounds.bottom - minHeight;\n\n newBounds = newBounds.inset(-resizeBy.left, -resizeBy.top, 0, 0);\n const left = Math.min(maxLeft, newBounds.left);\n const top = Math.min(maxTop, newBounds.top);\n newBounds = new Rectangle(left, top, newBounds.right, newBounds.bottom);\n\n // Resize bottom-right corner.\n const minRight = newBounds.left + minWidth;\n const minBottom = newBounds.top + minHeight;\n\n newBounds = newBounds.inset(0, 0, -resizeBy.right, -resizeBy.bottom);\n const right = Math.max(minRight, newBounds.right);\n const bottom = Math.max(minBottom, newBounds.bottom);\n newBounds = new Rectangle(left, top, right, bottom);\n\n state = updateFloatingWidgetState(state, action.id, {\n bounds: newBounds,\n });\n\n const tab = state.tabs[widget.activeTabId];\n if (tab.isFloatingWidgetResizable) {\n const size = newBounds.getSize();\n state = updateTabState(state, widget.activeTabId, (draft) => {\n initSizeProps(draft, \"preferredFloatingWidgetSize\", size);\n draft.userSized = true;\n });\n }\n\n return state;\n }\n case \"FLOATING_WIDGET_SET_BOUNDS\": {\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(action.bounds).containIn(nzBounds);\n return updateFloatingWidgetState(state, action.id, {\n bounds: bounds.toProps(),\n });\n }\n case \"FLOATING_WIDGET_CLEAR_USER_SIZED\": {\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[action.id];\n floatingWidget.userSized = false;\n const widget = getWidgetState(draft, action.id);\n const tab = draft.tabs[widget.activeTabId];\n tab.userSized = false;\n });\n }\n case \"FLOATING_WIDGET_SET_USER_SIZED\": {\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[action.id];\n floatingWidget.userSized = action.userSized;\n });\n }\n case \"FLOATING_WIDGET_BRING_TO_FRONT\": {\n return floatingWidgetBringToFront(state, action.id);\n }\n case \"FLOATING_WIDGET_SEND_BACK\": {\n const widget = getWidgetState(state, action.id);\n const sendBackHomeState = getSendBackHomeState(state, action.id);\n\n // Add tabs to an existing widget.\n if (sendBackHomeState.widgetId) {\n const destinationWidget = state.widgets[sendBackHomeState.widgetId];\n const tabs = [...destinationWidget.tabs, ...widget.tabs];\n state = updateWidgetState(state, destinationWidget.id, {\n tabs,\n });\n return removeWidget(state, widget.id);\n }\n\n const sectionIndex = sendBackHomeState.sectionIndex ?? 0;\n const home = state.floatingWidgets.byId[action.id].home;\n const destinationWidgetId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(home.side, sectionIndex);\n\n // Add tabs to a new panel widget.\n state = removeWidget(state, widget.id);\n return insertPanelWidget(\n state,\n sendBackHomeState.side,\n destinationWidgetId,\n widget.tabs,\n sectionIndex\n );\n }\n case \"POPOUT_WIDGET_SEND_BACK\": {\n const popoutWidget = state.popoutWidgets.byId[action.id];\n const widget = getWidgetState(state, action.id);\n const home = popoutWidget.home;\n\n state = removeWidget(state, widget.id);\n\n // Determine existing widget.\n let existingWidget: WidgetState | undefined;\n if (home.widgetId in state.widgets) {\n existingWidget = state.widgets[home.widgetId];\n } else if (isPanelWidgetRestoreState(home)) {\n const panel = state.panels[home.side];\n const panelSectionId = getWidgetPanelSectionId(\n home.side,\n home.widgetIndex\n );\n existingWidget = state.widgets[panelSectionId];\n\n // Can not add additional sections, add to an existing one.\n if (!existingWidget && panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(\n panel.maxWidgetCount - 1,\n home.widgetIndex\n );\n const sectionId = panel.widgets[sectionIndex];\n existingWidget = state.widgets[sectionId];\n }\n }\n\n // Add to an existing widget.\n if (existingWidget) {\n const tabs = [...existingWidget.tabs, ...widget.tabs];\n return updateWidgetState(state, existingWidget.id, {\n tabs,\n });\n }\n\n // Insert a new panel section.\n if (isPanelWidgetRestoreState(home)) {\n const sectionId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(home.side, home.widgetIndex);\n return insertPanelWidget(\n state,\n home.side,\n sectionId,\n [...widget.tabs],\n home.widgetIndex\n );\n }\n\n // Add a new floating widget.\n return addFloatingWidget(\n state,\n home.widgetId,\n widget.tabs,\n home.floatingWidget\n );\n }\n case \"WIDGET_TAB_CLICK\": {\n const { id, widgetId } = action;\n state = setWidgetActiveTabId(state, widgetId, id);\n return updateWidgetState(state, widgetId, {\n minimized: false,\n });\n }\n case \"WIDGET_TAB_DOUBLE_CLICK\": {\n if (action.floatingWidgetId === undefined) return state;\n\n const widget = getWidgetState(state, action.widgetId);\n const active = action.id === widget.activeTabId;\n if (!active) return setWidgetActiveTabId(state, widget.id, action.id);\n\n return updateWidgetState(state, widget.id, {\n minimized: !widget.minimized,\n });\n }\n case \"WIDGET_TAB_DRAG_START\": {\n const tabId = action.id;\n let home: PanelWidgetRestoreState;\n if (action.floatingWidgetId) {\n const floatingWidget =\n state.floatingWidgets.byId[action.floatingWidgetId];\n home = floatingWidget.home;\n } else {\n assert(!!action.side);\n const panel = state.panels[action.side];\n const widgetIndex = panel.widgets.indexOf(action.widgetId);\n home = {\n side: action.side,\n widgetId: action.widgetId,\n widgetIndex,\n };\n }\n state = produce(state, (draft) => {\n draft.draggedTab = createDraggedTabState(tabId, {\n position: Point.create(action.position).toProps(),\n home,\n });\n });\n return removeTabFromWidget(state, tabId);\n }\n case \"WIDGET_TAB_DRAG\": {\n return produce(state, (draft) => {\n const draggedTab = draft.draggedTab;\n assert(!!draggedTab);\n const position = Point.create(draggedTab.position).offset(\n action.dragBy\n );\n setPointProps(draggedTab.position, position);\n });\n }\n case \"WIDGET_TAB_DRAG_END\": {\n assert(!!state.draggedTab);\n const target = action.target;\n if (isTabDropTargetState(target)) {\n state = updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n state.draggedTab.home\n );\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabIndex = target.tabIndex;\n const tabs = [...targetWidget.tabs];\n tabs.splice(tabIndex, 0, action.id);\n state = updateWidgetState(state, targetWidget.id, {\n tabs,\n });\n } else if (isPanelDropTargetState(target)) {\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets.push(target.newWidgetId);\n draft.collapsed = false;\n });\n state = addWidgetState(state, target.newWidgetId, [action.id]);\n } else if (isSectionDropTargetState(target)) {\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets.splice(target.sectionIndex, 0, target.newWidgetId);\n draft.collapsed = false;\n });\n state = addWidgetState(state, target.newWidgetId, [action.id]);\n } else if (isWidgetDropTargetState(target)) {\n updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n state.draggedTab.home\n );\n const widget = getWidgetLocation(state, target.widgetId);\n if (widget && isPanelWidgetLocation(widget)) {\n state = updatePanelState(state, widget.side, (draft) => {\n draft.collapsed = false;\n });\n }\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabIndex = targetWidget.tabs.length;\n const tabs = [...targetWidget.tabs];\n tabs.splice(tabIndex, 0, action.id);\n state = updateWidgetState(state, targetWidget.id, {\n tabs,\n });\n } else {\n const tab = state.tabs[state.draggedTab.tabId];\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.createFromSize(\n tab.preferredFloatingWidgetSize || target.size\n ).offset(state.draggedTab.position);\n const containedBounds = bounds.containIn(nzBounds);\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n\n state = addFloatingWidget(\n state,\n target.newFloatingWidgetId,\n [action.id],\n {\n bounds: containedBounds,\n home: state.draggedTab.home,\n userSized,\n }\n );\n }\n return produce(state, (draft) => {\n draft.draggedTab = undefined;\n });\n }\n case \"WIDGET_TAB_POPOUT\": {\n const { id, position, size } = action;\n const location = getTabLocation(state, id);\n if (location && isPopoutTabLocation(location)) return state;\n\n const savedTab = state.savedTabs.byId[id];\n\n const tab = state.tabs[id];\n\n let contentHeight = 800;\n let contentWidth = 600;\n\n if (tab.preferredFloatingWidgetSize) {\n contentWidth = tab.preferredFloatingWidgetSize.width;\n contentHeight = tab.preferredFloatingWidgetSize.height;\n } else {\n const popoutContentContainer = document.getElementById(\n `content-container:${id}`\n );\n if (popoutContentContainer !== null) {\n contentWidth = popoutContentContainer.offsetWidth + 20;\n contentHeight = popoutContentContainer.offsetHeight + 20;\n }\n }\n\n let preferredBounds = savedTab?.popoutBounds\n ? Rectangle.create(savedTab.popoutBounds)\n : Rectangle.createFromSize({\n height: contentHeight,\n width: contentWidth,\n });\n if (size) preferredBounds = preferredBounds.setSize(size);\n if (position) preferredBounds = preferredBounds.setPosition(position);\n\n const popoutWidgetId = getUniqueId();\n let home: PopoutWidgetState[\"home\"] | undefined;\n if (location && isPanelTabLocation(location)) {\n const panel = state.panels[location.side];\n const widgetIndex = panel.widgets.indexOf(location.widgetId);\n home = {\n side: location.side,\n widgetId: location.widgetId,\n widgetIndex,\n };\n } else if (location && isFloatingTabLocation(location)) {\n const floatingWidget =\n state.floatingWidgets.byId[location.floatingWidgetId];\n home = {\n widgetId: floatingWidget.id,\n floatingWidget,\n };\n }\n\n state = removeTabFromWidget(state, id);\n return addPopoutWidget(state, popoutWidgetId, [id], {\n bounds: preferredBounds.toProps(),\n home,\n });\n }\n case \"WIDGET_TAB_HIDE\": {\n return hideTab(state, action.id);\n }\n case \"WIDGET_TAB_REMOVE\": {\n // Save tab state.\n state = hideTab(state, action.id);\n // Remove tab.\n return removeTab(state, action.id);\n }\n case \"WIDGET_TAB_SET_LABEL\": {\n return updateTabState(state, action.id, (draft) => {\n draft.label = action.label;\n });\n }\n case \"WIDGET_TAB_OPEN\": {\n return openWidgetTab(state, action.id);\n }\n case \"WIDGET_TAB_CLOSE\": {\n const { id } = action;\n if (\n state.toolSettings?.tabId === id &&\n state.toolSettings.type === \"docked\"\n ) {\n return state;\n }\n\n let location: TabLocation;\n [state, location] = unhideTab(state, id);\n\n // TODO: should change activeTabId of a widget with multiple tabs.\n const widget = state.widgets[location.widgetId];\n // istanbul ignore else\n if (isFloatingTabLocation(location) && id === widget.activeTabId) {\n state = updateWidgetState(state, widget.id, {\n minimized: true,\n });\n }\n return state;\n }\n case \"WIDGET_TAB_FLOAT\": {\n const { id, position, size } = action;\n\n let location: TabLocation;\n [state, location] = unhideTab(state, id);\n\n if (isFloatingTabLocation(location)) return state;\n\n const tab = state.tabs[id];\n const preferredSize = size ??\n tab.preferredFloatingWidgetSize ?? { height: 400, width: 400 };\n const preferredPosition = position ?? { x: 50, y: 100 };\n const preferredBounds =\n Rectangle.createFromSize(preferredSize).offset(preferredPosition);\n const nzBounds = Rectangle.createFromSize(state.size);\n const containedBounds = preferredBounds.containIn(nzBounds);\n\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n\n if (isPanelTabLocation(location)) {\n const panel = state.panels[location.side];\n const widgetIndex = panel.widgets.indexOf(location.widgetId);\n\n state = updateTabState(state, id, (draft) => {\n initSizeProps(draft, \"preferredFloatingWidgetSize\", preferredSize);\n });\n state = removeTabFromWidget(state, id);\n state = addFloatingWidget(state, id, [id], {\n bounds: containedBounds,\n home: {\n side: location.side,\n widgetId: location.widgetId,\n widgetIndex,\n },\n userSized,\n });\n } else {\n const popoutWidgetId = location.popoutWidgetId;\n const popoutWidget = state.popoutWidgets.byId[popoutWidgetId];\n const widget = state.widgets[popoutWidgetId];\n state = removePopoutWidget(state, popoutWidgetId);\n\n const bounds = popoutWidget.bounds;\n const home = popoutWidget.home;\n\n state = addFloatingWidget(\n state,\n popoutWidgetId,\n [id],\n {\n bounds,\n home: isPanelWidgetRestoreState(home)\n ? home\n : home.floatingWidget.home,\n },\n widget\n );\n }\n\n const isToolSettings = state.toolSettings?.tabId === id;\n if (isToolSettings) {\n state = produce(state, (draft) => {\n assert(!!draft.toolSettings);\n draft.toolSettings.type = \"widget\";\n });\n }\n\n return state;\n }\n case \"WIDGET_TAB_SET_POPOUT_BOUNDS\": {\n return updateSavedTabState(state, action.id, (draft) => {\n initRectangleProps(draft, \"popoutBounds\", action.bounds);\n });\n }\n case \"WIDGET_TAB_SHOW\": {\n return showWidgetTab(state, action.id);\n }\n case \"WIDGET_TAB_UNLOAD\": {\n state = hideTab(state, action.id);\n return updateTabState(state, action.id, (draft) => {\n draft.unloaded = true;\n });\n }\n case \"WIDGET_TAB_EXPAND\": {\n state = showWidgetTab(state, action.id);\n const location = getTabLocation(state, action.id);\n // istanbul ignore else\n if (location && isPanelTabLocation(location)) {\n state = updatePanelState(state, location.side, (draft) => {\n draft.splitterPercent =\n draft.widgets.findIndex((wId) => wId === location.widgetId) === 0\n ? 100\n : 0;\n });\n }\n return state;\n }\n case \"WIDGET_TAB_UPDATE\": {\n return updateTabState(state, action.id, (draft) => {\n for (const [key, val] of Object.entries(action.overrides)) {\n (draft as any)[key] = val;\n }\n });\n }\n case \"TOOL_SETTINGS_DRAG_START\": {\n if (!state.toolSettings) return state;\n if (state.toolSettings.type === \"widget\") return state;\n\n const { newFloatingWidgetId } = action;\n const tabId = state.toolSettings.tabId;\n\n const tab = state.tabs[tabId];\n const size = tab.preferredFloatingWidgetSize || {\n height: 200,\n width: 300,\n };\n state = addFloatingWidget(state, newFloatingWidgetId, [tabId], {\n bounds: Rectangle.createFromSize(size).toProps(),\n });\n return produce(state, (draft) => {\n assert(!!draft.toolSettings);\n draft.toolSettings.type = \"widget\";\n });\n }\n case \"TOOL_SETTINGS_DOCK\": {\n if (!state.toolSettings) return state;\n if (state.toolSettings.type === \"docked\") return state;\n\n state = removeTabFromWidget(state, state.toolSettings.tabId);\n return produce(state, (draft) => {\n assert(!!draft.toolSettings);\n draft.toolSettings.type = \"docked\";\n });\n }\n case \"WIDGET_DEF_ADD\": {\n state = addTab(state, action.id, action.overrides);\n\n const savedTab = state.savedTabs.byId[action.id];\n if (savedTab) {\n // Restore to saved state.\n return addRemovedTab(state, action.id);\n }\n\n // Add to a floating widget.\n if (action.location === \"floating\") {\n // Add to an existing floating widget.\n if (action.floatingWidget.id in state.widgets) {\n return addTabToWidget(state, action.id, action.floatingWidget.id);\n }\n\n const size = action.overrides?.preferredFloatingWidgetSize ?? {\n height: 200,\n width: 300,\n };\n const position = action.floatingWidget.preferredPosition ?? {\n x: (state.size.width - size.width) / 2,\n y: (state.size.height - size.height) / 2,\n };\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.createFromSize(size).offset(position);\n const containedBounds = bounds.containIn(nzBounds);\n\n const userSized = !!action.overrides?.preferredFloatingWidgetSize;\n return addFloatingWidget(state, action.floatingWidget.id, [action.id], {\n bounds: containedBounds.toProps(),\n home: {\n side: action.panelSection.side,\n widgetId: action.panelSection.id,\n widgetIndex: 0,\n },\n userSized,\n });\n }\n\n // Add to a panel section.\n const side = action.panelSection.side;\n // Add to an existing panel section.\n if (action.panelSection.id in state.widgets) {\n return addTabToWidget(state, action.id, action.panelSection.id);\n }\n\n const panel = state.panels[side];\n // Add to a new panel section.\n if (panel.widgets.length < panel.maxWidgetCount) {\n return addPanelWidget(state, side, action.panelSection.id, [action.id]);\n }\n\n // Can't add additional sections, add to an existing one.\n const sectionIndex = Math.min(\n action.panelSection.index,\n panel.widgets.length - 1\n );\n const existingSectionId = panel.widgets[sectionIndex];\n return addTabToWidget(state, action.id, existingSectionId);\n }\n case \"WIDGET_DEF_ADD_TOOL_SETTINGS\": {\n state = addTab(state, action.id, action.overrides);\n return addDockedToolSettings(state, action.id);\n }\n }\n return state;\n}\n\nfunction openWidgetTab(state: NineZoneState, id: TabState[\"id\"]) {\n if (\n state.toolSettings?.tabId === id &&\n state.toolSettings.type === \"docked\"\n ) {\n return produce(state, (draft) => {\n assert(draft.toolSettings!.type === \"docked\");\n draft.toolSettings!.hidden = false;\n });\n }\n\n let location: TabLocation;\n [state, location] = unhideTab(state, id);\n\n return produce(state, (draft) => {\n const widget = draft.widgets[location.widgetId];\n widget.minimized = false;\n widget.activeTabId = id;\n\n if (isPanelTabLocation(location)) {\n const panel = draft.panels[location.side];\n panel.collapsed = false;\n // istanbul ignore next\n if (undefined === panel.size || 0 === panel.size) {\n panel.size = panel.minSize ?? 200;\n }\n }\n });\n}\n\nfunction showWidgetTab(state: NineZoneState, id: TabState[\"id\"]) {\n state = openWidgetTab(state, id);\n const location = getTabLocation(state, id);\n if (!location) return state;\n state = updateWidgetState(state, location.widgetId, {\n activeTabId: id,\n minimized: false,\n });\n if (isPanelTabLocation(location)) {\n state = updatePanelState(state, location.side, (draft) => {\n draft.collapsed = false;\n });\n }\n if (isFloatingTabLocation(location)) {\n state = floatingWidgetBringToFront(state, location.floatingWidgetId);\n }\n return state;\n}\n\nfunction unhideTab(state: NineZoneState, id: TabState[\"id\"]) {\n let location = getTabLocation(state, id);\n if (!location) {\n state = addRemovedTab(state, id);\n location = getTabLocation(state, id);\n assert(!!location);\n }\n state = updateTabState(state, id, (draft) => {\n draft.unloaded = false;\n });\n return [state, location] as const;\n}\n\nfunction hideTab(state: NineZoneState, id: TabState[\"id\"]) {\n state = produce(state, (draft) => {\n if (!draft.toolSettings) return;\n\n const isToolSettings = draft.toolSettings.tabId === id;\n if (isToolSettings && draft.toolSettings.type === \"docked\") {\n draft.toolSettings.hidden = true;\n }\n });\n\n state = updateTabState(state, id, (draft) => {\n draft.unloaded = false;\n });\n\n const location = getTabLocation(state, id);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const tabIndex = state.widgets[widgetId].tabs.indexOf(id);\n if (isFloatingTabLocation(location)) {\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n // widgetDef.setFloatingContainerId(location.floatingWidgetId);\n state = updateSavedTabState(state, id, (draft) => {\n draft.home = {\n widgetId,\n tabIndex,\n floatingWidget,\n };\n });\n } else if (isPanelTabLocation(location)) {\n const side = location.side;\n const widgetIndex = state.panels[side].widgets.indexOf(widgetId);\n state = updateSavedTabState(state, id, (draft) => {\n draft.home = {\n widgetId,\n side,\n widgetIndex,\n tabIndex,\n };\n });\n }\n\n return removeTabFromWidget(state, id);\n}\n"]}
1
+ {"version":3,"file":"NineZoneStateReducer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/state/NineZoneStateReducer.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 } from \"immer\";\nimport { Point, Rectangle } from \"@itwin/core-react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { TabState } from \"./TabState\";\nimport { getWidgetLocation, isPanelWidgetLocation } from \"./WidgetLocation\";\nimport type { NineZoneAction } from \"./NineZoneAction\";\nimport {\n isPanelDropTargetState,\n isSectionDropTargetState,\n isTabDropTargetState,\n isWidgetDropTargetState,\n isWindowDropTargetState,\n} from \"./DropTargetState\";\nimport { getWidgetPanelSectionId } from \"./PanelState\";\nimport type { NineZoneState } from \"./NineZoneState\";\nimport type { PopoutWidgetState, WidgetState } from \"./WidgetState\";\nimport {\n addPanelWidget,\n getPanelSize,\n insertPanelWidget,\n updatePanelState,\n} from \"./internal/PanelStateHelpers\";\nimport {\n addRemovedTab,\n addTab,\n addTabToWidget,\n createDraggedTabState,\n removeTab,\n removeTabFromWidget,\n updateSavedTabState,\n updateTabState,\n} from \"./internal/TabStateHelpers\";\nimport {\n initRectangleProps,\n initSizeProps,\n isToolSettingsFloatingWidget,\n setPointProps,\n setSizeProps,\n updateHomeOfToolSettingsWidget,\n} from \"./internal/NineZoneStateHelpers\";\nimport {\n addFloatingWidget,\n addPopoutWidget,\n addWidgetState,\n floatingWidgetBringToFront,\n getWidgetState,\n removeFloatingWidget,\n removePanelWidget,\n removePopoutWidget,\n removeWidget,\n setWidgetActiveTabId,\n updateFloatingWidgetState,\n updateWidgetState,\n} from \"./internal/WidgetStateHelpers\";\nimport { getSendBackHomeState } from \"../widget/SendBack\";\nimport { panelSides } from \"../widget-panels/Panel\";\nimport type { TabLocation } from \"./TabLocation\";\nimport {\n getTabLocation,\n isFloatingTabLocation,\n isPanelTabLocation,\n isPopoutTabLocation,\n} from \"./TabLocation\";\nimport { getUniqueId } from \"../base/NineZone\";\nimport {\n isPanelWidgetRestoreState,\n type PanelWidgetRestoreState,\n} from \"./WidgetRestoreState\";\nimport { addDockedToolSettings } from \"./internal/ToolSettingsStateHelpers\";\n\n/** @internal */\nexport function NineZoneStateReducer(\n state: NineZoneState,\n action: NineZoneAction\n): NineZoneState {\n switch (action.type) {\n case \"RESIZE\": {\n state = produce(state, (draft) => {\n setSizeProps(draft.size, action.size);\n });\n const nzBounds = Rectangle.createFromSize(action.size);\n for (const id of state.floatingWidgets.allIds) {\n const floatingWidget = state.floatingWidgets.byId[id];\n const bounds = Rectangle.create(floatingWidget.bounds);\n const containedBounds = bounds.containIn(nzBounds);\n state = updateFloatingWidgetState(state, id, {\n bounds: containedBounds.toProps(),\n });\n }\n for (const side of panelSides) {\n state = updatePanelState(state, side, (draft) => {\n const size = getPanelSize(\n draft.size,\n side,\n draft.minSize,\n draft.maxSize,\n state.size\n );\n draft.size = size;\n });\n }\n return state;\n }\n case \"PANEL_TOGGLE_COLLAPSED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.collapsed = !draft.collapsed;\n });\n }\n case \"PANEL_SET_COLLAPSED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.collapsed = action.collapsed;\n });\n }\n case \"PANEL_SET_SIZE\": {\n const { side, size: preferredSize } = action;\n\n return updatePanelState(state, side, (draft) => {\n const size = getPanelSize(\n preferredSize,\n draft.side,\n draft.minSize,\n draft.maxSize,\n state.size\n );\n draft.size = size;\n });\n }\n case \"PANEL_SET_MIN_SIZE\": {\n return updatePanelState(state, action.side, (draft) => {\n const size = getPanelSize(\n draft.size,\n draft.side,\n action.minSize,\n draft.maxSize,\n state.size\n );\n\n draft.minSize = action.minSize;\n draft.size = size;\n });\n }\n case \"PANEL_SET_MAX_SIZE\": {\n return updatePanelState(state, action.side, (draft) => {\n const size = getPanelSize(\n draft.size,\n draft.side,\n draft.minSize,\n action.maxSize,\n state.size\n );\n\n draft.maxSize = action.maxSize;\n draft.size = size;\n });\n }\n case \"PANEL_SET_RESIZABLE\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.resizable = action.resizable;\n });\n }\n case \"PANEL_SET_SPLITTER_VALUE\": {\n const splitterPercent = Math.min(Math.max(action.percent, 0), 100);\n return updatePanelState(state, action.side, (draft) => {\n draft.splitterPercent = splitterPercent;\n });\n }\n case \"PANEL_TOGGLE_SPAN\": {\n const { side } = action;\n return updatePanelState(state, side, (draft) => {\n draft.span = !draft.span;\n });\n }\n case \"PANEL_SET_PINNED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.pinned = action.pinned;\n });\n }\n case \"PANEL_TOGGLE_PINNED\": {\n return updatePanelState(state, action.side, (draft) => {\n draft.pinned = !draft.pinned;\n });\n }\n case \"PANEL_INITIALIZE\": {\n return updatePanelState(state, action.side, (draft) => {\n const size = getPanelSize(\n action.size,\n draft.side,\n draft.minSize,\n draft.maxSize,\n state.size\n );\n draft.size = size;\n });\n }\n case \"PANEL_WIDGET_DRAG_START\": {\n const { side, newFloatingWidgetId } = action;\n const panel = state.panels[side];\n const widgetIndex = panel.widgets.indexOf(action.id);\n const widget = getWidgetState(state, action.id);\n state = removePanelWidget(state, action.id);\n return addFloatingWidget(\n state,\n newFloatingWidgetId,\n widget.tabs,\n {\n bounds: Rectangle.create(action.bounds).toProps(),\n userSized: action.userSized,\n id: action.newFloatingWidgetId,\n home: {\n side: action.side,\n widgetId: \"\",\n widgetIndex,\n },\n },\n {\n ...widget,\n minimized: false,\n }\n );\n }\n case \"WIDGET_DRAG\": {\n const { floatingWidgetId, dragBy } = action;\n const floatingWidget = state.floatingWidgets.byId[floatingWidgetId];\n const newBounds = Rectangle.create(floatingWidget.bounds).offset(dragBy);\n return updateFloatingWidgetState(state, floatingWidgetId, {\n bounds: newBounds.toProps(),\n });\n }\n case \"WIDGET_DRAG_END\": {\n // TODO: handle duplicates in WIDGET_TAB_DRAG_END action\n const { target, floatingWidgetId } = action;\n const floatingWidget = state.floatingWidgets.byId[floatingWidgetId];\n const draggedWidget = getWidgetState(state, floatingWidgetId);\n\n if (isWindowDropTargetState(target)) {\n const nzBounds = Rectangle.createFromSize(state.size);\n let newBounds = Rectangle.create(floatingWidget.bounds);\n if (draggedWidget.minimized) {\n const containedBounds = newBounds.setHeight(35).containIn(nzBounds);\n newBounds = newBounds.setPosition(containedBounds.topLeft());\n } else {\n newBounds = newBounds.containIn(nzBounds);\n }\n state = updateFloatingWidgetState(state, floatingWidgetId, {\n bounds: newBounds.toProps(),\n });\n return floatingWidgetBringToFront(state, floatingWidgetId);\n }\n\n state = removeFloatingWidget(state, floatingWidgetId);\n if (isTabDropTargetState(target)) {\n state = updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n floatingWidget.home\n );\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabs = [...targetWidget.tabs];\n tabs.splice(target.tabIndex, 0, ...draggedWidget.tabs);\n state = updateWidgetState(state, target.widgetId, {\n tabs,\n });\n } else if (isSectionDropTargetState(target)) {\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets.splice(target.sectionIndex, 0, target.newWidgetId);\n draft.collapsed = false;\n });\n state = addWidgetState(\n state,\n target.newWidgetId,\n draggedWidget.tabs,\n draggedWidget\n );\n } else if (isWidgetDropTargetState(target)) {\n state = updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n floatingWidget.home\n );\n const widget = getWidgetLocation(state, target.widgetId);\n if (widget && isPanelWidgetLocation(widget)) {\n state = updatePanelState(state, widget.side, (draft) => {\n draft.collapsed = false;\n });\n }\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabs = [...targetWidget.tabs];\n tabs.splice(targetWidget.tabs.length, 0, ...draggedWidget.tabs);\n state = updateWidgetState(state, target.widgetId, {\n tabs,\n });\n } else {\n const panelSectionId = getWidgetPanelSectionId(target.side, 0);\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets = [panelSectionId];\n draft.collapsed = false;\n });\n state = addWidgetState(state, panelSectionId, draggedWidget.tabs, {\n ...draggedWidget,\n minimized: false,\n });\n }\n return state;\n }\n case \"FLOATING_WIDGET_RESIZE\": {\n const { resizeBy } = action;\n const widget = getWidgetState(state, action.id);\n\n const floatingWidget = state.floatingWidgets.byId[action.id];\n // if this is not a tool settings widget then set the userSized flag\n // istanbul ignore else\n if (!isToolSettingsFloatingWidget(state, action.id)) {\n state = updateFloatingWidgetState(state, action.id, {\n userSized: true,\n });\n }\n\n const minWidth = 200;\n const minHeight = 120;\n let newBounds = Rectangle.create(floatingWidget.bounds);\n\n // Resize top-left corner.\n const maxLeft = newBounds.right - minWidth;\n const maxTop = newBounds.bottom - minHeight;\n\n newBounds = newBounds.inset(-resizeBy.left, -resizeBy.top, 0, 0);\n const left = Math.min(maxLeft, newBounds.left);\n const top = Math.min(maxTop, newBounds.top);\n newBounds = new Rectangle(left, top, newBounds.right, newBounds.bottom);\n\n // Resize bottom-right corner.\n const minRight = newBounds.left + minWidth;\n const minBottom = newBounds.top + minHeight;\n\n newBounds = newBounds.inset(0, 0, -resizeBy.right, -resizeBy.bottom);\n const right = Math.max(minRight, newBounds.right);\n const bottom = Math.max(minBottom, newBounds.bottom);\n newBounds = new Rectangle(left, top, right, bottom);\n\n state = updateFloatingWidgetState(state, action.id, {\n bounds: newBounds,\n });\n\n const tab = state.tabs[widget.activeTabId];\n if (tab.isFloatingWidgetResizable) {\n const size = newBounds.getSize();\n state = updateTabState(state, widget.activeTabId, (draft) => {\n initSizeProps(draft, \"preferredFloatingWidgetSize\", size);\n draft.userSized = true;\n });\n }\n\n return state;\n }\n case \"FLOATING_WIDGET_SET_BOUNDS\": {\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.create(action.bounds).containIn(nzBounds);\n return updateFloatingWidgetState(state, action.id, {\n bounds: bounds.toProps(),\n });\n }\n case \"FLOATING_WIDGET_CLEAR_USER_SIZED\": {\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[action.id];\n floatingWidget.userSized = false;\n const widget = getWidgetState(draft, action.id);\n const tab = draft.tabs[widget.activeTabId];\n tab.userSized = false;\n });\n }\n case \"FLOATING_WIDGET_SET_USER_SIZED\": {\n return produce(state, (draft) => {\n const floatingWidget = draft.floatingWidgets.byId[action.id];\n floatingWidget.userSized = action.userSized;\n });\n }\n case \"FLOATING_WIDGET_BRING_TO_FRONT\": {\n return floatingWidgetBringToFront(state, action.id);\n }\n case \"FLOATING_WIDGET_SEND_BACK\": {\n const widget = getWidgetState(state, action.id);\n const sendBackHomeState = getSendBackHomeState(state, action.id);\n\n // Add tabs to an existing widget.\n if (sendBackHomeState.widgetId) {\n const destinationWidget = state.widgets[sendBackHomeState.widgetId];\n const tabs = [...destinationWidget.tabs, ...widget.tabs];\n state = updateWidgetState(state, destinationWidget.id, {\n tabs,\n });\n return removeWidget(state, widget.id);\n }\n\n const sectionIndex = sendBackHomeState.sectionIndex ?? 0;\n const home = state.floatingWidgets.byId[action.id].home;\n const destinationWidgetId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(home.side, sectionIndex);\n\n // Add tabs to a new panel widget.\n state = removeWidget(state, widget.id);\n return insertPanelWidget(\n state,\n sendBackHomeState.side,\n destinationWidgetId,\n widget.tabs,\n sectionIndex\n );\n }\n case \"POPOUT_WIDGET_SEND_BACK\": {\n const popoutWidget = state.popoutWidgets.byId[action.id];\n const widget = getWidgetState(state, action.id);\n const home = popoutWidget.home;\n\n state = removeWidget(state, widget.id);\n\n // Determine existing widget.\n let existingWidget: WidgetState | undefined;\n if (home.widgetId in state.widgets) {\n existingWidget = state.widgets[home.widgetId];\n } else if (isPanelWidgetRestoreState(home)) {\n const panel = state.panels[home.side];\n const panelSectionId = getWidgetPanelSectionId(\n home.side,\n home.widgetIndex\n );\n existingWidget = state.widgets[panelSectionId];\n\n // Can not add additional sections, add to an existing one.\n if (!existingWidget && panel.widgets.length >= panel.maxWidgetCount) {\n const sectionIndex = Math.min(\n panel.maxWidgetCount - 1,\n home.widgetIndex\n );\n const sectionId = panel.widgets[sectionIndex];\n existingWidget = state.widgets[sectionId];\n }\n }\n\n // Add to an existing widget.\n if (existingWidget) {\n const tabs = [...existingWidget.tabs, ...widget.tabs];\n return updateWidgetState(state, existingWidget.id, {\n tabs,\n });\n }\n\n // Insert a new panel section.\n if (isPanelWidgetRestoreState(home)) {\n const sectionId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(home.side, home.widgetIndex);\n return insertPanelWidget(\n state,\n home.side,\n sectionId,\n [...widget.tabs],\n home.widgetIndex\n );\n }\n\n // Add a new floating widget.\n return addFloatingWidget(\n state,\n home.widgetId,\n widget.tabs,\n home.floatingWidget\n );\n }\n case \"WIDGET_TAB_CLICK\": {\n const { id, widgetId } = action;\n state = setWidgetActiveTabId(state, widgetId, id);\n return updateWidgetState(state, widgetId, {\n minimized: false,\n });\n }\n case \"WIDGET_TAB_DOUBLE_CLICK\": {\n if (action.floatingWidgetId === undefined) return state;\n\n const widget = getWidgetState(state, action.widgetId);\n const active = action.id === widget.activeTabId;\n if (!active) return setWidgetActiveTabId(state, widget.id, action.id);\n\n return updateWidgetState(state, widget.id, {\n minimized: !widget.minimized,\n });\n }\n case \"WIDGET_TAB_DRAG_START\": {\n const tabId = action.id;\n let home: PanelWidgetRestoreState;\n if (action.floatingWidgetId) {\n const floatingWidget =\n state.floatingWidgets.byId[action.floatingWidgetId];\n home = floatingWidget.home;\n } else {\n assert(!!action.side);\n const panel = state.panels[action.side];\n const widgetIndex = panel.widgets.indexOf(action.widgetId);\n home = {\n side: action.side,\n widgetId: action.widgetId,\n widgetIndex,\n };\n }\n state = produce(state, (draft) => {\n draft.draggedTab = createDraggedTabState(tabId, {\n position: Point.create(action.position).toProps(),\n home,\n });\n });\n return removeTabFromWidget(state, tabId);\n }\n case \"WIDGET_TAB_DRAG\": {\n return produce(state, (draft) => {\n const draggedTab = draft.draggedTab;\n assert(!!draggedTab);\n const position = Point.create(draggedTab.position).offset(\n action.dragBy\n );\n setPointProps(draggedTab.position, position);\n });\n }\n case \"WIDGET_TAB_DRAG_END\": {\n assert(!!state.draggedTab);\n const target = action.target;\n if (isTabDropTargetState(target)) {\n state = updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n state.draggedTab.home\n );\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabIndex = target.tabIndex;\n const tabs = [...targetWidget.tabs];\n tabs.splice(tabIndex, 0, action.id);\n state = updateWidgetState(state, targetWidget.id, {\n tabs,\n });\n } else if (isPanelDropTargetState(target)) {\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets.push(target.newWidgetId);\n draft.collapsed = false;\n });\n state = addWidgetState(state, target.newWidgetId, [action.id]);\n } else if (isSectionDropTargetState(target)) {\n state = updatePanelState(state, target.side, (draft) => {\n draft.widgets.splice(target.sectionIndex, 0, target.newWidgetId);\n draft.collapsed = false;\n });\n state = addWidgetState(state, target.newWidgetId, [action.id]);\n } else if (isWidgetDropTargetState(target)) {\n updateHomeOfToolSettingsWidget(\n state,\n target.widgetId,\n state.draggedTab.home\n );\n const widget = getWidgetLocation(state, target.widgetId);\n if (widget && isPanelWidgetLocation(widget)) {\n state = updatePanelState(state, widget.side, (draft) => {\n draft.collapsed = false;\n });\n }\n const targetWidget = getWidgetState(state, target.widgetId);\n const tabIndex = targetWidget.tabs.length;\n const tabs = [...targetWidget.tabs];\n tabs.splice(tabIndex, 0, action.id);\n state = updateWidgetState(state, targetWidget.id, {\n tabs,\n });\n } else {\n const tab = state.tabs[state.draggedTab.tabId];\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.createFromSize(\n tab.preferredFloatingWidgetSize || target.size\n ).offset(state.draggedTab.position);\n const containedBounds = bounds.containIn(nzBounds);\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n\n state = addFloatingWidget(\n state,\n target.newFloatingWidgetId,\n [action.id],\n {\n bounds: containedBounds,\n home: state.draggedTab.home,\n userSized,\n }\n );\n }\n return produce(state, (draft) => {\n draft.draggedTab = undefined;\n });\n }\n case \"WIDGET_TAB_POPOUT\": {\n const { id, position, size } = action;\n const location = getTabLocation(state, id);\n if (location && isPopoutTabLocation(location)) return state;\n\n const savedTab = state.savedTabs.byId[id];\n\n const tab = state.tabs[id];\n\n let contentHeight = 800;\n let contentWidth = 600;\n\n if (tab.preferredFloatingWidgetSize) {\n contentWidth = tab.preferredFloatingWidgetSize.width;\n contentHeight = tab.preferredFloatingWidgetSize.height;\n } else {\n const popoutContentContainer = document.getElementById(\n `content-container:${id}`\n );\n if (popoutContentContainer !== null) {\n contentWidth = popoutContentContainer.offsetWidth + 20;\n contentHeight = popoutContentContainer.offsetHeight + 20;\n }\n }\n\n let preferredBounds = savedTab?.popoutBounds\n ? Rectangle.create(savedTab.popoutBounds)\n : Rectangle.createFromSize({\n height: contentHeight,\n width: contentWidth,\n });\n if (size) preferredBounds = preferredBounds.setSize(size);\n if (position) preferredBounds = preferredBounds.setPosition(position);\n\n const popoutWidgetId = getUniqueId();\n let home: PopoutWidgetState[\"home\"] | undefined;\n if (location && isPanelTabLocation(location)) {\n const panel = state.panels[location.side];\n const widgetIndex = panel.widgets.indexOf(location.widgetId);\n home = {\n side: location.side,\n widgetId: location.widgetId,\n widgetIndex,\n };\n } else if (location && isFloatingTabLocation(location)) {\n const floatingWidget =\n state.floatingWidgets.byId[location.floatingWidgetId];\n home = {\n widgetId: floatingWidget.id,\n floatingWidget,\n };\n }\n\n state = removeTabFromWidget(state, id);\n return addPopoutWidget(state, popoutWidgetId, [id], {\n bounds: preferredBounds.toProps(),\n home,\n });\n }\n case \"WIDGET_TAB_HIDE\": {\n return hideTab(state, action.id);\n }\n case \"WIDGET_TAB_REMOVE\": {\n // Save tab state.\n state = hideTab(state, action.id);\n // Remove tab.\n return removeTab(state, action.id);\n }\n case \"WIDGET_TAB_SET_LABEL\": {\n return updateTabState(state, action.id, (draft) => {\n draft.label = action.label;\n });\n }\n case \"WIDGET_TAB_OPEN\": {\n return openWidgetTab(state, action.id);\n }\n case \"WIDGET_TAB_CLOSE\": {\n const { id } = action;\n if (\n state.toolSettings?.tabId === id &&\n state.toolSettings.type === \"docked\"\n ) {\n return state;\n }\n\n let location: TabLocation;\n [state, location] = unhideTab(state, id);\n\n // TODO: should change activeTabId of a widget with multiple tabs.\n const widget = state.widgets[location.widgetId];\n // istanbul ignore else\n if (isFloatingTabLocation(location) && id === widget.activeTabId) {\n state = updateWidgetState(state, widget.id, {\n minimized: true,\n });\n }\n return state;\n }\n case \"WIDGET_TAB_FLOAT\": {\n const { id, position, size } = action;\n\n let location: TabLocation;\n [state, location] = unhideTab(state, id);\n\n if (isFloatingTabLocation(location)) return state;\n\n const tab = state.tabs[id];\n const preferredSize = size ??\n tab.preferredFloatingWidgetSize ?? { height: 400, width: 400 };\n const preferredPosition = position ?? { x: 50, y: 100 };\n const preferredBounds =\n Rectangle.createFromSize(preferredSize).offset(preferredPosition);\n const nzBounds = Rectangle.createFromSize(state.size);\n const containedBounds = preferredBounds.containIn(nzBounds);\n\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n\n if (isPanelTabLocation(location)) {\n const panel = state.panels[location.side];\n const widgetIndex = panel.widgets.indexOf(location.widgetId);\n\n state = updateTabState(state, id, (draft) => {\n initSizeProps(draft, \"preferredFloatingWidgetSize\", preferredSize);\n });\n state = removeTabFromWidget(state, id);\n state = addFloatingWidget(state, id, [id], {\n bounds: containedBounds,\n home: {\n side: location.side,\n widgetId: location.widgetId,\n widgetIndex,\n },\n userSized,\n });\n } else {\n const popoutWidgetId = location.popoutWidgetId;\n const popoutWidget = state.popoutWidgets.byId[popoutWidgetId];\n const widget = state.widgets[popoutWidgetId];\n state = removePopoutWidget(state, popoutWidgetId);\n\n const bounds = popoutWidget.bounds;\n const home = popoutWidget.home;\n\n state = addFloatingWidget(\n state,\n popoutWidgetId,\n [id],\n {\n bounds,\n home: isPanelWidgetRestoreState(home)\n ? home\n : home.floatingWidget.home,\n },\n widget\n );\n }\n\n const isToolSettings = state.toolSettings?.tabId === id;\n if (isToolSettings) {\n state = produce(state, (draft) => {\n assert(!!draft.toolSettings);\n draft.toolSettings.type = \"widget\";\n });\n }\n\n return state;\n }\n case \"WIDGET_TAB_SET_POPOUT_BOUNDS\": {\n return updateSavedTabState(state, action.id, (draft) => {\n initRectangleProps(draft, \"popoutBounds\", action.bounds);\n });\n }\n case \"WIDGET_TAB_SHOW\": {\n return showWidgetTab(state, action.id);\n }\n case \"WIDGET_TAB_UNLOAD\": {\n state = hideTab(state, action.id);\n return updateTabState(state, action.id, (draft) => {\n draft.unloaded = true;\n });\n }\n case \"WIDGET_TAB_EXPAND\": {\n state = showWidgetTab(state, action.id);\n const location = getTabLocation(state, action.id);\n // istanbul ignore else\n if (location && isPanelTabLocation(location)) {\n state = updatePanelState(state, location.side, (draft) => {\n draft.splitterPercent =\n draft.widgets.findIndex((wId) => wId === location.widgetId) === 0\n ? 100\n : 0;\n });\n }\n return state;\n }\n case \"WIDGET_TAB_UPDATE\": {\n return updateTabState(state, action.id, (draft) => {\n for (const [key, val] of Object.entries(action.overrides)) {\n (draft as any)[key] = val;\n }\n });\n }\n case \"TOOL_SETTINGS_DRAG_START\": {\n if (!state.toolSettings) return state;\n if (state.toolSettings.type === \"widget\") return state;\n\n const { newFloatingWidgetId } = action;\n const tabId = state.toolSettings.tabId;\n\n const tab = state.tabs[tabId];\n const size = tab.preferredFloatingWidgetSize || {\n height: 200,\n width: 300,\n };\n state = addFloatingWidget(state, newFloatingWidgetId, [tabId], {\n bounds: Rectangle.createFromSize(size).toProps(),\n });\n return produce(state, (draft) => {\n assert(!!draft.toolSettings);\n draft.toolSettings.type = \"widget\";\n });\n }\n case \"TOOL_SETTINGS_DOCK\": {\n if (!state.toolSettings) return state;\n if (state.toolSettings.type === \"docked\") return state;\n\n state = removeTabFromWidget(state, state.toolSettings.tabId);\n return produce(state, (draft) => {\n assert(!!draft.toolSettings);\n draft.toolSettings.type = \"docked\";\n });\n }\n case \"WIDGET_DEF_ADD\": {\n state = addTab(state, action.id, action.overrides);\n\n const savedTab = state.savedTabs.byId[action.id];\n if (savedTab) {\n // Restore to saved state.\n return addRemovedTab(state, action.id);\n }\n\n // Add to a floating widget.\n if (action.location === \"floating\") {\n // Add to an existing floating widget.\n if (action.floatingWidget.id in state.widgets) {\n return addTabToWidget(state, action.id, action.floatingWidget.id);\n }\n\n const size = action.overrides?.preferredFloatingWidgetSize ?? {\n height: 200,\n width: 300,\n };\n const position = action.floatingWidget.preferredPosition ?? {\n x: (state.size.width - size.width) / 2,\n y: (state.size.height - size.height) / 2,\n };\n const nzBounds = Rectangle.createFromSize(state.size);\n const bounds = Rectangle.createFromSize(size).offset(position);\n const containedBounds = bounds.containIn(nzBounds);\n\n const userSized = !!action.overrides?.preferredFloatingWidgetSize;\n return addFloatingWidget(state, action.floatingWidget.id, [action.id], {\n bounds: containedBounds.toProps(),\n home: {\n side: action.panelSection.side,\n widgetId: action.panelSection.id,\n widgetIndex: 0,\n },\n userSized,\n });\n }\n\n // Add to a panel section.\n const side = action.panelSection.side;\n // Add to an existing panel section.\n if (action.panelSection.id in state.widgets) {\n return addTabToWidget(state, action.id, action.panelSection.id);\n }\n\n const panel = state.panels[side];\n // Add to a new panel section.\n if (panel.widgets.length < panel.maxWidgetCount) {\n return addPanelWidget(state, side, action.panelSection.id, [action.id]);\n }\n\n // Can't add additional sections, add to an existing one.\n const sectionIndex = Math.min(\n action.panelSection.index,\n panel.widgets.length - 1\n );\n const existingSectionId = panel.widgets[sectionIndex];\n return addTabToWidget(state, action.id, existingSectionId);\n }\n case \"WIDGET_DEF_ADD_TOOL_SETTINGS\": {\n state = addTab(state, action.id, action.overrides);\n return addDockedToolSettings(state, action.id);\n }\n }\n return state;\n}\n\nfunction openWidgetTab(state: NineZoneState, id: TabState[\"id\"]) {\n if (\n state.toolSettings?.tabId === id &&\n state.toolSettings.type === \"docked\"\n ) {\n return produce(state, (draft) => {\n assert(draft.toolSettings!.type === \"docked\");\n draft.toolSettings!.hidden = false;\n });\n }\n\n let location: TabLocation;\n [state, location] = unhideTab(state, id);\n\n return produce(state, (draft) => {\n const widget = draft.widgets[location.widgetId];\n widget.minimized = false;\n widget.activeTabId = id;\n\n if (isPanelTabLocation(location)) {\n const panel = draft.panels[location.side];\n panel.collapsed = false;\n // istanbul ignore next\n if (undefined === panel.size || 0 === panel.size) {\n panel.size = panel.minSize ?? 200;\n }\n }\n });\n}\n\nfunction showWidgetTab(state: NineZoneState, id: TabState[\"id\"]) {\n state = openWidgetTab(state, id);\n const location = getTabLocation(state, id);\n if (!location) return state;\n state = updateWidgetState(state, location.widgetId, {\n activeTabId: id,\n minimized: false,\n });\n if (isPanelTabLocation(location)) {\n state = updatePanelState(state, location.side, (draft) => {\n draft.collapsed = false;\n });\n }\n if (isFloatingTabLocation(location)) {\n state = floatingWidgetBringToFront(state, location.floatingWidgetId);\n }\n return state;\n}\n\nfunction unhideTab(state: NineZoneState, id: TabState[\"id\"]) {\n let location = getTabLocation(state, id);\n if (!location) {\n state = addRemovedTab(state, id);\n location = getTabLocation(state, id);\n assert(!!location);\n }\n state = updateTabState(state, id, (draft) => {\n draft.unloaded = false;\n });\n return [state, location] as const;\n}\n\nfunction hideTab(state: NineZoneState, id: TabState[\"id\"]) {\n state = produce(state, (draft) => {\n if (!draft.toolSettings) return;\n\n const isToolSettings = draft.toolSettings.tabId === id;\n if (isToolSettings && draft.toolSettings.type === \"docked\") {\n draft.toolSettings.hidden = true;\n }\n });\n\n state = updateTabState(state, id, (draft) => {\n draft.unloaded = false;\n });\n\n const location = getTabLocation(state, id);\n if (!location) return state;\n\n const widgetId = location.widgetId;\n const tabIndex = state.widgets[widgetId].tabs.indexOf(id);\n if (isFloatingTabLocation(location)) {\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n // widgetDef.setFloatingContainerId(location.floatingWidgetId);\n state = updateSavedTabState(state, id, (draft) => {\n draft.home = {\n widgetId,\n tabIndex,\n floatingWidget,\n };\n });\n } else if (isPanelTabLocation(location)) {\n const side = location.side;\n const widgetIndex = state.panels[side].widgets.indexOf(widgetId);\n state = updateSavedTabState(state, id, (draft) => {\n draft.home = {\n widgetId,\n side,\n widgetIndex,\n tabIndex,\n };\n });\n }\n\n return removeTabFromWidget(state, id);\n}\n"]}
@@ -71,8 +71,9 @@ export function initRectangleProps(obj, key, rectangle) {
71
71
  }
72
72
  /** @internal */
73
73
  export function isToolSettingsFloatingWidget(state, id) {
74
+ var _a;
74
75
  const widget = getWidgetState(state, id);
75
- const toolSettingsTabId = state.toolSettings?.tabId;
76
+ const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
76
77
  return (widget.tabs.length === 1 &&
77
78
  widget.tabs[0] === toolSettingsTabId &&
78
79
  id in state.floatingWidgets.byId);
@@ -1 +1 @@
1
- {"version":3,"file":"NineZoneStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/NineZoneStateHelpers.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 type { Draft } from \"immer\";\nimport type { RectangleProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle } from \"@itwin/core-react\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type { FloatingWidgetState } from \"../WidgetState\";\nimport {\n getWidgetState,\n updateFloatingWidgetState,\n} from \"./WidgetStateHelpers\";\n\n/** Same as XAndY from core-geometry, but reproduced here to avoid a breaking peer dependency change.\n * @internal\n */\nexport interface XAndY {\n readonly x: number;\n readonly y: number;\n}\n\n/** @internal */\nexport const category = \"appui-react:layout\";\n\n/** Helper that returns a plain object. Prevents from adding an instance that is not `immerable` to the state.\n * @internal\n */\nexport function toRectangleProps(\n rectangle: RectangleProps | undefined\n): RectangleProps {\n if (rectangle) {\n return {\n bottom: rectangle.bottom,\n left: rectangle.left,\n right: rectangle.right,\n top: rectangle.top,\n };\n }\n return new Rectangle().toProps();\n}\n\n/** @internal */\nexport function setRectangleProps(\n props: Draft<RectangleProps>,\n bounds: RectangleProps\n) {\n props.left = bounds.left;\n props.right = bounds.right;\n props.top = bounds.top;\n props.bottom = bounds.bottom;\n}\n\n/** @internal */\nexport function setPointProps(props: Draft<XAndY>, point: XAndY) {\n props.x = point.x;\n props.y = point.y;\n}\n\n/** @internal */\nexport function setSizeProps(props: Draft<SizeProps>, size: SizeProps) {\n props.height = size.height;\n props.width = size.width;\n}\n\ntype KeysOfType<T, Type> = {\n [K in keyof T]: T[K] extends Type ? K : never;\n}[keyof T];\n\n/** @internal */\nexport function initSizeProps<\n T,\n K extends KeysOfType<T, SizeProps | undefined>\n>(obj: T, key: K, size: SizeProps | undefined) {\n if (obj[key] && size) {\n setSizeProps(obj[key] as unknown as SizeProps, size);\n return;\n }\n (obj[key] as unknown as SizeProps | undefined) = size\n ? {\n height: size.height,\n width: size.width,\n }\n : undefined;\n}\n\n/** @internal */\nexport function initRectangleProps<\n T,\n K extends KeysOfType<T, RectangleProps | undefined>\n>(obj: T, key: K, rectangle: T[K]) {\n const rect = rectangle as unknown as RectangleProps | undefined;\n if (obj[key] && rect) {\n setRectangleProps(obj[key] as unknown as RectangleProps, rect);\n return;\n }\n (obj[key] as unknown as RectangleProps | undefined) = rect\n ? {\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n }\n : undefined;\n}\n\n/** @internal */\nexport function isToolSettingsFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"]\n) {\n const widget = getWidgetState(state, id);\n const toolSettingsTabId = state.toolSettings?.tabId;\n return (\n widget.tabs.length === 1 &&\n widget.tabs[0] === toolSettingsTabId &&\n id in state.floatingWidgets.byId\n );\n}\n\n/** @internal */\nexport function updateHomeOfToolSettingsWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n home: FloatingWidgetState[\"home\"]\n): NineZoneState {\n if (!isToolSettingsFloatingWidget(state, id)) return state;\n\n return updateFloatingWidgetState(state, id, {\n home,\n });\n}\n"]}
1
+ {"version":3,"file":"NineZoneStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/NineZoneStateHelpers.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 type { Draft } from \"immer\";\nimport type { RectangleProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle } from \"@itwin/core-react\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type { FloatingWidgetState } from \"../WidgetState\";\nimport {\n getWidgetState,\n updateFloatingWidgetState,\n} from \"./WidgetStateHelpers\";\n\n/** Same as XAndY from core-geometry, but reproduced here to avoid a breaking peer dependency change.\n * @internal\n */\nexport interface XAndY {\n readonly x: number;\n readonly y: number;\n}\n\n/** @internal */\nexport const category = \"appui-react:layout\";\n\n/** Helper that returns a plain object. Prevents from adding an instance that is not `immerable` to the state.\n * @internal\n */\nexport function toRectangleProps(\n rectangle: RectangleProps | undefined\n): RectangleProps {\n if (rectangle) {\n return {\n bottom: rectangle.bottom,\n left: rectangle.left,\n right: rectangle.right,\n top: rectangle.top,\n };\n }\n return new Rectangle().toProps();\n}\n\n/** @internal */\nexport function setRectangleProps(\n props: Draft<RectangleProps>,\n bounds: RectangleProps\n) {\n props.left = bounds.left;\n props.right = bounds.right;\n props.top = bounds.top;\n props.bottom = bounds.bottom;\n}\n\n/** @internal */\nexport function setPointProps(props: Draft<XAndY>, point: XAndY) {\n props.x = point.x;\n props.y = point.y;\n}\n\n/** @internal */\nexport function setSizeProps(props: Draft<SizeProps>, size: SizeProps) {\n props.height = size.height;\n props.width = size.width;\n}\n\ntype KeysOfType<T, Type> = {\n [K in keyof T]: T[K] extends Type ? K : never;\n}[keyof T];\n\n/** @internal */\nexport function initSizeProps<\n T,\n K extends KeysOfType<T, SizeProps | undefined>\n>(obj: T, key: K, size: SizeProps | undefined) {\n if (obj[key] && size) {\n setSizeProps(obj[key] as unknown as SizeProps, size);\n return;\n }\n (obj[key] as unknown as SizeProps | undefined) = size\n ? {\n height: size.height,\n width: size.width,\n }\n : undefined;\n}\n\n/** @internal */\nexport function initRectangleProps<\n T,\n K extends KeysOfType<T, RectangleProps | undefined>\n>(obj: T, key: K, rectangle: T[K]) {\n const rect = rectangle as unknown as RectangleProps | undefined;\n if (obj[key] && rect) {\n setRectangleProps(obj[key] as unknown as RectangleProps, rect);\n return;\n }\n (obj[key] as unknown as RectangleProps | undefined) = rect\n ? {\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n }\n : undefined;\n}\n\n/** @internal */\nexport function isToolSettingsFloatingWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"]\n) {\n const widget = getWidgetState(state, id);\n const toolSettingsTabId = state.toolSettings?.tabId;\n return (\n widget.tabs.length === 1 &&\n widget.tabs[0] === toolSettingsTabId &&\n id in state.floatingWidgets.byId\n );\n}\n\n/** @internal */\nexport function updateHomeOfToolSettingsWidget(\n state: NineZoneState,\n id: FloatingWidgetState[\"id\"],\n home: FloatingWidgetState[\"home\"]\n): NineZoneState {\n if (!isToolSettingsFloatingWidget(state, id)) return state;\n\n return updateFloatingWidgetState(state, id, {\n home,\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelStateHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoBlD,gBAAgB;AAChB,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,iBAAiB,EACvB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,kBAAkB,CAMpB;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EACzB,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACnC,oBAAoB,CAQtB;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAQ1E;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,WAAW,EAC1D,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,iBAMvD;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,iBAAiB,UAO3B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAC9B,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,EAClC,OAAO,EAAE,SAAS,sBAMnB;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAChC,aAAa,CAEf;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAChC,aAAa,CAaf"}
1
+ {"version":3,"file":"PanelStateHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAoBlD,gBAAgB;AAChB,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,iBAAiB,EACvB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACjC,kBAAkB,CAMpB;AAED,gBAAgB;AAChB,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,mBAAmB,EACzB,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACnC,oBAAoB,CAQtB;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAQ1E;AAED,gBAAgB;AAChB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,WAAW,EAC1D,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,iBAMvD;AAED,gBAAgB;AAChB,wBAAgB,eAAe,CAC7B,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,iBAAiB,UAO3B;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,EAC9B,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,EAClC,OAAO,EAAE,SAAS,sBAMnB;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAChC,aAAa,CAEf;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EACrB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EACzB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAChC,aAAa,CAcf"}
@@ -84,6 +84,7 @@ export function insertPanelWidget(state, side, id, tabs, sectionIndex, widgetArg
84
84
  const panel = state.panels[side];
85
85
  const maxWidgetCount = panel.maxWidgetCount;
86
86
  if (panel.widgets.length >= maxWidgetCount)
87
+ // eslint-disable-next-line deprecation/deprecation
87
88
  throw new UiError(category, "Max widget count exceeded", undefined, () => ({
88
89
  maxWidgetCount,
89
90
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"PanelStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.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 { UiError } from \"@itwin/appui-abstract\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport produce from \"immer\";\nimport type { WritableDraft } from \"immer/dist/types/types-external\";\nimport { isHorizontalPanelSide } from \"../../widget-panels/Panel\";\nimport type {\n HorizontalPanelSide,\n PanelSide,\n VerticalPanelSide,\n} from \"../../widget-panels/PanelTypes\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type {\n HorizontalPanelState,\n PanelMaxSizeState,\n PanelsState,\n PanelState,\n VerticalPanelState,\n} from \"../PanelState\";\nimport type { WidgetState } from \"../WidgetState\";\nimport { category } from \"./NineZoneStateHelpers\";\nimport { addWidgetState } from \"./WidgetStateHelpers\";\n\nfunction createPanelState(side: PanelSide) {\n return {\n collapseOffset: 100,\n collapsed: false,\n maxSize: 600,\n minSize: 200,\n pinned: true,\n resizable: true,\n side,\n size: undefined,\n widgets: [],\n maxWidgetCount: 2,\n splitterPercent: 50,\n };\n}\n\n/** @internal */\nexport function createVerticalPanelState(\n side: VerticalPanelSide,\n args?: Partial<VerticalPanelState>\n): VerticalPanelState {\n return {\n ...createPanelState(side),\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createHorizontalPanelState(\n side: HorizontalPanelSide,\n args?: Partial<HorizontalPanelState>\n): HorizontalPanelState {\n return {\n ...createPanelState(side),\n minSize: 100,\n span: true,\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createPanelsState(args?: Partial<PanelsState>): PanelsState {\n return {\n bottom: createHorizontalPanelState(\"bottom\"),\n left: createVerticalPanelState(\"left\"),\n right: createVerticalPanelState(\"right\"),\n top: createHorizontalPanelState(\"top\"),\n ...args,\n };\n}\n\n/** @internal */\nexport function updatePanelState<K extends keyof PanelsState>(\n state: NineZoneState,\n side: K,\n update: (draft: WritableDraft<PanelsState>[K]) => void\n) {\n return produce(state, (draft) => {\n const panel = draft.panels[side];\n update(panel);\n });\n}\n\n/** @internal */\nexport function getPanelMaxSize(\n side: PanelSide,\n appSize: SizeProps,\n maxSize: PanelMaxSizeState\n) {\n if (typeof maxSize === \"number\") {\n return maxSize;\n }\n const size = isHorizontalPanelSide(side) ? appSize.height : appSize.width;\n return (maxSize.percentage / 100) * size;\n}\n\n/** @internal */\nexport function getPanelSize(\n preferredSize: number | undefined,\n side: PanelSide,\n minSize: PanelState[\"minSize\"],\n maxSizeSpec: PanelState[\"maxSize\"],\n appSize: SizeProps\n) {\n if (preferredSize === undefined) return undefined;\n\n const maxSize = getPanelMaxSize(side, appSize, maxSizeSpec);\n return Math.min(Math.max(preferredSize, minSize), maxSize);\n}\n\n/** @internal */\nexport function addPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n return insertPanelWidget(state, side, id, tabs, Infinity, widgetArgs);\n}\n\n/** @internal */\nexport function insertPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n sectionIndex: number,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n const panel = state.panels[side];\n const maxWidgetCount = panel.maxWidgetCount;\n if (panel.widgets.length >= maxWidgetCount)\n throw new UiError(category, \"Max widget count exceeded\", undefined, () => ({\n maxWidgetCount,\n }));\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (draft) => {\n const widgets = draft.panels[side].widgets;\n widgets.splice(sectionIndex, 0, id);\n });\n}\n"]}
1
+ {"version":3,"file":"PanelStateHelpers.js","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/PanelStateHelpers.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 { UiError } from \"@itwin/appui-abstract\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport produce from \"immer\";\nimport type { WritableDraft } from \"immer/dist/types/types-external\";\nimport { isHorizontalPanelSide } from \"../../widget-panels/Panel\";\nimport type {\n HorizontalPanelSide,\n PanelSide,\n VerticalPanelSide,\n} from \"../../widget-panels/PanelTypes\";\nimport type { NineZoneState } from \"../NineZoneState\";\nimport type {\n HorizontalPanelState,\n PanelMaxSizeState,\n PanelsState,\n PanelState,\n VerticalPanelState,\n} from \"../PanelState\";\nimport type { WidgetState } from \"../WidgetState\";\nimport { category } from \"./NineZoneStateHelpers\";\nimport { addWidgetState } from \"./WidgetStateHelpers\";\n\nfunction createPanelState(side: PanelSide) {\n return {\n collapseOffset: 100,\n collapsed: false,\n maxSize: 600,\n minSize: 200,\n pinned: true,\n resizable: true,\n side,\n size: undefined,\n widgets: [],\n maxWidgetCount: 2,\n splitterPercent: 50,\n };\n}\n\n/** @internal */\nexport function createVerticalPanelState(\n side: VerticalPanelSide,\n args?: Partial<VerticalPanelState>\n): VerticalPanelState {\n return {\n ...createPanelState(side),\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createHorizontalPanelState(\n side: HorizontalPanelSide,\n args?: Partial<HorizontalPanelState>\n): HorizontalPanelState {\n return {\n ...createPanelState(side),\n minSize: 100,\n span: true,\n ...args,\n side,\n };\n}\n\n/** @internal */\nexport function createPanelsState(args?: Partial<PanelsState>): PanelsState {\n return {\n bottom: createHorizontalPanelState(\"bottom\"),\n left: createVerticalPanelState(\"left\"),\n right: createVerticalPanelState(\"right\"),\n top: createHorizontalPanelState(\"top\"),\n ...args,\n };\n}\n\n/** @internal */\nexport function updatePanelState<K extends keyof PanelsState>(\n state: NineZoneState,\n side: K,\n update: (draft: WritableDraft<PanelsState>[K]) => void\n) {\n return produce(state, (draft) => {\n const panel = draft.panels[side];\n update(panel);\n });\n}\n\n/** @internal */\nexport function getPanelMaxSize(\n side: PanelSide,\n appSize: SizeProps,\n maxSize: PanelMaxSizeState\n) {\n if (typeof maxSize === \"number\") {\n return maxSize;\n }\n const size = isHorizontalPanelSide(side) ? appSize.height : appSize.width;\n return (maxSize.percentage / 100) * size;\n}\n\n/** @internal */\nexport function getPanelSize(\n preferredSize: number | undefined,\n side: PanelSide,\n minSize: PanelState[\"minSize\"],\n maxSizeSpec: PanelState[\"maxSize\"],\n appSize: SizeProps\n) {\n if (preferredSize === undefined) return undefined;\n\n const maxSize = getPanelMaxSize(side, appSize, maxSizeSpec);\n return Math.min(Math.max(preferredSize, minSize), maxSize);\n}\n\n/** @internal */\nexport function addPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n return insertPanelWidget(state, side, id, tabs, Infinity, widgetArgs);\n}\n\n/** @internal */\nexport function insertPanelWidget(\n state: NineZoneState,\n side: PanelSide,\n id: WidgetState[\"id\"],\n tabs: WidgetState[\"tabs\"],\n sectionIndex: number,\n widgetArgs?: Partial<WidgetState>\n): NineZoneState {\n const panel = state.panels[side];\n const maxWidgetCount = panel.maxWidgetCount;\n if (panel.widgets.length >= maxWidgetCount)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(category, \"Max widget count exceeded\", undefined, () => ({\n maxWidgetCount,\n }));\n\n state = addWidgetState(state, id, tabs, widgetArgs);\n return produce(state, (draft) => {\n const widgets = draft.panels[side].widgets;\n widgets.splice(sectionIndex, 0, id);\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TabStateHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/TabStateHelpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvB,QAAQ,CAOV;AAED,gBAAgB;AAChB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAC9B,eAAe,CAWjB;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,iBASjD;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,IAAI,iBAiBtD;AAED;;GAEG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC1B,aAAa,CASf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,GAC1B,aAAa,CAEf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,EAC3B,QAAQ,EAAE,MAAM,GACf,aAAa,CAmBf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GACpB,aAAa,CAqBf;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GACpB,aAAa,CAWf;AASD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GACpB,aAAa,CA+Cf"}
1
+ {"version":3,"file":"TabStateHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/appui-react/layout/state/internal/TabStateHelpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvB,QAAQ,CAOV;AAED,gBAAgB;AAChB,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAC9B,eAAe,CAWjB;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,IAAI,iBASjD;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,KAAK,IAAI,iBAiBtD;AAED;;GAEG;AACH,wBAAgB,MAAM,CACpB,KAAK,EAAE,aAAa,EACpB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC1B,aAAa,CAUf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,GAC1B,aAAa,CAEf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,EAC3B,QAAQ,EAAE,MAAM,GACf,aAAa,CAqBf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GACpB,aAAa,CAqBf;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GACpB,aAAa,CAYf;AASD;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GACpB,aAAa,CAgDf"}
@@ -68,6 +68,7 @@ export function updateSavedTabState(state, id, update) {
68
68
  * @internal
69
69
  */
70
70
  export function addTab(state, id, tabArgs) {
71
+ // eslint-disable-next-line deprecation/deprecation
71
72
  if (id in state.tabs)
72
73
  throw new UiError(category, "Tab already exists");
73
74
  const tab = {
@@ -89,12 +90,14 @@ export function addTabToWidget(state, tabId, widgetId) {
89
90
  */
90
91
  export function insertTabToWidget(state, tabId, widgetId, tabIndex) {
91
92
  if (!(tabId in state.tabs))
93
+ // eslint-disable-next-line deprecation/deprecation
92
94
  throw new UiError(category, "Tab does not exist", undefined, () => ({
93
95
  tabId,
94
96
  }));
95
97
  assertWidgetState(state, widgetId);
96
98
  const location = getTabLocation(state, tabId);
97
99
  if (location)
100
+ // eslint-disable-next-line deprecation/deprecation
98
101
  throw new UiError(category, "Tab is already in a widget", undefined, () => ({ tabId, widgetId: location.widgetId }));
99
102
  return produce(state, (draft) => {
100
103
  const widget = getWidgetState(draft, widgetId);
@@ -127,12 +130,14 @@ export function removeTabFromWidget(state, tabId) {
127
130
  * @internal
128
131
  */
129
132
  export function removeTab(state, tabId) {
133
+ // eslint-disable-next-line deprecation/deprecation
130
134
  if (!(tabId in state.tabs))
131
135
  throw new UiError(category, "Tab does not exist");
132
136
  state = removeTabFromWidget(state, tabId);
133
137
  return produce(state, (draft) => {
138
+ var _a;
134
139
  delete draft.tabs[tabId];
135
- if (draft.toolSettings?.tabId === tabId) {
140
+ if (((_a = draft.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId) === tabId) {
136
141
  draft.toolSettings = undefined;
137
142
  }
138
143
  });
@@ -148,11 +153,12 @@ const defaultHomeState = {
148
153
  */
149
154
  export function addRemovedTab(state, tabId) {
150
155
  if (!(tabId in state.tabs))
156
+ // eslint-disable-next-line deprecation/deprecation
151
157
  throw new UiError(category, "Tab does not exist", undefined, () => ({
152
158
  tabId,
153
159
  }));
154
160
  const savedTab = state.savedTabs.byId[tabId];
155
- const home = savedTab?.home || defaultHomeState;
161
+ const home = (savedTab === null || savedTab === void 0 ? void 0 : savedTab.home) || defaultHomeState;
156
162
  const { tabIndex, widgetId } = home;
157
163
  // Add to an existing widget (by widget id).
158
164
  if (widgetId in state.widgets) {