@itwin/appui-react 4.10.0-dev.1 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1183) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +301 -21
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +7 -9
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/Calculator.js +9 -9
  21. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  23. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  24. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
  26. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  28. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  30. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  31. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  35. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  36. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  40. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  41. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  42. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  43. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  44. package/lib/cjs/appui-react/content/ContentGroup.js +2 -2
  45. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  46. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  47. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  48. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  49. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  50. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  51. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  52. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  53. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  54. package/lib/cjs/appui-react/content/IModelViewport.js +10 -11
  55. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  56. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  57. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  58. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  59. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  60. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  61. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  62. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  63. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  65. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  66. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  67. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  69. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  70. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  71. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  72. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  73. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  74. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -2
  75. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  76. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  77. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  78. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  79. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  80. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
  82. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  83. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  85. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  86. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  87. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  89. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  90. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  91. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  92. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  93. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  94. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  95. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  96. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  97. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  98. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  99. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  100. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  101. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  102. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  103. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  104. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  105. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  106. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  107. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  108. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  109. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  110. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  111. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  112. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  113. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  114. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  115. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  116. package/lib/cjs/appui-react/layers.scss +11 -0
  117. package/lib/cjs/appui-react/layout/StandardLayout.d.ts +24 -0
  118. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -0
  119. package/lib/cjs/appui-react/layout/StandardLayout.js +56 -0
  120. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -0
  121. package/lib/cjs/appui-react/layout/StandardLayout.scss +94 -0
  122. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  123. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  124. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  125. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  126. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  127. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  128. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  129. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +4 -4
  130. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  131. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  133. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  134. package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +1 -10
  135. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  136. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  138. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  140. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  142. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  143. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  145. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  146. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  148. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  149. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  151. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  152. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  153. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  154. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  155. package/lib/cjs/appui-react/layout/target/PanelTargets.scss +2 -0
  156. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  157. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  158. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  159. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +52 -21
  161. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  162. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +15 -23
  163. package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  164. package/lib/cjs/appui-react/layout/tool-settings/Handle.js +3 -1
  165. package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
  166. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +6 -12
  167. package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js +4 -5
  169. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  170. package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +0 -15
  171. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -12
  172. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +4 -4
  173. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/layout/widget/Buttons.js +8 -31
  175. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  176. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  177. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  178. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  180. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +2 -0
  181. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  182. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +1 -1
  183. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/layout/widget/ContentManager.js +1 -1
  185. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  186. package/lib/cjs/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  187. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +8 -2
  188. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  189. package/lib/cjs/appui-react/layout/widget/Dock.d.ts +2 -0
  190. package/lib/cjs/appui-react/layout/widget/Dock.d.ts.map +1 -1
  191. package/lib/cjs/appui-react/layout/widget/Dock.js +10 -1
  192. package/lib/cjs/appui-react/layout/widget/Dock.js.map +1 -1
  193. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  194. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  196. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +19 -19
  197. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  198. package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +92 -105
  199. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  200. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  201. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  202. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts +2 -0
  203. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  204. package/lib/cjs/appui-react/layout/widget/PinToggle.js +10 -1
  205. package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
  206. package/lib/cjs/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/layout/widget/SendBack.js +4 -5
  208. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  210. package/lib/cjs/appui-react/layout/widget/Tab.js +9 -14
  211. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  212. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  213. package/lib/cjs/appui-react/layout/widget/TabBar.js +4 -1
  214. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  215. package/lib/cjs/appui-react/layout/widget/TabBar.scss +17 -19
  216. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  217. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  218. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  219. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  220. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  221. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  222. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  223. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  224. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js +39 -0
  225. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  226. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  227. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  228. package/lib/cjs/appui-react/layout/widget-panels/Grip.js +4 -0
  229. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  230. package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +106 -104
  231. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  232. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/layout/widget-panels/Panel.js +10 -16
  234. package/lib/cjs/appui-react/layout/widget-panels/Panel.js.map +1 -1
  235. package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +175 -243
  236. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  237. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +42 -35
  239. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  240. package/lib/cjs/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  241. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  242. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  243. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  244. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  245. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  246. package/lib/cjs/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -26
  247. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  248. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  249. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  250. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  251. package/lib/cjs/appui-react/messages/MessageManager.js +6 -7
  252. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  253. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  254. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  255. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  256. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  257. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  258. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  259. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  261. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  262. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  263. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  264. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  265. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  266. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  267. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  268. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  269. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  270. package/lib/cjs/appui-react/popup/CardPopup.js +13 -6
  271. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  272. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  273. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  274. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  275. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  276. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  277. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  279. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  280. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  281. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  283. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  284. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  285. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +25 -16
  286. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  287. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  288. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  289. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +10 -4
  290. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  291. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  292. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  293. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  294. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  295. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  296. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  297. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  298. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  299. package/lib/cjs/appui-react/popup/ToolbarPopup.js +8 -3
  300. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  301. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +9 -2
  302. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/preview/PreviewFeatures.js +3 -2
  304. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  305. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  306. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  307. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  308. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  309. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  310. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  311. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  312. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  313. package/lib/cjs/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  314. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  315. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  316. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +51 -0
  317. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  318. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  319. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  320. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +27 -0
  321. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  322. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  323. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  324. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +115 -0
  325. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  326. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  327. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  328. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  329. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +18 -22
  330. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  331. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  332. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  333. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +30 -0
  334. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  335. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  336. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  337. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  338. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  339. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  340. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  341. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  342. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
  343. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  344. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  345. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  346. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  347. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  348. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  349. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  350. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  351. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
  352. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  353. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  354. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  355. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  356. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  357. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  358. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  359. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  360. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  361. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  362. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  363. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  364. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  365. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  366. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  367. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  368. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  369. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  370. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  371. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  372. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  373. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  374. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  375. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  376. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  377. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  378. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  379. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  380. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  381. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  382. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  383. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  385. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  386. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  387. package/lib/cjs/appui-react/redux/SessionState.d.ts +17 -5
  388. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  389. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  390. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  391. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  392. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  393. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  394. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  395. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  396. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  397. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  398. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  399. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  401. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  402. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  403. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  404. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  405. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  406. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  407. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  408. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  409. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  410. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  411. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  412. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  413. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  414. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  415. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
  416. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  417. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  418. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  419. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  420. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  421. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  422. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  423. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  424. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  425. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  426. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
  427. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  428. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  429. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  430. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  431. package/lib/{esm/appui-react/statusbar → cjs/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  432. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  433. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  434. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  435. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  436. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  437. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +5 -4
  438. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  439. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  440. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  441. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  442. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  443. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  444. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  445. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  446. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  447. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  448. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  449. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  450. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  451. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  452. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  453. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  455. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  456. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  457. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  458. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  459. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  460. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  461. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  462. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  463. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  464. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  465. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  466. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  467. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  468. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  469. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  470. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  471. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  472. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  473. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  474. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  475. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  476. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  477. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  478. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  479. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  480. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  481. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  482. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  483. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  484. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  485. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -1
  486. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  487. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  488. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  489. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  490. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  491. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  492. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  493. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  494. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  495. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  496. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  497. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  498. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  499. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  500. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  501. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  502. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  503. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  504. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  505. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  506. package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
  507. package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
  508. package/lib/cjs/appui-react/useTranslation.js +20 -0
  509. package/lib/cjs/appui-react/useTranslation.js.map +1 -0
  510. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  511. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  512. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  513. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  514. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  515. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  516. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  517. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  518. package/lib/cjs/appui-react/utils/matchesWords.js +4 -4
  519. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  520. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  521. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  522. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  523. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  524. package/lib/cjs/appui-react/widget-panels/Frontstage.js +43 -39
  525. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  526. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +0 -23
  527. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  528. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  529. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  530. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  531. package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
  532. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  533. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  534. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  535. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  536. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  537. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +0 -6
  538. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  539. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  540. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  541. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  542. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  543. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  544. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  545. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  546. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  547. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  548. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  549. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  550. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +9 -4
  551. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  552. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  553. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  554. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  555. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  556. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  557. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  558. package/lib/cjs/appui-react.d.ts +4 -1
  559. package/lib/cjs/appui-react.d.ts.map +1 -1
  560. package/lib/cjs/appui-react.js +4 -3
  561. package/lib/cjs/appui-react.js.map +1 -1
  562. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  563. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  564. package/lib/esm/appui-react/UiFramework.js +301 -21
  565. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  566. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  567. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  568. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  569. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  570. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  571. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  572. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  573. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  574. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +7 -9
  575. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  576. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  577. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  578. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  579. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  580. package/lib/esm/appui-react/accudraw/Calculator.js +9 -9
  581. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  582. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  583. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  584. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  585. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
  586. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  587. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  588. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  589. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  590. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  591. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  592. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  593. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  594. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  595. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  596. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  597. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  598. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  599. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  600. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  601. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  602. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  603. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  604. package/lib/esm/appui-react/content/ContentGroup.js +2 -2
  605. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  606. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  607. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  608. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  609. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  610. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  611. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  612. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  613. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  614. package/lib/esm/appui-react/content/IModelViewport.js +10 -11
  615. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  616. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  617. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  618. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  619. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  620. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  621. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  622. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  623. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  624. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  625. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  626. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  627. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  628. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  629. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  630. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  631. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  632. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  633. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  634. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -2
  635. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  636. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  637. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  638. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  639. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  640. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  641. package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
  642. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  643. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  644. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  645. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  646. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  647. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  648. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  649. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  650. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  651. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  652. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  653. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  654. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  655. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  656. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  657. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  658. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  659. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  660. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  661. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  662. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  663. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  664. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  665. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  666. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  667. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  668. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  669. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  670. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  671. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  672. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  673. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  674. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  675. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  676. package/lib/esm/appui-react/layers.scss +11 -0
  677. package/lib/esm/appui-react/layout/StandardLayout.d.ts +24 -0
  678. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -0
  679. package/lib/esm/appui-react/layout/StandardLayout.js +52 -0
  680. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -0
  681. package/lib/esm/appui-react/layout/StandardLayout.scss +94 -0
  682. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  683. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -1
  684. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  685. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  686. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  687. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  688. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  689. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +4 -4
  690. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  691. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  692. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  693. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  694. package/lib/esm/appui-react/layout/outline/PanelOutline.scss +1 -10
  695. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  696. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  697. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  698. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  699. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  700. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  701. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  702. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  703. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  704. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  705. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  706. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  707. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +8 -2
  708. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  709. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  710. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  711. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  712. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  713. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  714. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  715. package/lib/esm/appui-react/layout/target/PanelTargets.scss +2 -0
  716. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  717. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  718. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  719. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  720. package/lib/esm/appui-react/layout/tool-settings/Docked.js +53 -22
  721. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  722. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +15 -23
  723. package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  724. package/lib/esm/appui-react/layout/tool-settings/Handle.js +3 -1
  725. package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
  726. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +6 -12
  727. package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  728. package/lib/esm/appui-react/layout/tool-settings/Overflow.js +4 -5
  729. package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  730. package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +0 -15
  731. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -12
  732. package/lib/esm/appui-react/layout/widget/Buttons.d.ts +4 -4
  733. package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  734. package/lib/esm/appui-react/layout/widget/Buttons.js +8 -30
  735. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  736. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  737. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  738. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  739. package/lib/esm/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  740. package/lib/esm/appui-react/layout/widget/ContentContainer.js +2 -0
  741. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  742. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +1 -1
  743. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  744. package/lib/esm/appui-react/layout/widget/ContentManager.js +1 -1
  745. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  746. package/lib/esm/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  747. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +8 -2
  748. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  749. package/lib/esm/appui-react/layout/widget/Dock.d.ts +2 -0
  750. package/lib/esm/appui-react/layout/widget/Dock.d.ts.map +1 -1
  751. package/lib/esm/appui-react/layout/widget/Dock.js +8 -0
  752. package/lib/esm/appui-react/layout/widget/Dock.js.map +1 -1
  753. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  754. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  755. package/lib/esm/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  756. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +19 -19
  757. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  758. package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +92 -105
  759. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  760. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  761. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  762. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts +2 -0
  763. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  764. package/lib/esm/appui-react/layout/widget/PinToggle.js +8 -0
  765. package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
  766. package/lib/esm/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  767. package/lib/esm/appui-react/layout/widget/SendBack.js +4 -5
  768. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  769. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  770. package/lib/esm/appui-react/layout/widget/Tab.js +9 -14
  771. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  772. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  773. package/lib/esm/appui-react/layout/widget/TabBar.js +4 -1
  774. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  775. package/lib/esm/appui-react/layout/widget/TabBar.scss +17 -19
  776. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  777. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  778. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  779. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  780. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  781. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  782. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  783. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  784. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js +34 -0
  785. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  786. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  787. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  788. package/lib/esm/appui-react/layout/widget-panels/Grip.js +4 -0
  789. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  790. package/lib/esm/appui-react/layout/widget-panels/Grip.scss +106 -104
  791. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  792. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  793. package/lib/esm/appui-react/layout/widget-panels/Panel.js +10 -16
  794. package/lib/esm/appui-react/layout/widget-panels/Panel.js.map +1 -1
  795. package/lib/esm/appui-react/layout/widget-panels/Panel.scss +175 -243
  796. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  797. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  798. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +41 -34
  799. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  800. package/lib/esm/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  801. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  802. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  803. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  804. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  805. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  806. package/lib/esm/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -25
  807. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  808. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  809. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  810. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  811. package/lib/esm/appui-react/messages/MessageManager.js +6 -7
  812. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  813. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  814. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  815. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  816. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  817. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  818. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  819. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  820. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  821. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  822. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  823. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  824. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +2 -3
  825. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  826. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  827. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  828. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  829. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  830. package/lib/esm/appui-react/popup/CardPopup.js +16 -8
  831. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  832. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  833. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  834. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  835. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  836. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  837. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  838. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  839. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  840. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  841. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  842. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  843. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  844. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  845. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +25 -16
  846. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  847. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  848. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  849. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +10 -4
  850. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  851. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  852. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  853. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  854. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  855. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  856. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  857. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  858. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  859. package/lib/esm/appui-react/popup/ToolbarPopup.js +10 -4
  860. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  861. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +9 -2
  862. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  863. package/lib/esm/appui-react/preview/PreviewFeatures.js +3 -2
  864. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  865. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  866. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  867. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  868. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  869. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  870. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  871. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  872. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  873. package/lib/esm/appui-react/{layout/widget-panels/CenterContent.scss → preview/content-always-max-size/useContentAlwaysMaxSize.scss} +5 -2
  874. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  875. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  876. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +46 -0
  877. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  878. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  879. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  880. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +23 -0
  881. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  882. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  883. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  884. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +106 -0
  885. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  886. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  887. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  888. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  889. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +16 -19
  890. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  891. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  892. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  893. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +26 -0
  894. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  895. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  896. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  897. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  898. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  899. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  900. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  901. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  902. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
  903. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  904. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  905. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  906. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  907. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  908. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  909. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  910. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  911. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
  912. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  913. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  914. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  915. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  916. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  917. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  918. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  919. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  920. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  921. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  922. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  923. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  924. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  925. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  926. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  927. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  928. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  929. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  930. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  931. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  932. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  933. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  934. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  935. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  936. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  937. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  938. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  939. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  940. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  941. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  942. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  943. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  944. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +7 -6
  945. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  946. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  947. package/lib/esm/appui-react/redux/SessionState.d.ts +17 -5
  948. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  949. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  950. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  951. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  952. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  953. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  954. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  955. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  956. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  957. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  958. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  959. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  960. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  961. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  962. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  963. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  964. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  965. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  966. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  967. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  968. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  969. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  970. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  971. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  972. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  973. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  974. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  975. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
  976. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  977. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  978. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  979. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  980. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  981. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  982. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  983. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  984. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  985. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  986. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
  987. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  988. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  989. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  990. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  991. package/lib/{cjs/appui-react/statusbar → esm/appui-react/statusbar/popup}/Popup.d.ts +2 -1
  992. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  993. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  994. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  995. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  996. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  997. package/lib/esm/appui-react/statusfields/ActivityCenter.js +5 -4
  998. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  999. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  1000. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  1001. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  1002. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  1003. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  1004. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  1005. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  1006. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  1007. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  1008. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  1009. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  1010. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  1011. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  1012. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  1013. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  1014. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  1015. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  1016. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  1017. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  1018. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1019. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  1020. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  1021. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  1022. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  1023. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  1024. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  1025. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  1026. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  1027. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  1028. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  1029. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  1030. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  1031. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  1032. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  1033. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  1034. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  1035. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  1036. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  1037. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  1039. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  1040. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  1041. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  1042. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  1043. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1044. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  1045. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -1
  1046. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  1047. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  1048. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  1049. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  1050. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  1051. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  1052. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  1053. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  1054. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1055. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  1056. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  1057. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  1058. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  1059. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  1060. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  1061. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  1062. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1063. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  1064. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  1065. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  1066. package/lib/esm/appui-react/useTranslation.d.ts +10 -0
  1067. package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
  1068. package/lib/esm/appui-react/useTranslation.js +16 -0
  1069. package/lib/esm/appui-react/useTranslation.js.map +1 -0
  1070. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  1071. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  1072. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  1073. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  1074. package/lib/esm/appui-react/utils/Placement.js +57 -0
  1075. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  1076. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  1077. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1078. package/lib/esm/appui-react/utils/matchesWords.js +4 -4
  1079. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  1080. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  1081. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  1082. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1083. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1084. package/lib/esm/appui-react/widget-panels/Frontstage.js +45 -41
  1085. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1086. package/lib/esm/appui-react/widget-panels/Frontstage.scss +0 -23
  1087. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  1088. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1089. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  1090. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  1091. package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
  1092. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  1093. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  1094. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  1095. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  1096. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  1097. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +0 -6
  1098. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  1099. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  1100. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  1101. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  1102. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  1103. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  1104. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1105. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  1106. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1107. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  1108. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  1109. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  1110. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +9 -4
  1111. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1112. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  1113. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1114. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  1115. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  1116. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  1117. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  1118. package/lib/esm/appui-react.d.ts +4 -1
  1119. package/lib/esm/appui-react.d.ts.map +1 -1
  1120. package/lib/esm/appui-react.js +4 -1
  1121. package/lib/esm/appui-react.js.map +1 -1
  1122. package/lib/public/locales/en/UiFramework.json +8 -2
  1123. package/package.json +22 -20
  1124. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  1125. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1126. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  1127. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1128. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1129. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1130. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1131. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1132. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1133. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1134. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -65
  1135. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1136. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1137. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1138. package/lib/cjs/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1139. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1140. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1141. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js +0 -23
  1142. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1143. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1144. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1145. package/lib/cjs/appui-react/layout/widget-panels/Content.js +0 -21
  1146. package/lib/cjs/appui-react/layout/widget-panels/Content.js.map +0 -1
  1147. package/lib/cjs/appui-react/layout/widget-panels/Content.scss +0 -37
  1148. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1149. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1150. package/lib/cjs/appui-react/layout/widget-panels/Panels.js +0 -48
  1151. package/lib/cjs/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1152. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  1153. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  1154. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  1155. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  1156. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  1157. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  1158. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  1159. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  1160. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  1161. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  1162. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  1163. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  1164. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -58
  1165. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  1166. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  1167. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  1168. package/lib/esm/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  1169. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  1170. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  1171. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js +0 -19
  1172. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  1173. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts +0 -21
  1174. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  1175. package/lib/esm/appui-react/layout/widget-panels/Content.js +0 -18
  1176. package/lib/esm/appui-react/layout/widget-panels/Content.js.map +0 -1
  1177. package/lib/esm/appui-react/layout/widget-panels/Content.scss +0 -37
  1178. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  1179. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  1180. package/lib/esm/appui-react/layout/widget-panels/Panels.js +0 -44
  1181. package/lib/esm/appui-react/layout/widget-panels/Panels.js.map +0 -1
  1182. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  1183. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -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 { 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 { Key } from \"ts-key-enum\";\nimport { usePreviewMaximizedWidget } from \"./PreviewMaximizeToggle\";\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 { enabled: enableMaximizedFloatingWidget, maximizedWidget } =\n usePreviewMaximizedWidget();\n const floatingWidgetId = useFloatingWidgetId();\n // istanbul ignore next (preview)\n const maximized =\n !!floatingWidgetId &&\n maximizedWidget === floatingWidgetId &&\n enableMaximizedFloatingWidget;\n\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(\n widgetTabsEntryContext?.onResize\n );\n const pointerCaptorRef = useTabInteractions({ clickOnly: maximized });\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) {\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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAC;AAejD,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAkFpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,EAC3C,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,KAAK,IAAI,EAC7E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,EAClC,SAAS,CAAC,EAAE,MAAM,IAAI,EACtB,YAAY,CAAC,EAAE,MAAM,IAAI,EACzB,aAAa,CAAC,EAAE,MAAM,IAAI,gCAqD3B"}
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAC;AAgBjD,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAmFpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,EAC3C,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,KAAK,IAAI,EAC7E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,EAClC,SAAS,CAAC,EAAE,MAAM,IAAI,EACtB,YAAY,CAAC,EAAE,MAAM,IAAI,EACzB,aAAa,CAAC,EAAE,MAAM,IAAI,gCAqD3B"}
@@ -21,6 +21,7 @@ const Tabs_1 = require("./Tabs");
21
21
  const Widget_1 = require("./Widget");
22
22
  const Grip_1 = require("../widget-panels/Grip");
23
23
  const FloatingWidget_1 = require("./FloatingWidget");
24
+ const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
24
25
  /** @internal */
25
26
  function WidgetTabBar(props) {
26
27
  const dispatch = React.useContext(NineZone_1.NineZoneDispatchContext);
@@ -73,9 +74,11 @@ function WidgetTabBar(props) {
73
74
  });
74
75
  }, [dispatch, floatingWidgetId]);
75
76
  const ref = useDrag(handleDragStart, undefined, undefined, handleTouchStart, handleDoubleClick);
77
+ const maximizedWidgetHandle = (0, useMaximizedWidget_1.useMaximizedWidgetTabBarHandle)();
76
78
  const className = (0, classnames_1.default)("nz-widget-tabBar", props.separator && "nz-separator");
79
+ const handleClassName = (0, classnames_1.default)("nz-handle", maximizedWidgetHandle);
77
80
  return (React.createElement("div", { ref: containerRef, className: className },
78
- React.createElement("div", { className: "nz-handle", ref: ref }),
81
+ React.createElement("div", { className: handleClassName, ref: ref }),
79
82
  React.createElement(Tabs_1.WidgetTabs, null),
80
83
  React.createElement(Buttons_1.TabBarButtons, null)));
81
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,yBAAuB;AACvB,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,kDAAiD;AAEjD,qDAAoD;AACpD,+CAA2D;AAK3D,+DAA4D;AAC5D,uCAA0C;AAC1C,iCAAoC;AACpC,qCAA2C;AAC3C,gDAAuD;AACvD,qDAAuD;AAOvD,gBAAgB;AAChB,SAAgB,YAAY,CAAC,KAAwB;IACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,IAAA,oCAAmB,GAAE,CAAC;IAC/C,IAAA,qBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,MAAM,QAAQ,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACxE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,gBAAgB;YACd,QAAQ,CAAC;gBACP,IAAI,EAAE,kCAAkC;gBACxC,EAAE,EAAE,gBAAgB;aACrB,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjC,MAAM,qBAAqB,GAAG,IAAA,qBAAc,EAAC,iBAAiB,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,MAAM,EAAE,EAAE;QACT,gBAAgB,KAAK,SAAS;YAC5B,QAAQ,CAAC;gBACP,IAAI,EAAE,aAAa;gBACnB,MAAM;gBACN,gBAAgB;aACjB,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAC7B,CAAC;IACF,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAGjC,CAAC,MAAM,EAAE,EAAE;QACT,gBAAgB,KAAK,SAAS,IAAI,qBAAqB,EAAE,CAAC;QAC1D,gBAAgB,KAAK,SAAS;YAC5B,QAAQ,CAAC;gBACP,IAAI,EAAE,iBAAiB;gBACvB,gBAAgB;gBAChB,MAAM;aACP,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CACpD,CAAC;IACF,MAAM,qBAAqB,GAAG,IAAA,2BAAa,EAAC;QAC1C,QAAQ;QACR,MAAM;QACN,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,sBAA6B,EAAE,eAAsB,EAAE,EAAE;QACxD,qBAAqB,CAAC;YACpB,sBAAsB;YACtB,eAAe;SAChB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,qBAAqB,CAAC,CACxB,CAAC;IACF,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,gBAAgB;YACd,QAAQ,CAAC;gBACP,IAAI,EAAE,gCAAgC;gBACtC,EAAE,EAAE,gBAAgB;aACrB,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,OAAO,CACjB,eAAe,EACf,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,kBAAkB,EAClB,KAAK,CAAC,SAAS,IAAI,cAAc,CAClC,CAAC;IAEF,OAAO,CACL,6BAAK,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;QAC1C,6BAAK,SAAS,EAAC,WAAW,EAAC,GAAG,EAAE,GAAG,GAAI;QACvC,oBAAC,iBAAU,OAAG;QACd,oBAAC,uBAAa,OAAG,CACb,CACP,CAAC;AACJ,CAAC;AAlFD,oCAkFC;AAED;;;GAGG;AACH,SAAgB,OAAO,CACrB,WAA6E,EAC7E,MAAkC,EAClC,SAAsB,EACtB,YAAyB,EACzB,aAA0B;IAE1B,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,kBAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,sBAAsB,GAAG,KAAK,CAAC,MAAM,EAAS,CAAC;IAErD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,uBAAuB;YACvB,IAAI,UAAU,CAAC,OAAO,KAAK,CAAC;gBAAE,aAAa,IAAI,aAAa,EAAE,CAAC;YAC/D,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC;QACvC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,IAAuB,EAAE,CAAqB,EAAE,EAAE;QACjD,sBAAsB,CAAC,OAAO,GAAG,IAAI,kBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;IAC5D,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IACF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACzC,CAAC,IAAuB,EAAE,EAAE;QAC1B,IAAI,sBAAsB,CAAC,OAAO,EAAE;YAClC,WAAW;gBACT,WAAW,CACT,sBAAsB,CAAC,OAAO,EAC9B,IAAI,kBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CACtC,CAAC;YACJ,sBAAsB,CAAC,OAAO,GAAG,SAAS,CAAC;YAC3C,OAAO;SACR;QACD,MAAM,IAAI,MAAM,CAAC,IAAI,kBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC,EACD,CAAC,WAAW,EAAE,MAAM,CAAC,CACtB,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,sBAAsB,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3C,SAAS,IAAI,SAAS,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,IAAA,mCAAgB,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,CAChB,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AA1DD,0BA0DC","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 \"./TabBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Point, Timer } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { TabBarButtons } from \"./Buttons\";\nimport { WidgetTabs } from \"./Tabs\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useDoubleClick } from \"../widget-panels/Grip\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetTabBarProps {\n separator?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabBar(props: WidgetTabBarProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = React.useContext(WidgetIdContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const handleDoubleClick = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const handleActionAreaClick = useDoubleClick(handleDoubleClick);\n\n const onDrag = React.useCallback<NonNullable<UseDragWidgetArgs[\"onDrag\"]>>(\n (dragBy) => {\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG\",\n dragBy,\n floatingWidgetId,\n });\n },\n [dispatch, floatingWidgetId]\n );\n const onDragEnd = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragEnd\"]>\n >(\n (target) => {\n floatingWidgetId !== undefined && handleActionAreaClick();\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG_END\",\n floatingWidgetId,\n target,\n });\n },\n [dispatch, floatingWidgetId, handleActionAreaClick]\n );\n const handleWidgetDragStart = useDragWidget({\n widgetId,\n onDrag,\n onDragEnd,\n });\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point, pointerPosition: Point) => {\n handleWidgetDragStart({\n initialPointerPosition,\n pointerPosition,\n });\n },\n [handleWidgetDragStart]\n );\n const handleTouchStart = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const ref = useDrag(\n handleDragStart,\n undefined,\n undefined,\n handleTouchStart,\n handleDoubleClick\n );\n const className = classnames(\n \"nz-widget-tabBar\",\n props.separator && \"nz-separator\"\n );\n\n return (\n <div ref={containerRef} className={className}>\n <div className=\"nz-handle\" ref={ref} />\n <WidgetTabs />\n <TabBarButtons />\n </div>\n );\n}\n\n/** Hook to control drag interactions.\n * Starts drag interaction after pointer moves or after timeout.\n * @internal\n */\nexport function useDrag<T extends HTMLElement>(\n onDragStart?: (initialPointerPosition: Point, pointerPosition: Point) => void,\n onDrag?: (position: Point) => void,\n onDragEnd?: () => void,\n onTouchStart?: () => void,\n onDoubleClick?: () => void\n) {\n const doubleClickTimer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n const initialPointerPosition = React.useRef<Point>();\n\n React.useEffect(() => {\n const handleExecute = () => {\n // istanbul ignore else\n if (clickCount.current === 2) onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n };\n const timer = doubleClickTimer.current;\n timer.setOnExecute(handleExecute);\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [onDoubleClick]);\n\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n e.type === \"touchstart\" && onTouchStart && onTouchStart();\n },\n [onTouchStart]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (initialPointerPosition.current) {\n onDragStart &&\n onDragStart(\n initialPointerPosition.current,\n new Point(args.clientX, args.clientY)\n );\n initialPointerPosition.current = undefined;\n return;\n }\n onDrag && onDrag(new Point(args.clientX, args.clientY));\n },\n [onDragStart, onDrag]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n doubleClickTimer.current.start();\n initialPointerPosition.current = undefined;\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const ref = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n return ref;\n}\n"]}
1
+ {"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.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 \"./TabBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Point, Timer } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { TabBarButtons } from \"./Buttons\";\nimport { WidgetTabs } from \"./Tabs\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useDoubleClick } from \"../widget-panels/Grip\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { useMaximizedWidgetTabBarHandle } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabBarProps {\n separator?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabBar(props: WidgetTabBarProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = React.useContext(WidgetIdContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const handleDoubleClick = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const handleActionAreaClick = useDoubleClick(handleDoubleClick);\n\n const onDrag = React.useCallback<NonNullable<UseDragWidgetArgs[\"onDrag\"]>>(\n (dragBy) => {\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG\",\n dragBy,\n floatingWidgetId,\n });\n },\n [dispatch, floatingWidgetId]\n );\n const onDragEnd = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragEnd\"]>\n >(\n (target) => {\n floatingWidgetId !== undefined && handleActionAreaClick();\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG_END\",\n floatingWidgetId,\n target,\n });\n },\n [dispatch, floatingWidgetId, handleActionAreaClick]\n );\n const handleWidgetDragStart = useDragWidget({\n widgetId,\n onDrag,\n onDragEnd,\n });\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point, pointerPosition: Point) => {\n handleWidgetDragStart({\n initialPointerPosition,\n pointerPosition,\n });\n },\n [handleWidgetDragStart]\n );\n const handleTouchStart = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const ref = useDrag(\n handleDragStart,\n undefined,\n undefined,\n handleTouchStart,\n handleDoubleClick\n );\n const maximizedWidgetHandle = useMaximizedWidgetTabBarHandle();\n const className = classnames(\n \"nz-widget-tabBar\",\n props.separator && \"nz-separator\"\n );\n const handleClassName = classnames(\"nz-handle\", maximizedWidgetHandle);\n return (\n <div ref={containerRef} className={className}>\n <div className={handleClassName} ref={ref} />\n <WidgetTabs />\n <TabBarButtons />\n </div>\n );\n}\n\n/** Hook to control drag interactions.\n * Starts drag interaction after pointer moves or after timeout.\n * @internal\n */\nexport function useDrag<T extends HTMLElement>(\n onDragStart?: (initialPointerPosition: Point, pointerPosition: Point) => void,\n onDrag?: (position: Point) => void,\n onDragEnd?: () => void,\n onTouchStart?: () => void,\n onDoubleClick?: () => void\n) {\n const doubleClickTimer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n const initialPointerPosition = React.useRef<Point>();\n\n React.useEffect(() => {\n const handleExecute = () => {\n // istanbul ignore else\n if (clickCount.current === 2) onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n };\n const timer = doubleClickTimer.current;\n timer.setOnExecute(handleExecute);\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [onDoubleClick]);\n\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n e.type === \"touchstart\" && onTouchStart && onTouchStart();\n },\n [onTouchStart]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (initialPointerPosition.current) {\n onDragStart &&\n onDragStart(\n initialPointerPosition.current,\n new Point(args.clientX, args.clientY)\n );\n initialPointerPosition.current = undefined;\n return;\n }\n onDrag && onDrag(new Point(args.clientX, args.clientY));\n },\n [onDragStart, onDrag]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n doubleClickTimer.current.start();\n initialPointerPosition.current = undefined;\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const ref = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n return ref;\n}\n"]}
@@ -4,27 +4,25 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  @import "variables";
6
6
 
7
- .nz-widget-tabBar {
8
- background: var(--iui-color-background-backdrop);
9
- display: flex;
10
- border-radius: $nz-widget-tab-border-radius $nz-widget-tab-border-radius 0 0;
11
- flex: 0 0 auto;
12
- position: relative;
13
- height: $nz-widget-tab-height;
7
+ @layer appui.component {
8
+ .nz-widget-tabBar {
9
+ background: var(--iui-color-background-backdrop);
10
+ display: flex;
11
+ border-radius: $nz-widget-tab-border-radius $nz-widget-tab-border-radius 0 0;
12
+ flex: 0 0 auto;
13
+ position: relative;
14
+ height: $nz-widget-tab-height;
14
15
 
15
- &.nz-separator {
16
- border-bottom: 1px solid var(--iui-color-border);
17
- }
18
-
19
- > .nz-handle {
20
- width: 100%;
21
- height: 100%;
22
- position: absolute;
23
- cursor: auto;
24
- user-select: none;
16
+ &.nz-separator {
17
+ border-bottom: 1px solid var(--iui-color-border);
18
+ }
25
19
 
26
- .preview-enableMaximizedFloatingWidget-maximized & {
27
- pointer-events: none;
20
+ > .nz-handle {
21
+ width: 100%;
22
+ height: 100%;
23
+ position: absolute;
24
+ cursor: auto;
25
+ user-select: none;
28
26
  }
29
27
  }
30
28
  }
@@ -44,6 +44,8 @@
44
44
 
45
45
  > .nz-horizontal-toolbar-container {
46
46
  width: 100%;
47
+ min-width: 0;
48
+
47
49
  @include nz-widget-opacity;
48
50
  }
49
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAW,MAAM,mBAAmB,CAAC;AAQvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAMxD;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gBAAgB;AAChB,eAAO,MAAM,MAAM,oFA+HlB,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,mCAEhB,CAAC;AAGb,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,kCAAgD,CAAC;AAM3E,gBAAgB;AAChB,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,SAAS,GAChB,SAAS,CAOX;AAED,gBAAgB;AAChB,wBAAgB,cAAc,WAO7B"}
1
+ {"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAW,MAAM,mBAAmB,CAAC;AAQvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAMxD;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gBAAgB;AAChB,eAAO,MAAM,MAAM,oFAgIlB,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,mCAEhB,CAAC;AAGb,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,kCAAgD,CAAC;AAM3E,gBAAgB;AAChB,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,SAAS,GAChB,SAAS,CAOX;AAED,gBAAgB;AAChB,wBAAgB,cAAc,WAO7B"}
@@ -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?.addEventListener("click", listener);
101
+ element === null || element === void 0 ? void 0 : element.addEventListener("click", listener);
102
102
  return () => {
103
103
  // istanbul ignore next
104
- element?.removeEventListener("click", listener);
104
+ element === null || element === void 0 ? void 0 : 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 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) => state.toolSettings?.tabId);
16
+ const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => { var _a; return (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.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,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"]}
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"]}
@@ -0,0 +1,8 @@
1
+ /** @packageDocumentation
2
+ * @module Widget
3
+ */
4
+ /** @internal */
5
+ export declare function usePanelWidgetId(): string | undefined;
6
+ /** @internal */
7
+ export declare function useMainPanelWidgetId(): string | undefined;
8
+ //# sourceMappingURL=usePanelWidgetId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePanelWidgetId.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/usePanelWidgetId.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAUH,gBAAgB;AAChB,wBAAgB,gBAAgB,uBAK/B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,uBAWnC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Widget
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.useMainPanelWidgetId = exports.usePanelWidgetId = void 0;
11
+ const React = require("react");
12
+ const LayoutStore_1 = require("../base/LayoutStore");
13
+ const Panel_1 = require("../widget-panels/Panel");
14
+ const Widget_1 = require("./Widget");
15
+ /** @internal */
16
+ function usePanelWidgetId() {
17
+ const side = React.useContext(Panel_1.PanelSideContext);
18
+ const widgetId = React.useContext(Widget_1.WidgetIdContext);
19
+ if (!side || widgetId === undefined)
20
+ return undefined;
21
+ return widgetId;
22
+ }
23
+ exports.usePanelWidgetId = usePanelWidgetId;
24
+ /** @internal */
25
+ function useMainPanelWidgetId() {
26
+ const side = React.useContext(Panel_1.PanelSideContext);
27
+ const widgetId = React.useContext(Widget_1.WidgetIdContext);
28
+ return (0, LayoutStore_1.useLayout)((state) => {
29
+ if (!side)
30
+ return undefined;
31
+ const widgets = state.panels[side].widgets;
32
+ const mainWidget = (0, Panel_1.isHorizontalPanelSide)(side)
33
+ ? widgets[widgets.length - 1]
34
+ : widgets[0];
35
+ return mainWidget === widgetId ? widgetId : undefined;
36
+ });
37
+ }
38
+ exports.useMainPanelWidgetId = useMainPanelWidgetId;
39
+ //# sourceMappingURL=usePanelWidgetId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePanelWidgetId.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/usePanelWidgetId.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,qDAAgD;AAChD,kDAGgC;AAChC,qCAA2C;AAE3C,gBAAgB;AAChB,SAAgB,gBAAgB;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AALD,4CAKC;AAED,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,OAAO,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACf,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAXD,oDAWC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport * as React from \"react\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel\";\nimport { WidgetIdContext } from \"./Widget\";\n\n/** @internal */\nexport function usePanelWidgetId() {\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n if (!side || widgetId === undefined) return undefined;\n return widgetId;\n}\n\n/** @internal */\nexport function useMainPanelWidgetId() {\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n return useLayout((state) => {\n if (!side) return undefined;\n const widgets = state.panels[side].widgets;\n const mainWidget = isHorizontalPanelSide(side)\n ? widgets[widgets.length - 1]\n : widgets[0];\n return mainWidget === widgetId ? widgetId : undefined;\n });\n}\n"]}
@@ -7,7 +7,7 @@ import type { CommonProps } from "@itwin/core-react";
7
7
  /** Resize grip of [[WidgetPanel]] component.
8
8
  * @internal
9
9
  */
10
- export declare function WidgetPanelGrip(props: CommonProps): React.JSX.Element;
10
+ export declare function WidgetPanelGrip(props: CommonProps): React.JSX.Element | null;
11
11
  /** @internal */
12
12
  export declare const useResizeGrip: <T extends HTMLElement>() => [(instance: T | null) => void, boolean, boolean];
13
13
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"Grip.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAcrD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,qBAyCjD;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,wDACA,IAAI,mBA+J7B,CAAC;AAEF,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAgBrE"}
1
+ {"version":3,"file":"Grip.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAerD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,4BA2CjD;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,wDACA,IAAI,mBA+J7B,CAAC;AAEF,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAgBrE"}
@@ -18,6 +18,7 @@ const NineZone_1 = require("../base/NineZone");
18
18
  const Panel_1 = require("./Panel");
19
19
  const usePointerCaptor_1 = require("../base/usePointerCaptor");
20
20
  const LayoutStore_1 = require("../base/LayoutStore");
21
+ const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
21
22
  /** Resize grip of [[WidgetPanel]] component.
22
23
  * @internal
23
24
  */
@@ -35,6 +36,9 @@ function WidgetPanelGrip(props) {
35
36
  const [ref, resizing, active] = (0, exports.useResizeGrip)();
36
37
  const className = (0, classnames_1.default)("nz-widgetPanels-grip", `nz-${side}`, active && "nz-active", resizing && "nz-resizing", props.className);
37
38
  const resizeGripTitle = (0, NineZone_1.useLabel)("resizeGripTitle");
39
+ const isMaximizedPanel = !!(0, useMaximizedWidget_1.useMaximizedPanel)(side);
40
+ if (isMaximizedPanel)
41
+ return null;
38
42
  return (React.createElement("div", { className: className, title: resizeGripTitle, style: props.style },
39
43
  React.createElement("div", { className: "nz-line-grip" },
40
44
  React.createElement("div", { className: "nz-line-grip-detail" })),
@@ -1 +1 @@
1
- {"version":3,"file":"Grip.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.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 \"./Grip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Point, Rectangle, Timer } from \"@itwin/core-react\";\nimport type { UseDragPanelGripArgs } from \"../base/DragManager\";\nimport { useDragPanelGrip } from \"../base/DragManager\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n WidgetPanelContext,\n} from \"./Panel\";\nimport type { PointerCaptorArgs } from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\n\n/** Resize grip of [[WidgetPanel]] component.\n * @internal\n */\nexport function WidgetPanelGrip(props: CommonProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const { collapsed, pinned } = useLayout((state) => {\n const panel = state.panels[side];\n return {\n collapsed: panel.collapsed,\n pinned: panel.pinned,\n };\n }, true);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const [ref, resizing, active] = useResizeGrip<HTMLDivElement>();\n const className = classnames(\n \"nz-widgetPanels-grip\",\n `nz-${side}`,\n active && \"nz-active\",\n resizing && \"nz-resizing\",\n props.className\n );\n const resizeGripTitle = useLabel(\"resizeGripTitle\");\n return (\n <div className={className} title={resizeGripTitle} style={props.style}>\n <div className=\"nz-line-grip\">\n <div className=\"nz-line-grip-detail\" />\n </div>\n <div\n className=\"nz-handle\"\n ref={ref}\n onMouseOverCapture={() => {\n collapsed &&\n !pinned &&\n !resizing &&\n dispatch({\n side,\n collapsed: false,\n type: \"PANEL_SET_COLLAPSED\",\n });\n }}\n />\n </div>\n );\n}\n\n/** @internal */\nexport const useResizeGrip = <T extends HTMLElement>(): [\n (instance: T | null) => void,\n boolean,\n boolean\n] => {\n const widgetPanel = React.useContext(WidgetPanelContext);\n const side = React.useContext(PanelSideContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n assert(!!side);\n assert(!!widgetPanel);\n const [resizing, setResizing] = React.useState(false);\n const [active, setActive] = React.useState(false);\n const initialPointerPosition = React.useRef<Point>();\n const dragStartTimer = React.useRef(new Timer(300));\n const ref = React.useRef<T | null>(null);\n const relativePosition = React.useRef(new Point());\n const layoutStore = useLayoutStore();\n const panelStateRef = React.useRef(layoutStore.getState().panels[side]);\n React.useLayoutEffect(\n () =>\n layoutStore.subscribe((state) => {\n panelStateRef.current = state.panels[side];\n }),\n [layoutStore, side]\n );\n const handleDoubleClick = React.useCallback(() => {\n dispatch({\n type: \"PANEL_TOGGLE_COLLAPSED\",\n side,\n });\n }, [dispatch, side]);\n const handleClick = useDoubleClick(handleDoubleClick);\n const onDrag = React.useCallback<NonNullable<UseDragPanelGripArgs[\"onDrag\"]>>(\n (pointerPosition, lastPointerPosition) => {\n if (!ref.current) return;\n const direction = side === \"left\" || side === \"top\" ? 1 : -1;\n const dragOffset = lastPointerPosition.getOffsetTo(pointerPosition);\n const dragBy = isHorizontalPanelSide(side) ? dragOffset.y : dragOffset.x;\n const resizeBy = direction * dragBy;\n\n const bounds = widgetPanel.getBounds();\n const outerEdge = bounds[side];\n const innerEdge = isHorizontalPanelSide(side)\n ? pointerPosition.y\n : pointerPosition.x;\n const size = (innerEdge - outerEdge) * direction;\n\n const panel = panelStateRef.current;\n if (resizeBy === 0) return;\n if (panel.collapsed) {\n if (size >= panel.collapseOffset) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: false,\n });\n return;\n }\n return;\n }\n\n if (panel.size === undefined) return;\n\n // New size should match drag direction (i.e. dragging `left` panel grip to the left should not increase left panel size).\n const sizeDiff = size - panel.size;\n if (sizeDiff * resizeBy < 0) return;\n const collapseThreshold = Math.max(\n panel.minSize - panel.collapseOffset,\n 0\n );\n if (size <= collapseThreshold) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: true,\n });\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size: panel.minSize,\n });\n return;\n }\n\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n },\n [dispatch, side, widgetPanel]\n );\n const onDragEnd = React.useCallback(() => {\n setResizing(false);\n }, []);\n const handlePanelGripDragStart = useDragPanelGrip({\n side,\n onDrag,\n onDragEnd,\n });\n React.useEffect(() => {\n const timer = dragStartTimer.current;\n timer.setOnExecute(() => {\n if (initialPointerPosition.current && ref.current) {\n relativePosition.current = Rectangle.create(\n ref.current.getBoundingClientRect()\n )\n .topLeft()\n .getOffsetTo(initialPointerPosition.current);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: initialPointerPosition.current,\n pointerPosition: initialPointerPosition.current,\n });\n }\n initialPointerPosition.current = undefined;\n });\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [handlePanelGripDragStart]);\n const handleDragEnd = React.useCallback(() => {\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n handleClick();\n setActive(false);\n }, [handleClick]);\n const handlePointerDown = React.useCallback((args: PointerCaptorArgs) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n dragStartTimer.current.start();\n setActive(true);\n }, []);\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (!initialPointerPosition.current) return;\n const position = new Point(args.clientX, args.clientY);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: position,\n pointerPosition: position,\n });\n onDrag(position, initialPointerPosition.current);\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n },\n [handlePanelGripDragStart, onDrag]\n );\n const handlePointerCaptorRef = usePointerCaptor(\n handlePointerDown,\n handlePointerMove,\n handleDragEnd\n );\n const handleRef = React.useCallback(\n (instance: T | null) => {\n ref.current = instance;\n handlePointerCaptorRef(instance);\n },\n [handlePointerCaptorRef]\n );\n return [handleRef, resizing, active];\n};\n\n/** @internal */\nexport function useDoubleClick(onDoubleClick?: () => void): () => void {\n const timer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n timer.current.setOnExecute(() => {\n clickCount.current = 0;\n });\n const handleClick = React.useCallback(() => {\n timer.current.start();\n clickCount.current++;\n if (clickCount.current === 2) {\n onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n timer.current.stop();\n }\n }, [onDoubleClick]);\n return handleClick;\n}\n"]}
1
+ {"version":3,"file":"Grip.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/Grip.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 \"./Grip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { Point, Rectangle, Timer } from \"@itwin/core-react\";\nimport type { UseDragPanelGripArgs } from \"../base/DragManager\";\nimport { useDragPanelGrip } from \"../base/DragManager\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n WidgetPanelContext,\n} from \"./Panel\";\nimport type { PointerCaptorArgs } from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useMaximizedPanel } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** Resize grip of [[WidgetPanel]] component.\n * @internal\n */\nexport function WidgetPanelGrip(props: CommonProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const { collapsed, pinned } = useLayout((state) => {\n const panel = state.panels[side];\n return {\n collapsed: panel.collapsed,\n pinned: panel.pinned,\n };\n }, true);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const [ref, resizing, active] = useResizeGrip<HTMLDivElement>();\n const className = classnames(\n \"nz-widgetPanels-grip\",\n `nz-${side}`,\n active && \"nz-active\",\n resizing && \"nz-resizing\",\n props.className\n );\n const resizeGripTitle = useLabel(\"resizeGripTitle\");\n const isMaximizedPanel = !!useMaximizedPanel(side);\n if (isMaximizedPanel) return null;\n return (\n <div className={className} title={resizeGripTitle} style={props.style}>\n <div className=\"nz-line-grip\">\n <div className=\"nz-line-grip-detail\" />\n </div>\n <div\n className=\"nz-handle\"\n ref={ref}\n onMouseOverCapture={() => {\n collapsed &&\n !pinned &&\n !resizing &&\n dispatch({\n side,\n collapsed: false,\n type: \"PANEL_SET_COLLAPSED\",\n });\n }}\n />\n </div>\n );\n}\n\n/** @internal */\nexport const useResizeGrip = <T extends HTMLElement>(): [\n (instance: T | null) => void,\n boolean,\n boolean\n] => {\n const widgetPanel = React.useContext(WidgetPanelContext);\n const side = React.useContext(PanelSideContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n assert(!!side);\n assert(!!widgetPanel);\n const [resizing, setResizing] = React.useState(false);\n const [active, setActive] = React.useState(false);\n const initialPointerPosition = React.useRef<Point>();\n const dragStartTimer = React.useRef(new Timer(300));\n const ref = React.useRef<T | null>(null);\n const relativePosition = React.useRef(new Point());\n const layoutStore = useLayoutStore();\n const panelStateRef = React.useRef(layoutStore.getState().panels[side]);\n React.useLayoutEffect(\n () =>\n layoutStore.subscribe((state) => {\n panelStateRef.current = state.panels[side];\n }),\n [layoutStore, side]\n );\n const handleDoubleClick = React.useCallback(() => {\n dispatch({\n type: \"PANEL_TOGGLE_COLLAPSED\",\n side,\n });\n }, [dispatch, side]);\n const handleClick = useDoubleClick(handleDoubleClick);\n const onDrag = React.useCallback<NonNullable<UseDragPanelGripArgs[\"onDrag\"]>>(\n (pointerPosition, lastPointerPosition) => {\n if (!ref.current) return;\n const direction = side === \"left\" || side === \"top\" ? 1 : -1;\n const dragOffset = lastPointerPosition.getOffsetTo(pointerPosition);\n const dragBy = isHorizontalPanelSide(side) ? dragOffset.y : dragOffset.x;\n const resizeBy = direction * dragBy;\n\n const bounds = widgetPanel.getBounds();\n const outerEdge = bounds[side];\n const innerEdge = isHorizontalPanelSide(side)\n ? pointerPosition.y\n : pointerPosition.x;\n const size = (innerEdge - outerEdge) * direction;\n\n const panel = panelStateRef.current;\n if (resizeBy === 0) return;\n if (panel.collapsed) {\n if (size >= panel.collapseOffset) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: false,\n });\n return;\n }\n return;\n }\n\n if (panel.size === undefined) return;\n\n // New size should match drag direction (i.e. dragging `left` panel grip to the left should not increase left panel size).\n const sizeDiff = size - panel.size;\n if (sizeDiff * resizeBy < 0) return;\n const collapseThreshold = Math.max(\n panel.minSize - panel.collapseOffset,\n 0\n );\n if (size <= collapseThreshold) {\n dispatch({\n type: \"PANEL_SET_COLLAPSED\",\n side,\n collapsed: true,\n });\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size: panel.minSize,\n });\n return;\n }\n\n dispatch({\n type: \"PANEL_SET_SIZE\",\n side,\n size,\n });\n },\n [dispatch, side, widgetPanel]\n );\n const onDragEnd = React.useCallback(() => {\n setResizing(false);\n }, []);\n const handlePanelGripDragStart = useDragPanelGrip({\n side,\n onDrag,\n onDragEnd,\n });\n React.useEffect(() => {\n const timer = dragStartTimer.current;\n timer.setOnExecute(() => {\n if (initialPointerPosition.current && ref.current) {\n relativePosition.current = Rectangle.create(\n ref.current.getBoundingClientRect()\n )\n .topLeft()\n .getOffsetTo(initialPointerPosition.current);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: initialPointerPosition.current,\n pointerPosition: initialPointerPosition.current,\n });\n }\n initialPointerPosition.current = undefined;\n });\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [handlePanelGripDragStart]);\n const handleDragEnd = React.useCallback(() => {\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n handleClick();\n setActive(false);\n }, [handleClick]);\n const handlePointerDown = React.useCallback((args: PointerCaptorArgs) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n dragStartTimer.current.start();\n setActive(true);\n }, []);\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (!initialPointerPosition.current) return;\n const position = new Point(args.clientX, args.clientY);\n setResizing(true);\n handlePanelGripDragStart({\n initialPointerPosition: position,\n pointerPosition: position,\n });\n onDrag(position, initialPointerPosition.current);\n initialPointerPosition.current = undefined;\n dragStartTimer.current.stop();\n },\n [handlePanelGripDragStart, onDrag]\n );\n const handlePointerCaptorRef = usePointerCaptor(\n handlePointerDown,\n handlePointerMove,\n handleDragEnd\n );\n const handleRef = React.useCallback(\n (instance: T | null) => {\n ref.current = instance;\n handlePointerCaptorRef(instance);\n },\n [handlePointerCaptorRef]\n );\n return [handleRef, resizing, active];\n};\n\n/** @internal */\nexport function useDoubleClick(onDoubleClick?: () => void): () => void {\n const timer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n timer.current.setOnExecute(() => {\n clickCount.current = 0;\n });\n const handleClick = React.useCallback(() => {\n timer.current.start();\n clickCount.current++;\n if (clickCount.current === 2) {\n onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n timer.current.stop();\n }\n }, [onDoubleClick]);\n return handleClick;\n}\n"]}