@itwin/appui-react 4.12.0 → 4.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1009) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +4 -1
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +13 -14
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/UiFramework.json +1 -1
  7. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/Calculator.js +3 -1
  9. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  13. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  15. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  16. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposer.js +2 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
  20. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  21. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  22. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  24. package/lib/cjs/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  25. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  26. package/lib/cjs/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +11 -5
  27. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  28. package/lib/{esm/appui-react/childwindow/PopoutWidget.scss → cjs/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  32. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  35. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  36. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +5 -18
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  40. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  41. package/lib/cjs/appui-react/content/ContentControl.d.ts +2 -0
  42. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentControl.js +1 -0
  44. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  45. package/lib/cjs/appui-react/content/ContentLayout.d.ts +2 -0
  46. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  47. package/lib/cjs/appui-react/content/ContentLayout.js +14 -14
  48. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  49. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  50. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  51. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts +2 -2
  52. package/lib/cjs/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -3
  54. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  55. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/content/IModelViewport.js +7 -8
  57. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  58. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  59. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts +5 -5
  61. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/content/InternalContentViewManager.js +5 -7
  63. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  64. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
  65. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  66. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts +2 -0
  67. package/lib/cjs/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/cursor/CursorInformation.js +2 -0
  69. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  70. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  72. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  73. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  75. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  76. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  77. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +4 -24
  79. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  80. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  82. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  83. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/dialog/ContentDialog.js +8 -7
  85. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  86. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  87. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +6 -3
  89. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  90. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  91. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  92. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -2
  93. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  94. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  95. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  96. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +2 -2
  97. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  98. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  99. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  100. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  101. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  102. package/lib/cjs/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  103. package/lib/cjs/appui-react/dialog/ModelessDialog.js +3 -1
  104. package/lib/cjs/appui-react/dialog/ModelessDialog.js.map +1 -1
  105. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  106. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  107. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  108. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts +2 -0
  109. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/feedback/ElementTooltip.js +6 -2
  111. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  112. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts +5 -0
  113. package/lib/cjs/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  114. package/lib/cjs/appui-react/framework/FrameworkContent.js +4 -0
  115. package/lib/cjs/appui-react/framework/FrameworkContent.js.map +1 -1
  116. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  117. package/lib/cjs/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  118. package/lib/cjs/appui-react/framework/FrameworkDialogs.js +4 -0
  119. package/lib/cjs/appui-react/framework/FrameworkDialogs.js.map +1 -1
  120. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  121. package/lib/cjs/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js +8 -0
  123. package/lib/cjs/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  124. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  125. package/lib/cjs/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  126. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js +1 -0
  127. package/lib/cjs/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +23 -23
  130. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  132. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +45 -50
  134. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  136. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -5
  137. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  138. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  139. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  141. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +1 -0
  142. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  143. package/lib/cjs/appui-react/hooks/useActiveStageId.js +2 -1
  144. package/lib/cjs/appui-react/hooks/useActiveStageId.js.map +1 -1
  145. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  146. package/lib/cjs/appui-react/hooks/useActiveViewport.js +2 -0
  147. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  148. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  149. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  150. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  151. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  152. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  153. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  154. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  155. package/lib/cjs/appui-react/hooks/useUiVisibility.js +1 -0
  156. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  157. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  158. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  159. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  162. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  163. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  164. package/lib/cjs/appui-react/layout/base/DragManager.js +1 -2
  165. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  166. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  167. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  168. package/lib/cjs/appui-react/layout/footer/_variables.scss +0 -2
  169. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  170. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  171. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  172. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  173. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  174. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  175. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  176. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  177. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  178. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  180. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  181. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  182. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  183. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +2 -2
  184. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  185. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +3 -13
  186. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +2 -2
  187. package/lib/cjs/appui-react/layout/tool-settings/Setting.js +1 -1
  188. package/lib/cjs/appui-react/layout/tool-settings/Setting.js.map +1 -1
  189. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -2
  190. package/lib/cjs/appui-react/layout/widget/Button.d.ts +3 -2
  191. package/lib/cjs/appui-react/layout/widget/Button.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/layout/widget/Button.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +1 -1
  194. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +3 -3
  196. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/layout/widget/ContentManager.js +7 -1
  198. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  199. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  200. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  201. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +5 -6
  202. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  203. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +2 -4
  204. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  205. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  206. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  207. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  208. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  210. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  211. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  212. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +5 -8
  214. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  216. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  217. package/lib/cjs/appui-react/messages/InputField.js +2 -1
  218. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  219. package/lib/cjs/appui-react/messages/MessageManager.d.ts +12 -0
  220. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  221. package/lib/cjs/appui-react/messages/MessageManager.js +18 -10
  222. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  223. package/lib/cjs/appui-react/messages/MessageRenderer.js +7 -8
  224. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  225. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -0
  226. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/messages/Pointer.js +7 -9
  228. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  229. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  230. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  231. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js +1 -0
  232. package/lib/cjs/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  233. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  234. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  235. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  236. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  237. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  239. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  240. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/pickers/ListPicker.js +3 -1
  242. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  243. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts +2 -0
  244. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  245. package/lib/cjs/appui-react/pickers/ViewSelector.js +8 -13
  246. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  247. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  248. package/lib/cjs/appui-react/popup/CardPopup.js +2 -3
  249. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  250. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/popup/ComponentPopup.js +1 -1
  252. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
  253. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  254. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  255. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  256. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  257. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  258. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +7 -4
  259. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  260. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  261. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  262. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  263. package/lib/cjs/appui-react/popup/PopupManager.d.ts +5 -1
  264. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  265. package/lib/cjs/appui-react/popup/PopupManager.js +24 -24
  266. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  267. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  268. package/lib/cjs/appui-react/popup/PositionPopup.js +1 -0
  269. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  270. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  271. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  273. package/lib/cjs/appui-react/popup/ToolbarPopup.js +2 -3
  274. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  275. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +7 -0
  276. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  277. package/lib/cjs/appui-react/preview/PreviewFeatures.js +2 -1
  278. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  279. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  280. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  281. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  282. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  283. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  284. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  285. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  286. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  287. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +1 -1
  288. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -1
  289. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  290. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  291. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  292. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  293. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  294. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  295. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  296. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +40 -0
  297. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  298. package/lib/{esm/appui-react/layout/footer/message-center/_variables.scss → cjs/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  299. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  300. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  301. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +25 -0
  302. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  303. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  304. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  305. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +26 -0
  306. package/lib/cjs/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  307. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  308. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  309. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +45 -0
  310. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  311. package/lib/cjs/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  312. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  313. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  314. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +28 -0
  315. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  316. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  317. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  318. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +18 -0
  319. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  320. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  321. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  322. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  323. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  324. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +8 -3
  326. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  327. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +1 -0
  329. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  330. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
  331. package/lib/cjs/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  332. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +15 -25
  333. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  334. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  335. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  336. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -3
  337. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  338. package/lib/cjs/appui-react/statusbar/StatusBar.js +21 -13
  339. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  340. package/lib/cjs/appui-react/statusbar/StatusBar.scss +18 -0
  341. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  342. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -0
  343. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  344. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  345. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +3 -1
  346. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  347. package/lib/cjs/appui-react/statusfields/SelectionScope.js +1 -1
  348. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  349. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +2 -2
  350. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  351. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  352. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +91 -0
  353. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  354. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  355. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  356. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  357. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js +28 -0
  358. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  359. package/lib/{esm/appui-react/layout/footer/message-center/Message.scss → cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  360. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +12 -6
  362. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  363. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  364. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  366. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  367. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  368. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  369. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  370. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  371. package/lib/cjs/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  372. package/lib/cjs/appui-react/syncui/UiSyncEvent.js +2 -0
  373. package/lib/cjs/appui-react/syncui/UiSyncEvent.js.map +1 -1
  374. package/lib/cjs/appui-react/theme/ThemeManager.js +2 -2
  375. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  376. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  377. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  378. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  379. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +2 -1
  380. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  381. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +7 -5
  382. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  383. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  384. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  385. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +10 -17
  386. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  387. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  388. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  389. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  390. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  391. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  392. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  393. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js +2 -1
  394. package/lib/cjs/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  395. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  396. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  397. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  398. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  399. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +3 -4
  400. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  401. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  402. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  403. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  404. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  405. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  406. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  407. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  408. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  409. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  410. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +7 -9
  411. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  412. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  414. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  415. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  416. package/lib/cjs/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  417. package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -0
  418. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  419. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +1 -0
  421. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  422. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  423. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  424. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  425. package/lib/cjs/appui-react/widget-panels/Content.js +11 -10
  426. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  427. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts +13 -0
  428. package/lib/cjs/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  429. package/lib/cjs/appui-react/widget-panels/DockedBar.js +18 -0
  430. package/lib/cjs/appui-react/widget-panels/DockedBar.js.map +1 -0
  431. package/lib/cjs/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  432. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  433. package/lib/cjs/appui-react/widget-panels/Frontstage.js +15 -18
  434. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  435. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  436. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  437. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts +0 -1
  438. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  439. package/lib/cjs/appui-react/widget-panels/StatusBar.js +2 -5
  440. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  441. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  442. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  443. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  444. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  445. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +28 -53
  446. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  447. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +4 -27
  448. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  449. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  450. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  451. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +2 -1
  452. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  453. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  455. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  456. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  457. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  458. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  459. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +2 -0
  460. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  461. package/lib/cjs/appui-react/widgets/WidgetDef.js +10 -11
  462. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  463. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  464. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  465. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts +1 -6
  466. package/lib/cjs/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/widgets/WidgetManager.js +2 -8
  468. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  469. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  470. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  471. package/lib/cjs/appui-react.d.ts +1 -1
  472. package/lib/cjs/appui-react.d.ts.map +1 -1
  473. package/lib/cjs/appui-react.js +1 -1
  474. package/lib/cjs/appui-react.js.map +1 -1
  475. package/lib/esm/appui-react/UiFramework.d.ts +4 -1
  476. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  477. package/lib/esm/appui-react/UiFramework.js +13 -14
  478. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  479. package/lib/esm/appui-react/UiFramework.json +1 -1
  480. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  481. package/lib/esm/appui-react/accudraw/Calculator.js +3 -1
  482. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  483. package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  484. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  485. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts +36 -12
  486. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  487. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +37 -19
  488. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  489. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  490. package/lib/esm/appui-react/backstage/BackstageComposer.js +2 -1
  491. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  492. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
  493. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  494. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts +8 -6
  495. package/lib/esm/appui-react/childwindow/ChildWindowConfig.d.ts.map +1 -1
  496. package/lib/esm/appui-react/childwindow/ChildWindowConfig.js.map +1 -1
  497. package/lib/esm/appui-react/childwindow/{PopoutWidget.d.ts → ChildWindowWidget.d.ts} +4 -4
  498. package/lib/esm/appui-react/childwindow/ChildWindowWidget.d.ts.map +1 -0
  499. package/lib/esm/appui-react/childwindow/{PopoutWidget.js → ChildWindowWidget.js} +9 -3
  500. package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -0
  501. package/lib/{cjs/appui-react/childwindow/PopoutWidget.scss → esm/appui-react/childwindow/ChildWindowWidget.scss} +0 -1
  502. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts +3 -3
  503. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  504. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +25 -33
  505. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  506. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +1 -1
  507. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  508. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -12
  509. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  510. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +4 -15
  511. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  512. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  513. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  514. package/lib/esm/appui-react/content/ContentControl.d.ts +2 -0
  515. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  516. package/lib/esm/appui-react/content/ContentControl.js +1 -0
  517. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  518. package/lib/esm/appui-react/content/ContentLayout.d.ts +2 -0
  519. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  520. package/lib/esm/appui-react/content/ContentLayout.js +14 -14
  521. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  522. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  523. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  524. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts +2 -2
  525. package/lib/esm/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  526. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -3
  527. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  528. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  529. package/lib/esm/appui-react/content/IModelViewport.js +7 -8
  530. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  531. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  532. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  533. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts +5 -5
  534. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  535. package/lib/esm/appui-react/content/InternalContentViewManager.js +6 -8
  536. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  537. package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
  538. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  539. package/lib/esm/appui-react/cursor/CursorInformation.d.ts +2 -0
  540. package/lib/esm/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  541. package/lib/esm/appui-react/cursor/CursorInformation.js +2 -0
  542. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  543. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  544. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -3
  545. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  546. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  547. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -0
  548. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  549. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +5 -19
  550. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  551. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +5 -23
  552. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  553. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  554. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +1 -0
  555. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  556. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  557. package/lib/esm/appui-react/dialog/ContentDialog.js +8 -7
  558. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  559. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts +5 -2
  560. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  561. package/lib/esm/appui-react/dialog/DialogManagerBase.js +6 -3
  562. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  563. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts +3 -2
  564. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  565. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +2 -3
  566. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  567. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts +3 -2
  568. package/lib/esm/appui-react/dialog/InternalModalDialogManager.d.ts.map +1 -1
  569. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +2 -2
  570. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  571. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts +3 -2
  572. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  573. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +2 -3
  574. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  575. package/lib/esm/appui-react/dialog/ModelessDialog.d.ts.map +1 -1
  576. package/lib/esm/appui-react/dialog/ModelessDialog.js +3 -1
  577. package/lib/esm/appui-react/dialog/ModelessDialog.js.map +1 -1
  578. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  579. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +3 -1
  580. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  581. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts +2 -0
  582. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  583. package/lib/esm/appui-react/feedback/ElementTooltip.js +6 -2
  584. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  585. package/lib/esm/appui-react/framework/FrameworkContent.d.ts +5 -0
  586. package/lib/esm/appui-react/framework/FrameworkContent.d.ts.map +1 -1
  587. package/lib/esm/appui-react/framework/FrameworkContent.js +4 -0
  588. package/lib/esm/appui-react/framework/FrameworkContent.js.map +1 -1
  589. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts +2 -0
  590. package/lib/esm/appui-react/framework/FrameworkDialogs.d.ts.map +1 -1
  591. package/lib/esm/appui-react/framework/FrameworkDialogs.js +4 -0
  592. package/lib/esm/appui-react/framework/FrameworkDialogs.js.map +1 -1
  593. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts +17 -1
  594. package/lib/esm/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  595. package/lib/esm/appui-react/framework/FrameworkFrontstages.js +8 -0
  596. package/lib/esm/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  597. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts +2 -0
  598. package/lib/esm/appui-react/framework/FrameworkToolSettings.d.ts.map +1 -1
  599. package/lib/esm/appui-react/framework/FrameworkToolSettings.js +1 -0
  600. package/lib/esm/appui-react/framework/FrameworkToolSettings.js.map +1 -1
  601. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  602. package/lib/esm/appui-react/frontstage/FrontstageDef.js +23 -23
  603. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  604. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts +29 -33
  605. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  606. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +46 -51
  607. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  608. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  609. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -5
  610. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  611. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  612. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  613. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  614. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +1 -0
  615. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  616. package/lib/esm/appui-react/hooks/useActiveStageId.js +2 -1
  617. package/lib/esm/appui-react/hooks/useActiveStageId.js.map +1 -1
  618. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  619. package/lib/esm/appui-react/hooks/useActiveViewport.js +2 -0
  620. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  621. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  622. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  623. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  624. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  625. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  626. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  627. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  628. package/lib/esm/appui-react/hooks/useUiVisibility.js +1 -0
  629. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  630. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.d.ts.map +1 -1
  631. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -0
  632. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  633. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts +1 -0
  634. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  635. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +2 -1
  636. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  637. package/lib/esm/appui-react/layout/base/DragManager.js +1 -2
  638. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  639. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  640. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  641. package/lib/esm/appui-react/layout/footer/_variables.scss +0 -2
  642. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  643. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  644. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  645. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  646. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  647. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  648. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  649. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  650. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +2 -3
  651. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  652. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  653. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  654. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  655. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  656. package/lib/esm/appui-react/layout/tool-settings/Docked.js +2 -2
  657. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  658. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +3 -13
  659. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +2 -2
  660. package/lib/esm/appui-react/layout/tool-settings/Setting.js +1 -1
  661. package/lib/esm/appui-react/layout/tool-settings/Setting.js.map +1 -1
  662. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -2
  663. package/lib/esm/appui-react/layout/widget/Button.d.ts +3 -2
  664. package/lib/esm/appui-react/layout/widget/Button.d.ts.map +1 -1
  665. package/lib/esm/appui-react/layout/widget/Button.js.map +1 -1
  666. package/lib/esm/appui-react/layout/widget/ContentContainer.js +1 -1
  667. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  668. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +3 -3
  669. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  670. package/lib/esm/appui-react/layout/widget/ContentManager.js +7 -1
  671. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  672. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  673. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  674. package/lib/esm/appui-react/layout/widget/FloatingTab.js +5 -6
  675. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  676. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +2 -4
  677. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  678. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  679. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  680. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  681. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  682. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  683. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  684. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  685. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  686. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +5 -8
  687. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  688. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  689. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  690. package/lib/esm/appui-react/messages/InputField.js +2 -1
  691. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  692. package/lib/esm/appui-react/messages/MessageManager.d.ts +12 -0
  693. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  694. package/lib/esm/appui-react/messages/MessageManager.js +18 -10
  695. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  696. package/lib/esm/appui-react/messages/MessageRenderer.js +7 -8
  697. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  698. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -0
  699. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  700. package/lib/esm/appui-react/messages/Pointer.js +7 -9
  701. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  702. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts +2 -0
  703. package/lib/esm/appui-react/navigationaids/NavigationAidControl.d.ts.map +1 -1
  704. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js +1 -0
  705. package/lib/esm/appui-react/navigationaids/NavigationAidControl.js.map +1 -1
  706. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  707. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -0
  708. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  709. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts +2 -0
  710. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  711. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +11 -3
  712. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  713. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  714. package/lib/esm/appui-react/pickers/ListPicker.js +3 -1
  715. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  716. package/lib/esm/appui-react/pickers/ViewSelector.d.ts +2 -0
  717. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  718. package/lib/esm/appui-react/pickers/ViewSelector.js +9 -14
  719. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  720. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  721. package/lib/esm/appui-react/popup/CardPopup.js +2 -3
  722. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  723. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -1
  724. package/lib/esm/appui-react/popup/ComponentPopup.js +1 -1
  725. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
  726. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  727. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  728. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  729. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  730. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  731. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -4
  732. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  733. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  734. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  735. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  736. package/lib/esm/appui-react/popup/PopupManager.d.ts +5 -1
  737. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  738. package/lib/esm/appui-react/popup/PopupManager.js +24 -24
  739. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  740. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  741. package/lib/esm/appui-react/popup/PositionPopup.js +1 -0
  742. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  743. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  744. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  745. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  746. package/lib/esm/appui-react/popup/ToolbarPopup.js +2 -3
  747. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  748. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +7 -0
  749. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  750. package/lib/esm/appui-react/preview/PreviewFeatures.js +2 -1
  751. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  752. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +2 -2
  753. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  754. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  755. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  756. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +1 -1
  757. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  758. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +2 -2
  759. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  760. package/lib/esm/appui-react/preview/new-toolbars/Item.js +1 -1
  761. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -1
  762. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +1 -1
  763. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -1
  764. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +2 -3
  765. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  766. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  767. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts +11 -0
  768. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.d.ts.map +1 -0
  769. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js +36 -0
  770. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.js.map +1 -0
  771. package/lib/{cjs/appui-react/layout/footer/message-center/_variables.scss → esm/appui-react/preview/reparent-popout-widgets/PopoutThemeProvider.scss} +3 -1
  772. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts +7 -0
  773. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.d.ts.map +1 -0
  774. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js +21 -0
  775. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidget.js.map +1 -0
  776. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts +9 -0
  777. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.d.ts.map +1 -0
  778. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js +22 -0
  779. package/lib/esm/appui-react/preview/reparent-popout-widgets/PopoutWidgets.js.map +1 -0
  780. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts +13 -0
  781. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.d.ts.map +1 -0
  782. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js +41 -0
  783. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.js.map +1 -0
  784. package/lib/esm/appui-react/preview/reparent-popout-widgets/ReparentedPopoutWidget.scss +8 -0
  785. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts +18 -0
  786. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.d.ts.map +1 -0
  787. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js +25 -0
  788. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -0
  789. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts +4 -0
  790. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.d.ts.map +1 -0
  791. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js +14 -0
  792. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -0
  793. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +1 -2
  794. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  795. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  796. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  797. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  798. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +8 -3
  799. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  800. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  801. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +1 -0
  802. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  803. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts +3 -3
  804. package/lib/esm/appui-react/stagepanels/StagePanelDef.d.ts.map +1 -1
  805. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +14 -23
  806. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  807. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  808. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  809. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -3
  810. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  811. package/lib/esm/appui-react/statusbar/StatusBar.js +21 -13
  812. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  813. package/lib/esm/appui-react/statusbar/StatusBar.scss +18 -0
  814. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  815. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -0
  816. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  817. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  818. package/lib/esm/appui-react/statusfields/ActivityCenter.js +3 -1
  819. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  820. package/lib/esm/appui-react/statusfields/SelectionScope.js +2 -2
  821. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  822. package/lib/esm/appui-react/statusfields/SelectionScope.scss +2 -2
  823. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts +11 -0
  824. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -0
  825. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +87 -0
  826. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -0
  827. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +25 -0
  828. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts +26 -0
  829. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.d.ts.map +1 -0
  830. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js +24 -0
  831. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.js.map +1 -0
  832. package/lib/{cjs/appui-react/layout/footer/message-center/Message.scss → esm/appui-react/statusfields/message-center/MessageCenterMessage.scss} +8 -17
  833. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  834. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +13 -7
  835. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  836. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts +3 -2
  837. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  838. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js +4 -2
  839. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  840. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  841. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -0
  842. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  843. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts +2 -0
  844. package/lib/esm/appui-react/syncui/UiSyncEvent.d.ts.map +1 -1
  845. package/lib/esm/appui-react/syncui/UiSyncEvent.js +2 -0
  846. package/lib/esm/appui-react/syncui/UiSyncEvent.js.map +1 -1
  847. package/lib/esm/appui-react/theme/ThemeManager.js +2 -2
  848. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  849. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +1 -2
  850. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  851. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  852. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +3 -2
  853. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  854. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +7 -5
  855. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  856. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  857. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  858. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +10 -17
  859. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  860. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +5 -3
  861. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  862. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts +4 -4
  863. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  864. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +4 -5
  865. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  866. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js +2 -1
  867. package/lib/esm/appui-react/toolsettings/ToolUiProvider.js.map +1 -1
  868. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  869. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  870. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  871. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  872. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -3
  873. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  874. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts +1 -0
  875. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  876. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +11 -15
  877. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  878. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +1 -1
  879. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  880. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +14 -2
  881. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  882. package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  883. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +7 -9
  884. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  885. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  886. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +1 -2
  887. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  888. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +45 -158
  889. package/lib/esm/appui-react/uistate/AppUiSettings.d.ts.map +1 -1
  890. package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -0
  891. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  892. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  893. package/lib/esm/appui-react/uistate/useUiStateStorage.js +1 -0
  894. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  895. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  896. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  897. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  898. package/lib/esm/appui-react/widget-panels/Content.js +11 -10
  899. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  900. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts +13 -0
  901. package/lib/esm/appui-react/widget-panels/DockedBar.d.ts.map +1 -0
  902. package/lib/esm/appui-react/widget-panels/DockedBar.js +14 -0
  903. package/lib/esm/appui-react/widget-panels/DockedBar.js.map +1 -0
  904. package/lib/esm/appui-react/widget-panels/{StatusBar.scss → DockedBar.scss} +10 -4
  905. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  906. package/lib/esm/appui-react/widget-panels/Frontstage.js +15 -18
  907. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  908. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +2 -1
  909. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  910. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts +0 -1
  911. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  912. package/lib/esm/appui-react/widget-panels/StatusBar.js +2 -5
  913. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  914. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  915. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  916. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +0 -12
  917. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  918. package/lib/esm/appui-react/widget-panels/ToolSettings.js +27 -51
  919. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  920. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +4 -27
  921. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  922. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  923. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  924. package/lib/esm/appui-react/widgets/BackstageAppButton.js +2 -1
  925. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  926. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  927. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +8 -5
  928. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  929. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.d.ts +1 -1
  930. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  931. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  932. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +2 -0
  933. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  934. package/lib/esm/appui-react/widgets/WidgetDef.js +10 -11
  935. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  936. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  937. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  938. package/lib/esm/appui-react/widgets/WidgetManager.d.ts +1 -6
  939. package/lib/esm/appui-react/widgets/WidgetManager.d.ts.map +1 -1
  940. package/lib/esm/appui-react/widgets/WidgetManager.js +1 -6
  941. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  942. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  943. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  944. package/lib/esm/appui-react.d.ts +1 -1
  945. package/lib/esm/appui-react.d.ts.map +1 -1
  946. package/lib/esm/appui-react.js +1 -1
  947. package/lib/esm/appui-react.js.map +1 -1
  948. package/lib/public/locales/en/UiFramework.json +1 -1
  949. package/package.json +12 -37
  950. package/lib/cjs/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  951. package/lib/cjs/appui-react/childwindow/PopoutWidget.js.map +0 -1
  952. package/lib/cjs/appui-react/layout/footer/Footer.d.ts +0 -33
  953. package/lib/cjs/appui-react/layout/footer/Footer.d.ts.map +0 -1
  954. package/lib/cjs/appui-react/layout/footer/Footer.js +0 -30
  955. package/lib/cjs/appui-react/layout/footer/Footer.js.map +0 -1
  956. package/lib/cjs/appui-react/layout/footer/Footer.scss +0 -61
  957. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  958. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  959. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js +0 -32
  960. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  961. package/lib/cjs/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  962. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  963. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  964. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js +0 -33
  965. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  966. package/lib/cjs/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  967. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  968. package/lib/cjs/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  969. package/lib/cjs/appui-react/layout/footer/message-center/Message.js +0 -26
  970. package/lib/cjs/appui-react/layout/footer/message-center/Message.js.map +0 -1
  971. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  972. package/lib/cjs/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  973. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js +0 -26
  974. package/lib/cjs/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  975. package/lib/cjs/appui-react/layout/footer/message-center/Tab.scss +0 -60
  976. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -46
  977. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  978. package/lib/cjs/appui-react/statusfields/MessageCenter.js +0 -132
  979. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +0 -1
  980. package/lib/esm/appui-react/childwindow/PopoutWidget.d.ts.map +0 -1
  981. package/lib/esm/appui-react/childwindow/PopoutWidget.js.map +0 -1
  982. package/lib/esm/appui-react/layout/footer/Footer.d.ts +0 -33
  983. package/lib/esm/appui-react/layout/footer/Footer.d.ts.map +0 -1
  984. package/lib/esm/appui-react/layout/footer/Footer.js +0 -26
  985. package/lib/esm/appui-react/layout/footer/Footer.js.map +0 -1
  986. package/lib/esm/appui-react/layout/footer/Footer.scss +0 -61
  987. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts +0 -29
  988. package/lib/esm/appui-react/layout/footer/message-center/Dialog.d.ts.map +0 -1
  989. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js +0 -28
  990. package/lib/esm/appui-react/layout/footer/message-center/Dialog.js.map +0 -1
  991. package/lib/esm/appui-react/layout/footer/message-center/Dialog.scss +0 -64
  992. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts +0 -29
  993. package/lib/esm/appui-react/layout/footer/message-center/Indicator.d.ts.map +0 -1
  994. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js +0 -29
  995. package/lib/esm/appui-react/layout/footer/message-center/Indicator.js.map +0 -1
  996. package/lib/esm/appui-react/layout/footer/message-center/Indicator.scss +0 -106
  997. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts +0 -22
  998. package/lib/esm/appui-react/layout/footer/message-center/Message.d.ts.map +0 -1
  999. package/lib/esm/appui-react/layout/footer/message-center/Message.js +0 -22
  1000. package/lib/esm/appui-react/layout/footer/message-center/Message.js.map +0 -1
  1001. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts +0 -24
  1002. package/lib/esm/appui-react/layout/footer/message-center/Tab.d.ts.map +0 -1
  1003. package/lib/esm/appui-react/layout/footer/message-center/Tab.js +0 -22
  1004. package/lib/esm/appui-react/layout/footer/message-center/Tab.js.map +0 -1
  1005. package/lib/esm/appui-react/layout/footer/message-center/Tab.scss +0 -60
  1006. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -46
  1007. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +0 -1
  1008. package/lib/esm/appui-react/statusfields/MessageCenter.js +0 -128
  1009. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAC/B,kDAAyC;AAEzC,qDAAiD;AACjD,+CAG0B;AAC1B,qDAAgD;AAEhD;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK;YACrB,QAAQ,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ;SAC/B,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;;QAC9C,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,OAAO;YACL,QAAQ,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ;YACvB,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK;SAClB,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,MAAM,EAAE,EAAE;QACT,EAAE;YACA,QAAQ,CAAC;gBACP,IAAI,EAAE,iBAAiB;gBACvB,MAAM;aACP,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,CAAC,CACf,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,MAAM,EAAE,EAAE;QACT,EAAE;YACA,QAAQ,CAAC;gBACP,IAAI,EAAE,qBAAqB;gBAC3B,EAAE;gBACF,MAAM;aACP,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,CAAC,CACf,CAAC;IACF,IAAA,wBAAU,EAAC;QACT,KAAK,EAAE,EAAE,IAAI,EAAE;QACf,MAAM;QACN,SAAS;KACV,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,gCAAqB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,QAAQ,IAAI;QACxB,SAAS,EAAE,aAAa,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,KAAK;KACzD,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,uBAAuB,EACvB,CAAC,QAAQ,IAAI,WAAW,CACzB,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK;QACpC,cAAc,IAAI,QAAQ,IAAI,oBAAC,iBAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI;QAC3D,kCAAO,KAAK,CAAQ,CAChB,CACP,CAAC;AACJ,CAAC;AA1DD,kCA0DC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./FloatingTab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Icon } from \"@itwin/core-react\";\nimport type { UseDragTabArgs } from \"../base/DragManager\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n} from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** Component that displays a floating tab.\n * @internal\n */\nexport function FloatingTab() {\n const { id, position } = useLayout((state) => {\n const draggedTab = state.draggedTab;\n return {\n id: draggedTab?.tabId,\n position: draggedTab?.position,\n };\n }, true);\n const { iconSpec, label } = useLayout((state) => {\n const tabId = state.draggedTab?.tabId;\n const tab = tabId ? state.tabs[tabId] : undefined;\n return {\n iconSpec: tab?.iconSpec,\n label: tab?.label,\n };\n }, true);\n\n const dispatch = React.useContext(NineZoneDispatchContext);\n const onDrag = React.useCallback<NonNullable<UseDragTabArgs[\"onDrag\"]>>(\n (dragBy) => {\n id &&\n dispatch({\n type: \"WIDGET_TAB_DRAG\",\n dragBy,\n });\n },\n [dispatch, id]\n );\n const onDragEnd = React.useCallback<NonNullable<UseDragTabArgs[\"onDragEnd\"]>>(\n (target) => {\n id &&\n dispatch({\n type: \"WIDGET_TAB_DRAG_END\",\n id,\n target,\n });\n },\n [dispatch, id]\n );\n useDragTab({\n tabId: id || \"\",\n onDrag,\n onDragEnd,\n });\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n const style = position && {\n transform: `translate(${position.x}px, ${position.y}px)`,\n };\n const className = classnames(\n \"nz-widget-floatingTab\",\n !position && \"nz-hidden\"\n );\n return (\n <div className={className} style={style}>\n {showWidgetIcon && iconSpec && <Icon iconSpec={iconSpec} />}\n <span>{label}</span>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"FloatingTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,8BAA4B;AAC5B,2CAAoC;AACpC,+BAA+B;AAC/B,kDAAyC;AAEzC,qDAAiD;AACjD,+CAG0B;AAC1B,qDAAgD;AAEhD;;GAEG;AACH,SAAgB,WAAW;IACzB,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,UAAU,EAAE,KAAK;YACrB,QAAQ,EAAE,UAAU,EAAE,QAAQ;SAC/B,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClD,OAAO;YACL,QAAQ,EAAE,GAAG,EAAE,QAAQ;YACvB,KAAK,EAAE,GAAG,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,MAAM,EAAE,EAAE;QACT,EAAE;YACA,QAAQ,CAAC;gBACP,IAAI,EAAE,iBAAiB;gBACvB,MAAM;aACP,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,CAAC,CACf,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,MAAM,EAAE,EAAE;QACT,EAAE;YACA,QAAQ,CAAC;gBACP,IAAI,EAAE,qBAAqB;gBAC3B,EAAE;gBACF,MAAM;aACP,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,CAAC,CACf,CAAC;IACF,IAAA,wBAAU,EAAC;QACT,KAAK,EAAE,EAAE,IAAI,EAAE;QACf,MAAM;QACN,SAAS;KACV,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,gCAAqB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,QAAQ,IAAI;QACxB,SAAS,EAAE,aAAa,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,KAAK;KACzD,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,uBAAuB,EACvB,CAAC,QAAQ,IAAI,WAAW,CACzB,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK;QACpC,cAAc,IAAI,QAAQ,IAAI,oBAAC,iBAAI,IAAC,QAAQ,EAAE,QAAQ,GAAI;QAC3D,kCAAO,KAAK,CAAQ,CAChB,CACP,CAAC;AACJ,CAAC;AA1DD,kCA0DC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./FloatingTab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Icon } from \"@itwin/core-react\";\nimport type { UseDragTabArgs } from \"../base/DragManager\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n} from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** Component that displays a floating tab.\n * @internal\n */\nexport function FloatingTab() {\n const { id, position } = useLayout((state) => {\n const draggedTab = state.draggedTab;\n return {\n id: draggedTab?.tabId,\n position: draggedTab?.position,\n };\n }, true);\n const { iconSpec, label } = useLayout((state) => {\n const tabId = state.draggedTab?.tabId;\n const tab = tabId ? state.tabs[tabId] : undefined;\n return {\n iconSpec: tab?.iconSpec,\n label: tab?.label,\n };\n }, true);\n\n const dispatch = React.useContext(NineZoneDispatchContext);\n const onDrag = React.useCallback<NonNullable<UseDragTabArgs[\"onDrag\"]>>(\n (dragBy) => {\n id &&\n dispatch({\n type: \"WIDGET_TAB_DRAG\",\n dragBy,\n });\n },\n [dispatch, id]\n );\n const onDragEnd = React.useCallback<NonNullable<UseDragTabArgs[\"onDragEnd\"]>>(\n (target) => {\n id &&\n dispatch({\n type: \"WIDGET_TAB_DRAG_END\",\n id,\n target,\n });\n },\n [dispatch, id]\n );\n useDragTab({\n tabId: id || \"\",\n onDrag,\n onDragEnd,\n });\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n const style = position && {\n transform: `translate(${position.x}px, ${position.y}px)`,\n };\n const className = classnames(\n \"nz-widget-floatingTab\",\n !position && \"nz-hidden\"\n );\n return (\n <div className={className} style={style}>\n {showWidgetIcon && iconSpec && <Icon iconSpec={iconSpec} />}\n <span>{label}</span>\n </div>\n );\n}\n"]}
@@ -82,7 +82,6 @@ function useFloatingWidgetState() {
82
82
  const id = useFloatingWidgetId();
83
83
  (0, core_bentley_1.assert)(!!id);
84
84
  return (0, LayoutStore_1.useLayout)((state) => {
85
- var _a;
86
85
  const widget = (0, WidgetStateHelpers_1.getWidgetState)(state, id);
87
86
  const floatingWidget = state.floatingWidgets.byId[id];
88
87
  const tabs = widget.tabs;
@@ -90,7 +89,7 @@ function useFloatingWidgetState() {
90
89
  const activeTab = state.tabs[activeTabId];
91
90
  const userSized = floatingWidget.userSized;
92
91
  const singleTab = 1 === tabs.length;
93
- const toolSettingsTabId = (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId;
92
+ const toolSettingsTabId = state.toolSettings?.tabId;
94
93
  const isToolSettingsTab = widget.tabs[0] === toolSettingsTabId;
95
94
  const resizable = !!floatingWidget.resizable && !isToolSettingsTab;
96
95
  const autoSized = singleTab && !userSized;
@@ -261,11 +260,10 @@ exports.useFloatingWidgetId = useFloatingWidgetId;
261
260
  function useWidgetAllowedToDock() {
262
261
  const id = useFloatingWidgetId();
263
262
  return (0, LayoutStore_1.useLayout)((state) => {
264
- var _a;
265
263
  if (id) {
266
264
  const widget = (0, WidgetStateHelpers_1.getWidgetState)(state, id);
267
265
  const activeTab = state.tabs[widget.activeTabId];
268
- if (((_a = activeTab.allowedPanelTargets) === null || _a === void 0 ? void 0 : _a.length) === 0) {
266
+ if (activeTab.allowedPanelTargets?.length === 0) {
269
267
  return false;
270
268
  }
271
269
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingWidget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./FloatingWidget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n Point,\n Rectangle,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport type { UseDragResizeHandleArgs } from \"../base/DragManager\";\nimport {\n DragManagerContext,\n useDragResizeHandle,\n useIsDraggedItem,\n} from \"../base/DragManager\";\nimport {\n FloatingWidgetNodeContext,\n MeasureContext,\n NineZoneDispatchContext,\n UiIsVisibleContext,\n} from \"../base/NineZone\";\nimport type { FloatingWidgetState } from \"../state/WidgetState\";\nimport { WidgetContentContainer } from \"./ContentContainer\";\nimport { WidgetTabBar } from \"./TabBar\";\nimport { Widget, WidgetIdContext, WidgetProvider } from \"./Widget\";\nimport type { PointerCaptorArgs } from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { WidgetTarget } from \"../target/WidgetTarget\";\nimport { WidgetOutline } from \"../outline/WidgetOutline\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers\";\nimport {\n useIsMaximizedWidget,\n useMaximizedFloatingWidget,\n} from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\ntype FloatingWidgetEdgeHandle = \"left\" | \"right\" | \"top\" | \"bottom\";\ntype FloatingWidgetCornerHandle =\n | \"topLeft\"\n | \"topRight\"\n | \"bottomLeft\"\n | \"bottomRight\";\n\n/** @internal */\nexport type FloatingWidgetResizeHandle =\n | FloatingWidgetEdgeHandle\n | FloatingWidgetCornerHandle;\n\n/** @internal */\nexport interface FloatingWidgetProviderProps {\n id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport function FloatingWidgetProvider(props: FloatingWidgetProviderProps) {\n const floatingWidget = React.useContext(FloatingWidgetNodeContext);\n return <WidgetProvider id={props.id}>{floatingWidget}</WidgetProvider>;\n}\n\n/** @internal */\nexport interface FloatingWidgetProps {\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\n/** @internal */\nexport function FloatingWidget(props: FloatingWidgetProps) {\n const uiIsVisible = React.useContext(UiIsVisibleContext);\n const id = useFloatingWidgetId();\n assert(!!id);\n const {\n autoSized,\n bounds,\n hideWithUiWhenFloating,\n isToolSettingsTab,\n minimized,\n resizable,\n } = useFloatingWidgetState();\n const hideFloatingWidget = !uiIsVisible && hideWithUiWhenFloating;\n\n const item = React.useMemo(\n () => ({\n id,\n type: \"widget\" as const,\n }),\n [id]\n );\n const dragged = useIsDraggedItem(item);\n const ref = useHandleAutoSize(dragged);\n const maximizedWidget = useMaximizedFloatingWidget();\n\n const className = classnames(\n \"nz-widget-floatingWidget\",\n dragged && \"nz-dragged\",\n isToolSettingsTab && \"nz-floating-toolSettings\",\n minimized && \"nz-minimized\",\n hideFloatingWidget && \"nz-hidden\",\n maximizedWidget.classNames\n );\n const style = React.useMemo(() => {\n const boundsRect = Rectangle.create(bounds);\n const { height, width } = boundsRect.getSize();\n const position = boundsRect.topLeft();\n return {\n transform: `translate(${position.x}px, ${position.y}px)`,\n height: minimized || autoSized ? undefined : height,\n width: autoSized ? undefined : width,\n maxHeight: autoSized ? \"60%\" : undefined,\n maxWidth: autoSized ? \"60%\" : undefined,\n };\n }, [autoSized, bounds, minimized]);\n\n const content = React.useMemo(\n () => (\n <WidgetContentContainer>\n <WidgetTarget />\n <WidgetOutline />\n </WidgetContentContainer>\n ),\n []\n );\n const handles = React.useMemo(\n () =>\n resizable && (\n <>\n <FloatingWidgetHandle handle=\"left\" />\n <FloatingWidgetHandle handle=\"top\" />\n <FloatingWidgetHandle handle=\"right\" />\n <FloatingWidgetHandle handle=\"bottom\" />\n <FloatingWidgetHandle handle=\"topLeft\" />\n <FloatingWidgetHandle handle=\"topRight\" />\n <FloatingWidgetHandle handle=\"bottomLeft\" />\n <FloatingWidgetHandle handle=\"bottomRight\" />\n </>\n ),\n [resizable]\n );\n return (\n <Widget\n className={className}\n widgetId={id}\n style={{\n ...style,\n ...maximizedWidget.style,\n }}\n ref={ref}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n >\n <WidgetTabBar separator={!minimized} />\n {content}\n {handles}\n </Widget>\n );\n}\n\nfunction useFloatingWidgetState() {\n const id = useFloatingWidgetId();\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n const floatingWidget = state.floatingWidgets.byId[id];\n const tabs = widget.tabs;\n const activeTabId = widget.activeTabId;\n const activeTab = state.tabs[activeTabId];\n const userSized = floatingWidget.userSized;\n const singleTab = 1 === tabs.length;\n\n const toolSettingsTabId = state.toolSettings?.tabId;\n const isToolSettingsTab = widget.tabs[0] === toolSettingsTabId;\n const resizable = !!floatingWidget.resizable && !isToolSettingsTab;\n const autoSized = singleTab && !userSized;\n return {\n autoSized,\n bounds: floatingWidget.bounds,\n hideWithUiWhenFloating: activeTab.hideWithUiWhenFloating,\n isToolSettingsTab,\n minimized: widget.minimized,\n resizable,\n };\n }, true);\n}\n\n// Re-adjust bounds so that widget is behind pointer when auto-sized.\n// istanbul ignore next\nfunction useHandleAutoSize(dragged: boolean) {\n const dragManager = React.useContext(DragManagerContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const measureNz = React.useContext(MeasureContext);\n const id = useFloatingWidgetId();\n assert(!!id);\n const userSized = useLayout(\n (state) => state.floatingWidgets.byId[id].userSized\n );\n const maximizedWidget = useIsMaximizedWidget();\n\n const updatePosition = React.useRef(true);\n const ref = React.useRef<HTMLDivElement>(null);\n\n React.useLayoutEffect(() => {\n if (!updatePosition.current) return;\n if (!dragged) return;\n if (maximizedWidget) return;\n if (!dragManager.draggedItem) return;\n if (!ref.current) return;\n\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n const nzBounds = measureNz();\n const pointerPosition = dragManager.draggedItem.info.pointerPosition;\n\n if (bounds.containsPoint(pointerPosition)) return;\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (pointerPosition.x > bounds.right) {\n const offset = pointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n dispatch({\n type: \"FLOATING_WIDGET_SET_BOUNDS\",\n id,\n bounds: bounds.toProps(),\n });\n dispatch({\n type: \"FLOATING_WIDGET_SET_USER_SIZED\",\n id,\n userSized: true,\n });\n updatePosition.current = false;\n }, [dragged, dragManager, dispatch, id, measureNz, maximizedWidget]);\n const handleResize = React.useCallback(() => {\n if (!ref.current) return;\n if (dragged) return;\n if (maximizedWidget) return;\n if (userSized) return;\n\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n\n // Adjust bounds to be relative to 9z origin\n const nzBounds = measureNz();\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n dispatch({\n type: \"FLOATING_WIDGET_SET_BOUNDS\",\n id,\n bounds,\n });\n }, [dispatch, dragged, id, userSized, measureNz, maximizedWidget]);\n const roRef = useResizeObserver(handleResize);\n const refs = useRefs(ref, roRef);\n return refs;\n}\n\ninterface FloatingWidgetHandleProps {\n handle: FloatingWidgetResizeHandle;\n}\n\nfunction FloatingWidgetHandle(props: FloatingWidgetHandleProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = useFloatingWidgetId();\n const { handle } = props;\n const relativePosition = React.useRef<Point>(new Point());\n assert(id !== undefined);\n const onDrag = React.useCallback<\n NonNullable<UseDragResizeHandleArgs[\"onDrag\"]>\n >(\n (pointerPosition) => {\n assert(!!ref.current);\n const bounds = Rectangle.create(ref.current.getBoundingClientRect());\n const newRelativePosition = bounds.topLeft().getOffsetTo(pointerPosition);\n const offset = relativePosition.current.getOffsetTo(newRelativePosition);\n const resizeBy = getResizeBy(handle, offset);\n dispatch({\n type: \"FLOATING_WIDGET_RESIZE\",\n id,\n resizeBy,\n });\n },\n [dispatch, handle, id]\n );\n const handleDragStart = useDragResizeHandle({\n handle,\n widgetId: id,\n onDrag,\n });\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs) => {\n assert(!!ref.current);\n const bounds = Rectangle.create(ref.current.getBoundingClientRect());\n const initialPointerPosition = new Point(args.clientX, args.clientY);\n relativePosition.current = bounds\n .topLeft()\n .getOffsetTo(initialPointerPosition);\n handleDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n });\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id,\n });\n },\n [dispatch, handleDragStart, id]\n );\n const pointerCaptorRef = usePointerCaptor(handlePointerDown);\n const ref = React.useRef<HTMLDivElement>(null);\n const refs = useRefs(ref, pointerCaptorRef);\n const isMaximized = useIsMaximizedWidget();\n const className = classnames(\n \"nz-widget-floatingWidget_handle\",\n `nz-${handle}`\n );\n if (isMaximized) return null;\n return <div className={className} ref={refs} />;\n}\n\n/** @internal */\nexport function getResizeBy(handle: FloatingWidgetResizeHandle, offset: XAndY) {\n switch (handle) {\n case \"left\":\n return new Rectangle(-offset.x);\n case \"top\":\n return new Rectangle(0, -offset.y);\n case \"right\":\n return new Rectangle(0, 0, offset.x);\n case \"bottom\":\n return new Rectangle(0, 0, 0, offset.y);\n case \"topLeft\":\n return new Rectangle(-offset.x, -offset.y);\n case \"topRight\":\n return new Rectangle(0, -offset.y, offset.x);\n case \"bottomLeft\":\n return new Rectangle(-offset.x, 0, 0, offset.y);\n case \"bottomRight\":\n return new Rectangle(0, 0, offset.x, offset.y);\n }\n}\n\n/** @internal */\nexport function useFloatingWidgetId(): FloatingWidgetState[\"id\"] | undefined {\n const widgetId = React.useContext(WidgetIdContext);\n return useLayout((state) => {\n if (!widgetId) return undefined;\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n if (!floatingWidget) return undefined;\n\n return widgetId;\n });\n}\n\n/** @internal */\nexport function useWidgetAllowedToDock(): boolean {\n const id = useFloatingWidgetId();\n return useLayout((state) => {\n if (id) {\n const widget = getWidgetState(state, id);\n const activeTab = state.tabs[widget.activeTabId];\n if (activeTab.allowedPanelTargets?.length === 0) {\n return false;\n }\n }\n return true;\n });\n}\n"]}
1
+ {"version":3,"file":"FloatingWidget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./FloatingWidget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n Point,\n Rectangle,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport type { UseDragResizeHandleArgs } from \"../base/DragManager\";\nimport {\n DragManagerContext,\n useDragResizeHandle,\n useIsDraggedItem,\n} from \"../base/DragManager\";\nimport {\n FloatingWidgetNodeContext,\n MeasureContext,\n NineZoneDispatchContext,\n UiIsVisibleContext,\n} from \"../base/NineZone\";\nimport type { FloatingWidgetState } from \"../state/WidgetState\";\nimport { WidgetContentContainer } from \"./ContentContainer\";\nimport { WidgetTabBar } from \"./TabBar\";\nimport { Widget, WidgetIdContext, WidgetProvider } from \"./Widget\";\nimport type { PointerCaptorArgs } from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { WidgetTarget } from \"../target/WidgetTarget\";\nimport { WidgetOutline } from \"../outline/WidgetOutline\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers\";\nimport {\n useIsMaximizedWidget,\n useMaximizedFloatingWidget,\n} from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\ntype FloatingWidgetEdgeHandle = \"left\" | \"right\" | \"top\" | \"bottom\";\ntype FloatingWidgetCornerHandle =\n | \"topLeft\"\n | \"topRight\"\n | \"bottomLeft\"\n | \"bottomRight\";\n\n/** @internal */\nexport type FloatingWidgetResizeHandle =\n | FloatingWidgetEdgeHandle\n | FloatingWidgetCornerHandle;\n\n/** @internal */\nexport interface FloatingWidgetProviderProps {\n id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport function FloatingWidgetProvider(props: FloatingWidgetProviderProps) {\n const floatingWidget = React.useContext(FloatingWidgetNodeContext);\n return <WidgetProvider id={props.id}>{floatingWidget}</WidgetProvider>;\n}\n\n/** @internal */\nexport interface FloatingWidgetProps {\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n}\n\n/** @internal */\nexport function FloatingWidget(props: FloatingWidgetProps) {\n const uiIsVisible = React.useContext(UiIsVisibleContext);\n const id = useFloatingWidgetId();\n assert(!!id);\n const {\n autoSized,\n bounds,\n hideWithUiWhenFloating,\n isToolSettingsTab,\n minimized,\n resizable,\n } = useFloatingWidgetState();\n const hideFloatingWidget = !uiIsVisible && hideWithUiWhenFloating;\n\n const item = React.useMemo(\n () => ({\n id,\n type: \"widget\" as const,\n }),\n [id]\n );\n const dragged = useIsDraggedItem(item);\n const ref = useHandleAutoSize(dragged);\n const maximizedWidget = useMaximizedFloatingWidget();\n\n const className = classnames(\n \"nz-widget-floatingWidget\",\n dragged && \"nz-dragged\",\n isToolSettingsTab && \"nz-floating-toolSettings\",\n minimized && \"nz-minimized\",\n hideFloatingWidget && \"nz-hidden\",\n maximizedWidget.classNames\n );\n const style = React.useMemo(() => {\n const boundsRect = Rectangle.create(bounds);\n const { height, width } = boundsRect.getSize();\n const position = boundsRect.topLeft();\n return {\n transform: `translate(${position.x}px, ${position.y}px)`,\n height: minimized || autoSized ? undefined : height,\n width: autoSized ? undefined : width,\n maxHeight: autoSized ? \"60%\" : undefined,\n maxWidth: autoSized ? \"60%\" : undefined,\n };\n }, [autoSized, bounds, minimized]);\n\n const content = React.useMemo(\n () => (\n <WidgetContentContainer>\n <WidgetTarget />\n <WidgetOutline />\n </WidgetContentContainer>\n ),\n []\n );\n const handles = React.useMemo(\n () =>\n resizable && (\n <>\n <FloatingWidgetHandle handle=\"left\" />\n <FloatingWidgetHandle handle=\"top\" />\n <FloatingWidgetHandle handle=\"right\" />\n <FloatingWidgetHandle handle=\"bottom\" />\n <FloatingWidgetHandle handle=\"topLeft\" />\n <FloatingWidgetHandle handle=\"topRight\" />\n <FloatingWidgetHandle handle=\"bottomLeft\" />\n <FloatingWidgetHandle handle=\"bottomRight\" />\n </>\n ),\n [resizable]\n );\n return (\n <Widget\n className={className}\n widgetId={id}\n style={{\n ...style,\n ...maximizedWidget.style,\n }}\n ref={ref}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n >\n <WidgetTabBar separator={!minimized} />\n {content}\n {handles}\n </Widget>\n );\n}\n\nfunction useFloatingWidgetState() {\n const id = useFloatingWidgetId();\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n const floatingWidget = state.floatingWidgets.byId[id];\n const tabs = widget.tabs;\n const activeTabId = widget.activeTabId;\n const activeTab = state.tabs[activeTabId];\n const userSized = floatingWidget.userSized;\n const singleTab = 1 === tabs.length;\n\n const toolSettingsTabId = state.toolSettings?.tabId;\n const isToolSettingsTab = widget.tabs[0] === toolSettingsTabId;\n const resizable = !!floatingWidget.resizable && !isToolSettingsTab;\n const autoSized = singleTab && !userSized;\n return {\n autoSized,\n bounds: floatingWidget.bounds,\n hideWithUiWhenFloating: activeTab.hideWithUiWhenFloating,\n isToolSettingsTab,\n minimized: widget.minimized,\n resizable,\n };\n }, true);\n}\n\n// Re-adjust bounds so that widget is behind pointer when auto-sized.\n// istanbul ignore next\nfunction useHandleAutoSize(dragged: boolean) {\n const dragManager = React.useContext(DragManagerContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const measureNz = React.useContext(MeasureContext);\n const id = useFloatingWidgetId();\n assert(!!id);\n const userSized = useLayout(\n (state) => state.floatingWidgets.byId[id].userSized\n );\n const maximizedWidget = useIsMaximizedWidget();\n\n const updatePosition = React.useRef(true);\n const ref = React.useRef<HTMLDivElement>(null);\n\n React.useLayoutEffect(() => {\n if (!updatePosition.current) return;\n if (!dragged) return;\n if (maximizedWidget) return;\n if (!dragManager.draggedItem) return;\n if (!ref.current) return;\n\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n const nzBounds = measureNz();\n const pointerPosition = dragManager.draggedItem.info.pointerPosition;\n\n if (bounds.containsPoint(pointerPosition)) return;\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (pointerPosition.x > bounds.right) {\n const offset = pointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n dispatch({\n type: \"FLOATING_WIDGET_SET_BOUNDS\",\n id,\n bounds: bounds.toProps(),\n });\n dispatch({\n type: \"FLOATING_WIDGET_SET_USER_SIZED\",\n id,\n userSized: true,\n });\n updatePosition.current = false;\n }, [dragged, dragManager, dispatch, id, measureNz, maximizedWidget]);\n const handleResize = React.useCallback(() => {\n if (!ref.current) return;\n if (dragged) return;\n if (maximizedWidget) return;\n if (userSized) return;\n\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n\n // Adjust bounds to be relative to 9z origin\n const nzBounds = measureNz();\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n dispatch({\n type: \"FLOATING_WIDGET_SET_BOUNDS\",\n id,\n bounds,\n });\n }, [dispatch, dragged, id, userSized, measureNz, maximizedWidget]);\n const roRef = useResizeObserver(handleResize);\n const refs = useRefs(ref, roRef);\n return refs;\n}\n\ninterface FloatingWidgetHandleProps {\n handle: FloatingWidgetResizeHandle;\n}\n\nfunction FloatingWidgetHandle(props: FloatingWidgetHandleProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = useFloatingWidgetId();\n const { handle } = props;\n const relativePosition = React.useRef<Point>(new Point());\n assert(id !== undefined);\n const onDrag = React.useCallback<\n NonNullable<UseDragResizeHandleArgs[\"onDrag\"]>\n >(\n (pointerPosition) => {\n assert(!!ref.current);\n const bounds = Rectangle.create(ref.current.getBoundingClientRect());\n const newRelativePosition = bounds.topLeft().getOffsetTo(pointerPosition);\n const offset = relativePosition.current.getOffsetTo(newRelativePosition);\n const resizeBy = getResizeBy(handle, offset);\n dispatch({\n type: \"FLOATING_WIDGET_RESIZE\",\n id,\n resizeBy,\n });\n },\n [dispatch, handle, id]\n );\n const handleDragStart = useDragResizeHandle({\n handle,\n widgetId: id,\n onDrag,\n });\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs) => {\n assert(!!ref.current);\n const bounds = Rectangle.create(ref.current.getBoundingClientRect());\n const initialPointerPosition = new Point(args.clientX, args.clientY);\n relativePosition.current = bounds\n .topLeft()\n .getOffsetTo(initialPointerPosition);\n handleDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n });\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id,\n });\n },\n [dispatch, handleDragStart, id]\n );\n const pointerCaptorRef = usePointerCaptor(handlePointerDown);\n const ref = React.useRef<HTMLDivElement>(null);\n const refs = useRefs(ref, pointerCaptorRef);\n const isMaximized = useIsMaximizedWidget();\n const className = classnames(\n \"nz-widget-floatingWidget_handle\",\n `nz-${handle}`\n );\n if (isMaximized) return null;\n return <div className={className} ref={refs} />;\n}\n\n/** @internal */\nexport function getResizeBy(handle: FloatingWidgetResizeHandle, offset: XAndY) {\n switch (handle) {\n case \"left\":\n return new Rectangle(-offset.x);\n case \"top\":\n return new Rectangle(0, -offset.y);\n case \"right\":\n return new Rectangle(0, 0, offset.x);\n case \"bottom\":\n return new Rectangle(0, 0, 0, offset.y);\n case \"topLeft\":\n return new Rectangle(-offset.x, -offset.y);\n case \"topRight\":\n return new Rectangle(0, -offset.y, offset.x);\n case \"bottomLeft\":\n return new Rectangle(-offset.x, 0, 0, offset.y);\n case \"bottomRight\":\n return new Rectangle(0, 0, offset.x, offset.y);\n }\n}\n\n/** @internal */\nexport function useFloatingWidgetId(): FloatingWidgetState[\"id\"] | undefined {\n const widgetId = React.useContext(WidgetIdContext);\n return useLayout((state) => {\n if (!widgetId) return undefined;\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n if (!floatingWidget) return undefined;\n\n return widgetId;\n });\n}\n\n/** @internal */\nexport function useWidgetAllowedToDock(): boolean {\n const id = useFloatingWidgetId();\n return useLayout((state) => {\n if (id) {\n const widget = getWidgetState(state, id);\n const activeTab = state.tabs[widget.activeTabId];\n if (activeTab.allowedPanelTargets?.length === 0) {\n return false;\n }\n }\n return true;\n });\n}\n"]}
@@ -113,7 +113,7 @@ function useBorders(widgetId) {
113
113
  if (isVertical && isLast) {
114
114
  bottom = false;
115
115
  }
116
- if (isTopMostPanelBorder && (toolSettings === null || toolSettings === void 0 ? void 0 : toolSettings.type) === "docked") {
116
+ if (isTopMostPanelBorder && toolSettings?.type === "docked") {
117
117
  top = false;
118
118
  }
119
119
  if (isVertical && !isFirst) {
@@ -1 +1 @@
1
- {"version":3,"file":"PanelWidget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/PanelWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./PanelWidget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel\";\nimport { WidgetContentContainer } from \"./ContentContainer\";\nimport { WidgetTabBar } from \"./TabBar\";\nimport { Widget, WidgetProvider } from \"./Widget\";\nimport { WidgetOutline } from \"../outline/WidgetOutline\";\nimport { WidgetTarget } from \"../target/WidgetTarget\";\nimport { isHorizontalPanelState } from \"../state/PanelState\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport type { NineZoneState } from \"../state/NineZoneState\";\n\n/** @internal */\nexport interface PanelWidgetProps {\n widgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport const PanelWidget = React.forwardRef<HTMLDivElement, PanelWidgetProps>(\n function PanelWidget({ widgetId }, ref) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const widgetsLength = useLayout((state) => {\n const panel = state.panels[side];\n return panel.widgets.length;\n });\n const minimized = useLayout((state) => {\n const widget = getWidgetState(state, widgetId);\n return widget.minimized;\n });\n const horizontal = isHorizontalPanelSide(side);\n const mode = useMode(widgetId);\n const borders = useBorders(widgetId);\n const showTarget = widgetsLength !== 1;\n const className = classnames(\n \"nz-widget-panelWidget\",\n horizontal && \"nz-horizontal\",\n `nz-${mode}`,\n borders\n );\n const content = React.useMemo(\n () => (\n <WidgetContentContainer>\n {showTarget && <WidgetTarget />}\n <WidgetOutline />\n </WidgetContentContainer>\n ),\n [showTarget]\n );\n return (\n <WidgetProvider id={widgetId}>\n <Widget className={className} ref={ref}>\n <WidgetTabBar\n separator={isHorizontalPanelSide(side) ? true : !minimized}\n />\n {content}\n </Widget>\n </WidgetProvider>\n );\n }\n);\n\nfunction findFillWidget(state: NineZoneState, side: PanelSide) {\n const panelWidgets = state.panels[side].widgets;\n return panelWidgets.find((widgetId) => {\n const widget = getWidgetState(state, widgetId);\n if (widget.minimized) return false;\n const tabId = widget.activeTabId;\n const tab = state.tabs[tabId];\n if (!tab.preferredPanelWidgetSize) return true;\n return false;\n });\n}\n\n/** @internal */\nexport function useMode(widgetId: string): \"fit\" | \"fill\" | \"minimized\" {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n return useLayout((state) => {\n const fillWidget = findFillWidget(state, side);\n\n // Force `fill` for last panel widget that is not minimized.\n if (!fillWidget) {\n const panel = state.panels[side];\n for (let i = panel.widgets.length - 1; i >= 0; i--) {\n const wId = panel.widgets[i];\n const w = getWidgetState(state, wId);\n if (w.minimized) continue;\n if (wId === widgetId) return \"fill\";\n break;\n }\n }\n\n const widget = getWidgetState(state, widgetId);\n if (widget.minimized) return \"minimized\";\n const tabId = widget.activeTabId;\n const tab = state.tabs[tabId];\n return tab.preferredPanelWidgetSize ? \"fit\" : \"fill\";\n });\n}\n\n/** @internal */\nexport function useBorders(widgetId: WidgetState[\"id\"]) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n return useLayout((state) => {\n const panels = state.panels;\n const panel = panels[side];\n const toolSettings = state.toolSettings;\n const isHorizontal = isHorizontalPanelSide(panel.side);\n const isVertical = !isHorizontal;\n const isFirst = panel.widgets[0] === widgetId;\n const isLast = panel.widgets[panel.widgets.length - 1] === widgetId;\n const isTopMostPanelBorder =\n panel.side === \"top\" ||\n (isVertical && !panels.top.span) ||\n (isVertical && panels.top.span && panels.top.collapsed) ||\n (isVertical && panels.top.widgets.length === 0);\n\n let top = true;\n let bottom = true;\n let left = true;\n let right = true;\n if (panel.side === \"bottom\") {\n bottom = false;\n }\n if (isVertical && isLast) {\n bottom = false;\n }\n if (isTopMostPanelBorder && toolSettings?.type === \"docked\") {\n top = false;\n }\n if (isVertical && !isFirst) {\n top = false;\n }\n if (\n isVertical &&\n panels.top.span &&\n !panels.top.collapsed &&\n panels.top.widgets.length > 0\n ) {\n top = false;\n }\n if (isHorizontal && !isFirst) {\n left = false;\n }\n if (\n isHorizontalPanelState(panel) &&\n !panel.span &&\n isFirst &&\n !panels.left.collapsed &&\n panels.left.widgets.length > 0\n ) {\n left = false;\n }\n if (\n isHorizontalPanelState(panel) &&\n !panel.span &&\n isLast &&\n !panels.right.collapsed &&\n panels.right.widgets.length > 0\n ) {\n right = false;\n }\n return {\n \"nz-border-top\": top,\n \"nz-border-bottom\": bottom,\n \"nz-border-left\": left,\n \"nz-border-right\": right,\n };\n }, true);\n}\n"]}
1
+ {"version":3,"file":"PanelWidget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/PanelWidget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./PanelWidget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel\";\nimport { WidgetContentContainer } from \"./ContentContainer\";\nimport { WidgetTabBar } from \"./TabBar\";\nimport { Widget, WidgetProvider } from \"./Widget\";\nimport { WidgetOutline } from \"../outline/WidgetOutline\";\nimport { WidgetTarget } from \"../target/WidgetTarget\";\nimport { isHorizontalPanelState } from \"../state/PanelState\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport type { NineZoneState } from \"../state/NineZoneState\";\n\n/** @internal */\nexport interface PanelWidgetProps {\n widgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport const PanelWidget = React.forwardRef<HTMLDivElement, PanelWidgetProps>(\n function PanelWidget({ widgetId }, ref) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const widgetsLength = useLayout((state) => {\n const panel = state.panels[side];\n return panel.widgets.length;\n });\n const minimized = useLayout((state) => {\n const widget = getWidgetState(state, widgetId);\n return widget.minimized;\n });\n const horizontal = isHorizontalPanelSide(side);\n const mode = useMode(widgetId);\n const borders = useBorders(widgetId);\n const showTarget = widgetsLength !== 1;\n const className = classnames(\n \"nz-widget-panelWidget\",\n horizontal && \"nz-horizontal\",\n `nz-${mode}`,\n borders\n );\n const content = React.useMemo(\n () => (\n <WidgetContentContainer>\n {showTarget && <WidgetTarget />}\n <WidgetOutline />\n </WidgetContentContainer>\n ),\n [showTarget]\n );\n return (\n <WidgetProvider id={widgetId}>\n <Widget className={className} ref={ref}>\n <WidgetTabBar\n separator={isHorizontalPanelSide(side) ? true : !minimized}\n />\n {content}\n </Widget>\n </WidgetProvider>\n );\n }\n);\n\nfunction findFillWidget(state: NineZoneState, side: PanelSide) {\n const panelWidgets = state.panels[side].widgets;\n return panelWidgets.find((widgetId) => {\n const widget = getWidgetState(state, widgetId);\n if (widget.minimized) return false;\n const tabId = widget.activeTabId;\n const tab = state.tabs[tabId];\n if (!tab.preferredPanelWidgetSize) return true;\n return false;\n });\n}\n\n/** @internal */\nexport function useMode(widgetId: string): \"fit\" | \"fill\" | \"minimized\" {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n return useLayout((state) => {\n const fillWidget = findFillWidget(state, side);\n\n // Force `fill` for last panel widget that is not minimized.\n if (!fillWidget) {\n const panel = state.panels[side];\n for (let i = panel.widgets.length - 1; i >= 0; i--) {\n const wId = panel.widgets[i];\n const w = getWidgetState(state, wId);\n if (w.minimized) continue;\n if (wId === widgetId) return \"fill\";\n break;\n }\n }\n\n const widget = getWidgetState(state, widgetId);\n if (widget.minimized) return \"minimized\";\n const tabId = widget.activeTabId;\n const tab = state.tabs[tabId];\n return tab.preferredPanelWidgetSize ? \"fit\" : \"fill\";\n });\n}\n\n/** @internal */\nexport function useBorders(widgetId: WidgetState[\"id\"]) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n return useLayout((state) => {\n const panels = state.panels;\n const panel = panels[side];\n const toolSettings = state.toolSettings;\n const isHorizontal = isHorizontalPanelSide(panel.side);\n const isVertical = !isHorizontal;\n const isFirst = panel.widgets[0] === widgetId;\n const isLast = panel.widgets[panel.widgets.length - 1] === widgetId;\n const isTopMostPanelBorder =\n panel.side === \"top\" ||\n (isVertical && !panels.top.span) ||\n (isVertical && panels.top.span && panels.top.collapsed) ||\n (isVertical && panels.top.widgets.length === 0);\n\n let top = true;\n let bottom = true;\n let left = true;\n let right = true;\n if (panel.side === \"bottom\") {\n bottom = false;\n }\n if (isVertical && isLast) {\n bottom = false;\n }\n if (isTopMostPanelBorder && toolSettings?.type === \"docked\") {\n top = false;\n }\n if (isVertical && !isFirst) {\n top = false;\n }\n if (\n isVertical &&\n panels.top.span &&\n !panels.top.collapsed &&\n panels.top.widgets.length > 0\n ) {\n top = false;\n }\n if (isHorizontal && !isFirst) {\n left = false;\n }\n if (\n isHorizontalPanelState(panel) &&\n !panel.span &&\n isFirst &&\n !panels.left.collapsed &&\n panels.left.widgets.length > 0\n ) {\n left = false;\n }\n if (\n isHorizontalPanelState(panel) &&\n !panel.span &&\n isLast &&\n !panels.right.collapsed &&\n panels.right.widgets.length > 0\n ) {\n right = false;\n }\n return {\n \"nz-border-top\": top,\n \"nz-border-bottom\": bottom,\n \"nz-border-left\": left,\n \"nz-border-right\": right,\n };\n }, true);\n}\n"]}
@@ -67,7 +67,7 @@ function WidgetTabComponent(props) {
67
67
  const activeTabId = (0, LayoutStore_1.useLayout)((state) => (0, WidgetStateHelpers_1.getWidgetState)(state, widgetId).activeTabId);
68
68
  const minimized = (0, LayoutStore_1.useLayout)((state) => (0, WidgetStateHelpers_1.getWidgetState)(state, widgetId).minimized);
69
69
  const maximizedWidget = (0, useMaximizedWidget_1.useIsMaximizedWidget)();
70
- const resizeObserverRef = (0, core_react_1.useResizeObserver)(widgetTabsEntryContext === null || widgetTabsEntryContext === void 0 ? void 0 : widgetTabsEntryContext.onResize);
70
+ const resizeObserverRef = (0, core_react_1.useResizeObserver)(widgetTabsEntryContext?.onResize);
71
71
  const pointerCaptorRef = useTabInteractions({ clickOnly: maximizedWidget });
72
72
  const refs = (0, core_react_1.useRefs)(resizeObserverRef, pointerCaptorRef);
73
73
  const active = activeTabId === id;
@@ -109,7 +109,7 @@ function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickOnly, })
109
109
  widgetId,
110
110
  id,
111
111
  });
112
- onClick === null || onClick === void 0 ? void 0 : onClick();
112
+ onClick?.();
113
113
  }, [dispatch, widgetId, id, side, onClick]);
114
114
  const handleDoubleClick = React.useCallback(() => {
115
115
  // istanbul ignore next (preview)
@@ -122,7 +122,7 @@ function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickOnly, })
122
122
  floatingWidgetId,
123
123
  id,
124
124
  });
125
- onDoubleClick === null || onDoubleClick === void 0 ? void 0 : onDoubleClick();
125
+ onDoubleClick?.();
126
126
  }, [
127
127
  clickOnly,
128
128
  dispatch,
@@ -172,7 +172,7 @@ function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickOnly, })
172
172
  position,
173
173
  userSized,
174
174
  });
175
- onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart();
175
+ onDragStart?.();
176
176
  initialPointerPosition.current = undefined;
177
177
  }, [
178
178
  clickOnly,
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Tab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n Icon,\n Point,\n Rectangle,\n Timer,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n MeasureContext,\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n TabNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetTabsEntryContext } from \"./Tabs\";\nimport {\n restrainInitialWidgetSize,\n WidgetContext,\n WidgetIdContext,\n} from \"./Widget\";\nimport { TabIdContext } from \"./ContentRenderer\";\nimport { TabTarget } from \"../target/TabTarget\";\nimport { WidgetMenuTab } from \"./MenuTab\";\nimport { WidgetOverflowContext } from \"./Overflow\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabProviderProps extends TabPositionContextArgs {\n id: TabState[\"id\"];\n showOnlyTabIcon?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabProvider({\n id,\n first,\n firstInactive,\n last,\n showOnlyTabIcon,\n}: WidgetTabProviderProps) {\n const tabNode = React.useContext(TabNodeContext);\n const position = React.useMemo<TabPositionContextArgs>(\n () => ({\n first,\n firstInactive,\n last,\n }),\n [first, firstInactive, last]\n );\n return (\n <TabIdContext.Provider value={id}>\n <TabPositionContext.Provider value={position}>\n <IconOnlyOnWidgetTabContext.Provider value={!!showOnlyTabIcon}>\n {tabNode}\n </IconOnlyOnWidgetTabContext.Provider>\n </TabPositionContext.Provider>\n </TabIdContext.Provider>\n );\n}\n\n/** Properties of [[WidgetTab]] component.\n * @internal\n */\nexport interface WidgetTabProps extends CommonProps {\n badge?: React.ReactNode;\n}\n\n/** Component that displays a tab in a side panel widget.\n * @internal\n */\nexport function WidgetTab(props: WidgetTabProps) {\n const widgetOverflow = React.useContext(WidgetOverflowContext);\n const overflown = !!widgetOverflow;\n if (overflown) return <WidgetMenuTab {...props} />;\n return <WidgetTabComponent {...props} />;\n}\n\nfunction WidgetTabComponent(props: WidgetTabProps) {\n const id = React.useContext(TabIdContext);\n const { first, firstInactive, last } = React.useContext(TabPositionContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const showIconOnly = React.useContext(IconOnlyOnWidgetTabContext);\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n assert(!!id);\n assert(!!widgetId);\n\n const iconSpec = useLayout((state) => state.tabs[id].iconSpec);\n const label = useLayout((state) => state.tabs[id].label);\n const activeTabId = useLayout(\n (state) => getWidgetState(state, widgetId).activeTabId\n );\n const minimized = useLayout(\n (state) => getWidgetState(state, widgetId).minimized\n );\n\n const maximizedWidget = useIsMaximizedWidget();\n\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(\n widgetTabsEntryContext?.onResize\n );\n const pointerCaptorRef = useTabInteractions({ clickOnly: maximizedWidget });\n const refs = useRefs<HTMLDivElement>(resizeObserverRef, pointerCaptorRef);\n\n const active = activeTabId === id;\n const className = classnames(\n \"nz-widget-tab\",\n active && \"nz-active\",\n undefined === side && minimized && \"nz-minimized\",\n first && \"nz-first\",\n last && \"nz-last\",\n firstInactive && \"nz-first-inactive\",\n props.className\n );\n\n const showLabel =\n (showIconOnly && !iconSpec) ||\n (showWidgetIcon && !showIconOnly) ||\n !showWidgetIcon;\n return (\n <div\n data-item-id={id}\n data-item-type=\"widget-tab\"\n className={className}\n ref={refs}\n role=\"tab\"\n style={props.style}\n title={label}\n tabIndex={0}\n >\n {(showWidgetIcon || showIconOnly) && iconSpec && (\n <Icon iconSpec={iconSpec} />\n )}\n {showLabel && <span>{label}</span>}\n {props.badge && <div className=\"nz-badge\">{props.badge}</div>}\n <TabTarget />\n </div>\n );\n}\n\n/** @internal */\nexport interface UseTabInteractionsArgs {\n onClick?: () => void;\n onDoubleClick?: () => void;\n onDragStart?: () => void;\n clickOnly?: boolean;\n}\n\n/** @internal */\nexport function useTabInteractions<T extends HTMLElement>({\n onClick,\n onDoubleClick,\n onDragStart,\n clickOnly,\n}: UseTabInteractionsArgs) {\n const id = React.useContext(TabIdContext);\n const widgetContext = React.useContext(WidgetContext);\n const measure = React.useContext(MeasureContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n assert(!!widgetId);\n\n const layoutStore = useLayoutStore();\n const tabRef = React.useRef(layoutStore.getState().tabs[id]);\n const clickCount = React.useRef(0);\n const doubleClickTimer = React.useRef(new Timer(300));\n const initialPointerPosition = React.useRef<Point>();\n\n const overflown = !widgetTabsEntryContext;\n\n React.useEffect(\n () =>\n layoutStore.subscribe((state) => {\n tabRef.current = state.tabs[id];\n }),\n [layoutStore, id]\n );\n\n const handleClick = React.useCallback(() => {\n dispatch({\n type: \"WIDGET_TAB_CLICK\",\n side,\n widgetId,\n id,\n });\n onClick?.();\n }, [dispatch, widgetId, id, side, onClick]);\n const handleDoubleClick = React.useCallback(() => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n dispatch({\n type: \"WIDGET_TAB_DOUBLE_CLICK\",\n side,\n widgetId,\n floatingWidgetId,\n id,\n });\n onDoubleClick?.();\n }, [\n clickOnly,\n dispatch,\n floatingWidgetId,\n widgetId,\n id,\n side,\n onDoubleClick,\n ]);\n\n const handleDragTabStart = useDragTab({\n tabId: id,\n });\n const handleDragStart = React.useCallback(\n (pointerPosition: Point) => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n assert(!!ref.current);\n assert(!!initialPointerPosition.current);\n const nzBounds = measure();\n const nzOffset = new Point(-nzBounds.left, -nzBounds.top);\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n bounds = bounds.offset(nzOffset);\n\n const tab = tabRef.current;\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n let position = bounds.topLeft();\n const widgetBounds = widgetContext.measure();\n const widgetSize = restrainInitialWidgetSize(\n widgetBounds.getSize(),\n nzBounds.getSize()\n );\n if (overflown) {\n position = initialPointerPosition.current.offset(nzOffset);\n position = position.offset({ x: -7, y: -7 });\n }\n\n const dragOffset =\n initialPointerPosition.current.getOffsetTo(pointerPosition);\n position = position.offset(dragOffset);\n\n handleDragTabStart({\n initialPointerPosition: Point.create(initialPointerPosition.current),\n pointerPosition,\n widgetSize,\n });\n dispatch({\n type: \"WIDGET_TAB_DRAG_START\",\n floatingWidgetId,\n side,\n widgetId,\n id,\n position,\n userSized,\n });\n onDragStart?.();\n\n initialPointerPosition.current = undefined;\n },\n [\n clickOnly,\n measure,\n widgetContext,\n handleDragTabStart,\n dispatch,\n floatingWidgetId,\n side,\n widgetId,\n id,\n onDragStart,\n overflown,\n ]\n );\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n e.type === \"touchstart\" &&\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n },\n [dispatch, floatingWidgetId]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n // istanbul ignore next\n if (!initialPointerPosition.current) return;\n\n const pointerPosition = new Point(args.clientX, args.clientY);\n const distance =\n initialPointerPosition.current.getDistanceTo(pointerPosition);\n if (distance < 10) return;\n handleDragStart(pointerPosition);\n },\n [handleDragStart]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n initialPointerPosition.current = undefined;\n doubleClickTimer.current.start();\n }, []);\n\n const pointerCaptorRef = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n const ref = React.useRef<T>();\n const refs = useRefs(pointerCaptorRef, ref);\n\n React.useEffect(() => {\n const timer = doubleClickTimer.current;\n timer.setOnExecute(() => {\n if (clickCount.current === 1) handleClick();\n else handleDoubleClick();\n clickCount.current = 0;\n });\n const keydown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === Key.Enter.valueOf()) {\n handleClick();\n }\n };\n const instance = ref.current;\n instance && instance.addEventListener(\"keydown\", keydown);\n return () => {\n timer.setOnExecute(undefined);\n instance && instance.removeEventListener(\"keydown\", keydown);\n };\n }, [handleClick, handleDoubleClick]);\n return refs;\n}\n\n/** @internal */\nexport interface TabPositionContextArgs {\n first?: boolean;\n last?: boolean;\n firstInactive?: boolean;\n}\n\n/** @internal */\nexport const TabPositionContext = React.createContext<TabPositionContextArgs>(\n undefined!\n);\nTabPositionContext.displayName = \"nz:TabPositionContext\";\n\n/** @internal */\nexport const IconOnlyOnWidgetTabContext = React.createContext<boolean>(false);\nIconOnlyOnWidgetTabContext.displayName = \"nz:IconOnlyOnWidgetTabContext\";\n"]}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Tab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n Icon,\n Point,\n Rectangle,\n Timer,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n MeasureContext,\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n TabNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetTabsEntryContext } from \"./Tabs\";\nimport {\n restrainInitialWidgetSize,\n WidgetContext,\n WidgetIdContext,\n} from \"./Widget\";\nimport { TabIdContext } from \"./ContentRenderer\";\nimport { TabTarget } from \"../target/TabTarget\";\nimport { WidgetMenuTab } from \"./MenuTab\";\nimport { WidgetOverflowContext } from \"./Overflow\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabProviderProps extends TabPositionContextArgs {\n id: TabState[\"id\"];\n showOnlyTabIcon?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabProvider({\n id,\n first,\n firstInactive,\n last,\n showOnlyTabIcon,\n}: WidgetTabProviderProps) {\n const tabNode = React.useContext(TabNodeContext);\n const position = React.useMemo<TabPositionContextArgs>(\n () => ({\n first,\n firstInactive,\n last,\n }),\n [first, firstInactive, last]\n );\n return (\n <TabIdContext.Provider value={id}>\n <TabPositionContext.Provider value={position}>\n <IconOnlyOnWidgetTabContext.Provider value={!!showOnlyTabIcon}>\n {tabNode}\n </IconOnlyOnWidgetTabContext.Provider>\n </TabPositionContext.Provider>\n </TabIdContext.Provider>\n );\n}\n\n/** Properties of [[WidgetTab]] component.\n * @internal\n */\nexport interface WidgetTabProps extends CommonProps {\n badge?: React.ReactNode;\n}\n\n/** Component that displays a tab in a side panel widget.\n * @internal\n */\nexport function WidgetTab(props: WidgetTabProps) {\n const widgetOverflow = React.useContext(WidgetOverflowContext);\n const overflown = !!widgetOverflow;\n if (overflown) return <WidgetMenuTab {...props} />;\n return <WidgetTabComponent {...props} />;\n}\n\nfunction WidgetTabComponent(props: WidgetTabProps) {\n const id = React.useContext(TabIdContext);\n const { first, firstInactive, last } = React.useContext(TabPositionContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const showIconOnly = React.useContext(IconOnlyOnWidgetTabContext);\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n assert(!!id);\n assert(!!widgetId);\n\n const iconSpec = useLayout((state) => state.tabs[id].iconSpec);\n const label = useLayout((state) => state.tabs[id].label);\n const activeTabId = useLayout(\n (state) => getWidgetState(state, widgetId).activeTabId\n );\n const minimized = useLayout(\n (state) => getWidgetState(state, widgetId).minimized\n );\n\n const maximizedWidget = useIsMaximizedWidget();\n\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(\n widgetTabsEntryContext?.onResize\n );\n const pointerCaptorRef = useTabInteractions({ clickOnly: maximizedWidget });\n const refs = useRefs<HTMLDivElement>(resizeObserverRef, pointerCaptorRef);\n\n const active = activeTabId === id;\n const className = classnames(\n \"nz-widget-tab\",\n active && \"nz-active\",\n undefined === side && minimized && \"nz-minimized\",\n first && \"nz-first\",\n last && \"nz-last\",\n firstInactive && \"nz-first-inactive\",\n props.className\n );\n\n const showLabel =\n (showIconOnly && !iconSpec) ||\n (showWidgetIcon && !showIconOnly) ||\n !showWidgetIcon;\n return (\n <div\n data-item-id={id}\n data-item-type=\"widget-tab\"\n className={className}\n ref={refs}\n role=\"tab\"\n style={props.style}\n title={label}\n tabIndex={0}\n >\n {(showWidgetIcon || showIconOnly) && iconSpec && (\n <Icon iconSpec={iconSpec} />\n )}\n {showLabel && <span>{label}</span>}\n {props.badge && <div className=\"nz-badge\">{props.badge}</div>}\n <TabTarget />\n </div>\n );\n}\n\n/** @internal */\nexport interface UseTabInteractionsArgs {\n onClick?: () => void;\n onDoubleClick?: () => void;\n onDragStart?: () => void;\n clickOnly?: boolean;\n}\n\n/** @internal */\nexport function useTabInteractions<T extends HTMLElement>({\n onClick,\n onDoubleClick,\n onDragStart,\n clickOnly,\n}: UseTabInteractionsArgs) {\n const id = React.useContext(TabIdContext);\n const widgetContext = React.useContext(WidgetContext);\n const measure = React.useContext(MeasureContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n assert(!!widgetId);\n\n const layoutStore = useLayoutStore();\n const tabRef = React.useRef(layoutStore.getState().tabs[id]);\n const clickCount = React.useRef(0);\n const doubleClickTimer = React.useRef(new Timer(300));\n const initialPointerPosition = React.useRef<Point>();\n\n const overflown = !widgetTabsEntryContext;\n\n React.useEffect(\n () =>\n layoutStore.subscribe((state) => {\n tabRef.current = state.tabs[id];\n }),\n [layoutStore, id]\n );\n\n const handleClick = React.useCallback(() => {\n dispatch({\n type: \"WIDGET_TAB_CLICK\",\n side,\n widgetId,\n id,\n });\n onClick?.();\n }, [dispatch, widgetId, id, side, onClick]);\n const handleDoubleClick = React.useCallback(() => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n dispatch({\n type: \"WIDGET_TAB_DOUBLE_CLICK\",\n side,\n widgetId,\n floatingWidgetId,\n id,\n });\n onDoubleClick?.();\n }, [\n clickOnly,\n dispatch,\n floatingWidgetId,\n widgetId,\n id,\n side,\n onDoubleClick,\n ]);\n\n const handleDragTabStart = useDragTab({\n tabId: id,\n });\n const handleDragStart = React.useCallback(\n (pointerPosition: Point) => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n assert(!!ref.current);\n assert(!!initialPointerPosition.current);\n const nzBounds = measure();\n const nzOffset = new Point(-nzBounds.left, -nzBounds.top);\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n bounds = bounds.offset(nzOffset);\n\n const tab = tabRef.current;\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n let position = bounds.topLeft();\n const widgetBounds = widgetContext.measure();\n const widgetSize = restrainInitialWidgetSize(\n widgetBounds.getSize(),\n nzBounds.getSize()\n );\n if (overflown) {\n position = initialPointerPosition.current.offset(nzOffset);\n position = position.offset({ x: -7, y: -7 });\n }\n\n const dragOffset =\n initialPointerPosition.current.getOffsetTo(pointerPosition);\n position = position.offset(dragOffset);\n\n handleDragTabStart({\n initialPointerPosition: Point.create(initialPointerPosition.current),\n pointerPosition,\n widgetSize,\n });\n dispatch({\n type: \"WIDGET_TAB_DRAG_START\",\n floatingWidgetId,\n side,\n widgetId,\n id,\n position,\n userSized,\n });\n onDragStart?.();\n\n initialPointerPosition.current = undefined;\n },\n [\n clickOnly,\n measure,\n widgetContext,\n handleDragTabStart,\n dispatch,\n floatingWidgetId,\n side,\n widgetId,\n id,\n onDragStart,\n overflown,\n ]\n );\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n e.type === \"touchstart\" &&\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n },\n [dispatch, floatingWidgetId]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n // istanbul ignore next\n if (!initialPointerPosition.current) return;\n\n const pointerPosition = new Point(args.clientX, args.clientY);\n const distance =\n initialPointerPosition.current.getDistanceTo(pointerPosition);\n if (distance < 10) return;\n handleDragStart(pointerPosition);\n },\n [handleDragStart]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n initialPointerPosition.current = undefined;\n doubleClickTimer.current.start();\n }, []);\n\n const pointerCaptorRef = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n const ref = React.useRef<T>();\n const refs = useRefs(pointerCaptorRef, ref);\n\n React.useEffect(() => {\n const timer = doubleClickTimer.current;\n timer.setOnExecute(() => {\n if (clickCount.current === 1) handleClick();\n else handleDoubleClick();\n clickCount.current = 0;\n });\n const keydown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === Key.Enter.valueOf()) {\n handleClick();\n }\n };\n const instance = ref.current;\n instance && instance.addEventListener(\"keydown\", keydown);\n return () => {\n timer.setOnExecute(undefined);\n instance && instance.removeEventListener(\"keydown\", keydown);\n };\n }, [handleClick, handleDoubleClick]);\n return refs;\n}\n\n/** @internal */\nexport interface TabPositionContextArgs {\n first?: boolean;\n last?: boolean;\n firstInactive?: boolean;\n}\n\n/** @internal */\nexport const TabPositionContext = React.createContext<TabPositionContextArgs>(\n undefined!\n);\nTabPositionContext.displayName = \"nz:TabPositionContext\";\n\n/** @internal */\nexport const IconOnlyOnWidgetTabContext = React.createContext<boolean>(false);\nIconOnlyOnWidgetTabContext.displayName = \"nz:IconOnlyOnWidgetTabContext\";\n"]}
@@ -98,10 +98,10 @@ exports.Widget = React.forwardRef(function Widget(props, forwardedRef) {
98
98
  };
99
99
  const element = elementRef.current;
100
100
  // istanbul ignore next
101
- element === null || element === void 0 ? void 0 : element.addEventListener("click", listener);
101
+ element?.addEventListener("click", listener);
102
102
  return () => {
103
103
  // istanbul ignore next
104
- element === null || element === void 0 ? void 0 : element.removeEventListener("click", listener);
104
+ element?.removeEventListener("click", listener);
105
105
  };
106
106
  }, [dispatch, floatingWidgetId]);
107
107
  const measure = React.useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
1
+ {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
@@ -13,7 +13,7 @@ const Widget_1 = require("./Widget");
13
13
  /** @internal */
14
14
  function useIsToolSettingsTab() {
15
15
  const activeTabId = (0, Widget_1.useActiveTabId)();
16
- const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => { var _a; return (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId; });
16
+ const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => state.toolSettings?.tabId);
17
17
  return activeTabId === toolSettingsTabId;
18
18
  }
19
19
  exports.useIsToolSettingsTab = useIsToolSettingsTab;
@@ -1 +1 @@
1
- {"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;IAC1E,OAAO,WAAW,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAJD,oDAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useActiveTabId } from \"./Widget\";\n\n/** @internal */\nexport function useIsToolSettingsTab() {\n const activeTabId = useActiveTabId();\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return activeTabId === toolSettingsTabId;\n}\n"]}
1
+ {"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,WAAW,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAJD,oDAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useActiveTabId } from \"./Widget\";\n\n/** @internal */\nexport function useIsToolSettingsTab() {\n const activeTabId = useActiveTabId();\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return activeTabId === toolSettingsTabId;\n}\n"]}
@@ -58,18 +58,16 @@ function PanelSplitter() {
58
58
  }
59
59
  }, [updatePanelSize]);
60
60
  const handlePointerUp = React.useCallback((event) => {
61
- var _a, _b;
62
61
  updatePanelSize(event);
63
62
  event.preventDefault();
64
63
  event.stopPropagation();
65
- (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.removeEventListener("pointermove", handlePointerMove);
66
- (_b = containerRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.removeEventListener("pointerup", handlePointerUp);
64
+ containerRef.current?.ownerDocument.removeEventListener("pointermove", handlePointerMove);
65
+ containerRef.current?.ownerDocument.removeEventListener("pointerup", handlePointerUp);
67
66
  }, [handlePointerMove, updatePanelSize]);
68
67
  const handlePointerDownOnSplitter = React.useCallback((event) => {
69
- var _a, _b;
70
68
  if (containerRef.current) {
71
- (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.addEventListener("pointermove", handlePointerMove);
72
- (_b = containerRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.addEventListener("pointerup", handlePointerUp);
69
+ containerRef.current?.ownerDocument.addEventListener("pointermove", handlePointerMove);
70
+ containerRef.current?.ownerDocument.addEventListener("pointerup", handlePointerUp);
73
71
  splitterProcessingActiveRef.current = true;
74
72
  event.preventDefault();
75
73
  event.stopPropagation();
@@ -96,8 +94,7 @@ function PanelSection({ widgetId, index, sectionLength }) {
96
94
  const side = React.useContext(Panel_1.PanelSideContext);
97
95
  (0, core_bentley_1.assert)(!!side);
98
96
  const splitterPercent = (0, LayoutStore_1.useLayout)((state) => {
99
- var _a;
100
- return (_a = state.panels[side].splitterPercent) !== null && _a !== void 0 ? _a : 50;
97
+ return state.panels[side].splitterPercent ?? 50;
101
98
  });
102
99
  const maximizedSection = (0, useMaximizedWidget_1.useMaximizedSection)(widgetId);
103
100
  const isMaximizedPanel = !!(0, useMaximizedWidget_1.useMaximizedPanel)(side);
@@ -1 +1 @@
1
- {"version":3,"file":"PanelSections.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/PanelSections.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport \"./PanelSections.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport { PanelWidget } from \"../widget/PanelWidget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { isHorizontalPanelSide, PanelSideContext } from \"./Panel\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport {\n useMaximizedPanel,\n useMaximizedSection,\n} from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n// istanbul ignore next\nfunction PanelSplitter() {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const splitterProcessingActiveRef = React.useRef<boolean>(false);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const getPercentage = React.useCallback(\n (min: number, max: number, current: number) => {\n const range = max - min;\n const adjusted = Math.max(min, Math.min(max, current));\n if (adjusted === min) return 0;\n if (adjusted === max) return 100;\n const percent = ((adjusted - min) * 100) / range;\n return percent;\n },\n []\n );\n\n const updatePanelSize = React.useCallback(\n (event: PointerEvent) => {\n if (!containerRef.current) return;\n\n const parentPanel = containerRef.current.closest(\n \".nz-widgetPanels-panel\"\n );\n const sectionToResize = containerRef.current.parentElement as HTMLElement;\n if (parentPanel && sectionToResize) {\n const rect = parentPanel.getBoundingClientRect();\n const percent = getPercentage(\n isHorizontal ? rect.left : rect.top,\n isHorizontal ? rect.right : rect.bottom,\n isHorizontal ? event.clientX : event.clientY\n );\n\n dispatch({\n type: \"PANEL_SET_SPLITTER_VALUE\",\n side,\n percent,\n });\n }\n },\n [getPercentage, isHorizontal, side, dispatch]\n );\n\n const handlePointerMove = React.useCallback(\n (event: Event): void => {\n if (splitterProcessingActiveRef.current) {\n event.preventDefault();\n event.stopPropagation();\n updatePanelSize(event as PointerEvent);\n }\n },\n [updatePanelSize]\n );\n\n const handlePointerUp = React.useCallback(\n (event: Event) => {\n updatePanelSize(event as PointerEvent);\n event.preventDefault();\n event.stopPropagation();\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointerup\",\n handlePointerUp\n );\n },\n [handlePointerMove, updatePanelSize]\n );\n\n const handlePointerDownOnSplitter = React.useCallback(\n (event: React.PointerEvent) => {\n if (containerRef.current) {\n containerRef.current?.ownerDocument.addEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.addEventListener(\n \"pointerup\",\n handlePointerUp\n );\n splitterProcessingActiveRef.current = true;\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handlePointerMove, handlePointerUp]\n );\n\n const className = isHorizontal\n ? \"nz-horizontal-panel-splitter\"\n : \"nz-vertical-panel-splitter\";\n return (\n <div\n ref={containerRef}\n className={className}\n onPointerDown={handlePointerDownOnSplitter}\n />\n );\n}\n\n/** @internal */\nexport function PanelSections() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const widgets = useLayout((state) => {\n return state.panels[side].widgets;\n });\n\n return (\n <>\n {widgets.map((widgetId, index, array) => {\n return (\n <PanelSection\n key={widgetId}\n widgetId={widgetId}\n index={index}\n sectionLength={array.length}\n />\n );\n })}\n </>\n );\n}\n\ninterface PanelSectionProps {\n widgetId: WidgetState[\"id\"];\n index: number;\n sectionLength: number;\n}\n\nfunction PanelSection({ widgetId, index, sectionLength }: PanelSectionProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const splitterPercent = useLayout((state) => {\n return state.panels[side].splitterPercent ?? 50;\n });\n\n const maximizedSection = useMaximizedSection(widgetId);\n const isMaximizedPanel = !!useMaximizedPanel(side);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const last = index === sectionLength - 1;\n const className = classnames(\n \"nz-widgetPanels-panelSections_section\",\n `nz-panel-section-${index}`,\n isHorizontal ? \"nz-widgetPanels-horizontal\" : \"nz-widgetPanels-vertical\",\n last && 0 === index && \"nz-panel-section-full-size\",\n maximizedSection\n );\n\n const hasSplitter = !last && 0 === index && !isMaximizedPanel;\n const panelStyle = hasSplitter\n ? getSplitterStyle(isHorizontal, splitterPercent)\n : undefined;\n return (\n <div className={className} style={panelStyle}>\n <PanelWidget widgetId={widgetId} />\n {hasSplitter && <PanelSplitter />}\n </div>\n );\n}\n\nfunction getSplitterStyle(isHorizontal: boolean, splitterPercent: number) {\n if (isHorizontal) {\n return {\n width: `${splitterPercent}%`,\n } as const;\n }\n return {\n height: `${splitterPercent}%`,\n } as const;\n}\n"]}
1
+ {"version":3,"file":"PanelSections.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/PanelSections.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport \"./PanelSections.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport { PanelWidget } from \"../widget/PanelWidget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { isHorizontalPanelSide, PanelSideContext } from \"./Panel\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport {\n useMaximizedPanel,\n useMaximizedSection,\n} from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n// istanbul ignore next\nfunction PanelSplitter() {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const splitterProcessingActiveRef = React.useRef<boolean>(false);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const getPercentage = React.useCallback(\n (min: number, max: number, current: number) => {\n const range = max - min;\n const adjusted = Math.max(min, Math.min(max, current));\n if (adjusted === min) return 0;\n if (adjusted === max) return 100;\n const percent = ((adjusted - min) * 100) / range;\n return percent;\n },\n []\n );\n\n const updatePanelSize = React.useCallback(\n (event: PointerEvent) => {\n if (!containerRef.current) return;\n\n const parentPanel = containerRef.current.closest(\n \".nz-widgetPanels-panel\"\n );\n const sectionToResize = containerRef.current.parentElement as HTMLElement;\n if (parentPanel && sectionToResize) {\n const rect = parentPanel.getBoundingClientRect();\n const percent = getPercentage(\n isHorizontal ? rect.left : rect.top,\n isHorizontal ? rect.right : rect.bottom,\n isHorizontal ? event.clientX : event.clientY\n );\n\n dispatch({\n type: \"PANEL_SET_SPLITTER_VALUE\",\n side,\n percent,\n });\n }\n },\n [getPercentage, isHorizontal, side, dispatch]\n );\n\n const handlePointerMove = React.useCallback(\n (event: Event): void => {\n if (splitterProcessingActiveRef.current) {\n event.preventDefault();\n event.stopPropagation();\n updatePanelSize(event as PointerEvent);\n }\n },\n [updatePanelSize]\n );\n\n const handlePointerUp = React.useCallback(\n (event: Event) => {\n updatePanelSize(event as PointerEvent);\n event.preventDefault();\n event.stopPropagation();\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointerup\",\n handlePointerUp\n );\n },\n [handlePointerMove, updatePanelSize]\n );\n\n const handlePointerDownOnSplitter = React.useCallback(\n (event: React.PointerEvent) => {\n if (containerRef.current) {\n containerRef.current?.ownerDocument.addEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.addEventListener(\n \"pointerup\",\n handlePointerUp\n );\n splitterProcessingActiveRef.current = true;\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handlePointerMove, handlePointerUp]\n );\n\n const className = isHorizontal\n ? \"nz-horizontal-panel-splitter\"\n : \"nz-vertical-panel-splitter\";\n return (\n <div\n ref={containerRef}\n className={className}\n onPointerDown={handlePointerDownOnSplitter}\n />\n );\n}\n\n/** @internal */\nexport function PanelSections() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const widgets = useLayout((state) => {\n return state.panels[side].widgets;\n });\n\n return (\n <>\n {widgets.map((widgetId, index, array) => {\n return (\n <PanelSection\n key={widgetId}\n widgetId={widgetId}\n index={index}\n sectionLength={array.length}\n />\n );\n })}\n </>\n );\n}\n\ninterface PanelSectionProps {\n widgetId: WidgetState[\"id\"];\n index: number;\n sectionLength: number;\n}\n\nfunction PanelSection({ widgetId, index, sectionLength }: PanelSectionProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const splitterPercent = useLayout((state) => {\n return state.panels[side].splitterPercent ?? 50;\n });\n\n const maximizedSection = useMaximizedSection(widgetId);\n const isMaximizedPanel = !!useMaximizedPanel(side);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const last = index === sectionLength - 1;\n const className = classnames(\n \"nz-widgetPanels-panelSections_section\",\n `nz-panel-section-${index}`,\n isHorizontal ? \"nz-widgetPanels-horizontal\" : \"nz-widgetPanels-vertical\",\n last && 0 === index && \"nz-panel-section-full-size\",\n maximizedSection\n );\n\n const hasSplitter = !last && 0 === index && !isMaximizedPanel;\n const panelStyle = hasSplitter\n ? getSplitterStyle(isHorizontal, splitterPercent)\n : undefined;\n return (\n <div className={className} style={panelStyle}>\n <PanelWidget widgetId={widgetId} />\n {hasSplitter && <PanelSplitter />}\n </div>\n );\n}\n\nfunction getSplitterStyle(isHorizontal: boolean, splitterPercent: number) {\n if (isHorizontal) {\n return {\n width: `${splitterPercent}%`,\n } as const;\n }\n return {\n height: `${splitterPercent}%`,\n } as const;\n}\n"]}
@@ -158,10 +158,9 @@ function useAnimatePanel() {
158
158
  setTransition(undefined);
159
159
  }, []);
160
160
  const size = React.useMemo(() => {
161
- var _a;
162
161
  if (panelSize !== undefined)
163
162
  return panelSize;
164
- return panel.collapsed ? 0 : (_a = panel.size) !== null && _a !== void 0 ? _a : panel.minSize;
163
+ return panel.collapsed ? 0 : panel.size ?? panel.minSize;
165
164
  }, [panel.size, panel.collapsed, panel.minSize, panelSize]);
166
165
  return { ref, size, handleTransitionEnd, contentSize, transition };
167
166
  }