@itwin/appui-react 4.9.0 → 4.10.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 (807) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/appui-react/UiFramework.js +4 -7
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts +4 -2
  5. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +17 -29
  7. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.scss +10 -17
  9. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -2
  10. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.scss +2 -0
  12. package/lib/cjs/appui-react/accudraw/Calculator.js +9 -9
  13. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/SquareButton.d.ts +3 -1
  15. package/lib/cjs/appui-react/accudraw/SquareButton.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/SquareButton.js +1 -4
  17. package/lib/cjs/appui-react/accudraw/SquareButton.js.map +1 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +1 -2
  19. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  20. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +2 -2
  21. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  22. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -1
  23. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  24. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +19 -15
  25. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  26. package/lib/cjs/appui-react/configurableui/{configurableui.scss → ConfigurableUiContent.scss} +14 -0
  27. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  28. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  29. package/lib/cjs/appui-react/configurableui/TimeTracker.js +1 -2
  30. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  31. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/content/ContentGroup.js +2 -2
  33. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  34. package/lib/cjs/appui-react/content/ContentLayout.js +9 -12
  35. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  36. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +3 -4
  37. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  38. package/lib/cjs/appui-react/content/FloatingViewportContent.js +1 -2
  39. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  40. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  41. package/lib/cjs/appui-react/content/IModelViewport.js +6 -9
  42. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  43. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -2
  44. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  45. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  46. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  47. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +10 -12
  48. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  49. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  50. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  51. package/lib/cjs/appui-react/dialog/ContentDialog.js +3 -6
  52. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  53. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +2 -3
  54. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  55. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/feedback/ElementTooltip.js +2 -3
  57. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  58. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -2
  59. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  60. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +10 -14
  61. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  62. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +2 -4
  63. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +2 -3
  65. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  66. package/lib/cjs/appui-react/frontstage/ModalFrontstage.scss +1 -1
  67. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +2 -3
  68. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  69. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  70. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  71. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  72. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  73. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  74. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  75. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  76. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  77. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +8 -13
  78. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  79. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  80. package/lib/cjs/appui-react/{layout/widget-panels/CenterContent.scss → layers.scss} +6 -2
  81. package/lib/cjs/appui-react/layout/StandardLayout.d.ts +24 -0
  82. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -0
  83. package/lib/cjs/appui-react/layout/StandardLayout.js +56 -0
  84. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -0
  85. package/lib/cjs/appui-react/layout/StandardLayout.scss +94 -0
  86. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  87. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  88. package/lib/cjs/appui-react/layout/base/DragManager.js +1 -2
  89. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  90. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  91. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  92. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +4 -4
  93. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  94. package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +1 -10
  95. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  96. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  97. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  98. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  99. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  100. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  101. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  102. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  103. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  105. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  106. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  107. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +7 -3
  108. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  109. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  111. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  112. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  113. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  114. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  115. package/lib/cjs/appui-react/layout/target/PanelTargets.scss +2 -0
  116. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  117. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  118. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  119. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  120. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +52 -21
  121. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  122. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +15 -23
  123. package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  124. package/lib/cjs/appui-react/layout/tool-settings/Handle.js +3 -1
  125. package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
  126. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +6 -12
  127. package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  128. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js +4 -5
  129. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  130. package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +0 -15
  131. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -12
  132. package/lib/cjs/appui-react/layout/widget/Button.d.ts +2 -9
  133. package/lib/cjs/appui-react/layout/widget/Button.d.ts.map +1 -1
  134. package/lib/cjs/appui-react/layout/widget/Button.js.map +1 -1
  135. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +4 -4
  136. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  137. package/lib/cjs/appui-react/layout/widget/Buttons.js +8 -31
  138. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  140. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +2 -0
  141. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  142. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +1 -1
  143. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/layout/widget/ContentManager.js +1 -1
  145. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  146. package/lib/cjs/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +8 -2
  148. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  149. package/lib/cjs/appui-react/layout/widget/Dock.d.ts +2 -0
  150. package/lib/cjs/appui-react/layout/widget/Dock.d.ts.map +1 -1
  151. package/lib/cjs/appui-react/layout/widget/Dock.js +10 -1
  152. package/lib/cjs/appui-react/layout/widget/Dock.js.map +1 -1
  153. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +5 -6
  154. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  155. package/lib/cjs/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +17 -21
  157. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  158. package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +92 -105
  159. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  160. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  161. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts +2 -0
  162. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  163. package/lib/cjs/appui-react/layout/widget/PinToggle.js +10 -1
  164. package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
  165. package/lib/cjs/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  166. package/lib/cjs/appui-react/layout/widget/SendBack.js +4 -5
  167. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  168. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  169. package/lib/cjs/appui-react/layout/widget/Tab.js +9 -14
  170. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  171. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  172. package/lib/cjs/appui-react/layout/widget/TabBar.js +4 -1
  173. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  174. package/lib/cjs/appui-react/layout/widget/TabBar.scss +17 -19
  175. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  176. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  177. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  178. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  179. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  180. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  181. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js +39 -0
  182. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  183. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  184. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  185. package/lib/cjs/appui-react/layout/widget-panels/Grip.js +4 -0
  186. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  187. package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +106 -104
  188. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  189. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  190. package/lib/cjs/appui-react/layout/widget-panels/Panel.js +10 -16
  191. package/lib/cjs/appui-react/layout/widget-panels/Panel.js.map +1 -1
  192. package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +175 -243
  193. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  194. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +39 -38
  196. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  197. package/lib/cjs/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  198. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  199. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  200. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  201. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  202. package/lib/cjs/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -26
  203. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  204. package/lib/cjs/appui-react/messages/InputField.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/messages/InputField.js +2 -3
  206. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  207. package/lib/cjs/appui-react/messages/MessageLabel.js +2 -2
  208. package/lib/cjs/appui-react/messages/MessageLabel.js.map +1 -1
  209. package/lib/cjs/appui-react/messages/MessageManager.d.ts +15 -5
  210. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  211. package/lib/cjs/appui-react/messages/MessageManager.js +22 -41
  212. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  213. package/lib/cjs/appui-react/messages/MessageRenderer.d.ts +8 -0
  214. package/lib/cjs/appui-react/messages/MessageRenderer.d.ts.map +1 -0
  215. package/lib/cjs/appui-react/messages/MessageRenderer.js +136 -0
  216. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -0
  217. package/lib/cjs/appui-react/messages/Pointer.d.ts +2 -2
  218. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  219. package/lib/cjs/appui-react/messages/Pointer.js +5 -6
  220. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  221. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  222. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -1
  223. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  224. package/lib/cjs/appui-react/pickers/ViewSelector.js +5 -6
  225. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  226. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  227. package/lib/cjs/appui-react/popup/CardPopup.js +2 -3
  228. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  229. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  230. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -2
  231. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  232. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  233. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +7 -6
  234. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  235. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  236. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  237. package/lib/cjs/appui-react/popup/PopupManager.js +1 -2
  238. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  239. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  240. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  241. package/lib/cjs/appui-react/popup/ToolbarPopup.js +1 -1
  242. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  243. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +6 -1
  244. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  245. package/lib/cjs/appui-react/preview/PreviewFeatures.js +2 -1
  246. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  247. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  248. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  249. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +51 -0
  250. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  251. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  252. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  253. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +27 -0
  254. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  255. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  256. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  257. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +115 -0
  258. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  259. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  260. package/lib/{esm/appui-react/layout/widget → cjs/appui-react/preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  261. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  262. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +18 -22
  263. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  264. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  265. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  266. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +30 -0
  267. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  268. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  269. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  270. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  271. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  272. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  273. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  274. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +10 -10
  275. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  276. package/lib/cjs/appui-react/redux/SessionState.d.ts +2 -2
  277. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  279. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  280. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  281. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  282. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  283. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.scss +1 -4
  284. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +11 -16
  285. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  286. package/lib/cjs/appui-react/statusbar/Indicator.js +1 -2
  287. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  288. package/lib/cjs/appui-react/statusbar/StatusBar.js +3 -5
  289. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  290. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
  291. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  292. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  293. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  294. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +1 -0
  295. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  296. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +1 -1
  297. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  298. package/lib/cjs/appui-react/statusfields/MessageCenter.js +5 -4
  299. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  300. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +1 -3
  301. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  302. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  303. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  304. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +1 -1
  305. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  306. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -2
  307. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  308. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +3 -12
  309. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  310. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -1
  311. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  312. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +6 -4
  313. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  314. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  315. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  316. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  317. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -25
  318. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  319. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  320. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -1
  321. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  322. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
  323. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  324. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  325. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  326. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  327. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  328. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  329. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  330. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  331. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  332. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  333. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  334. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  335. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  336. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  337. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  338. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  339. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts +1 -0
  340. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  341. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +19 -16
  342. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  343. package/lib/cjs/appui-react/utils/matchesWords.js +4 -4
  344. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  345. package/lib/cjs/appui-react/widget-panels/Content.js +8 -9
  346. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  347. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  348. package/lib/cjs/appui-react/widget-panels/Frontstage.js +23 -30
  349. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  350. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +0 -23
  351. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  352. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  353. package/lib/cjs/appui-react/widget-panels/Tab.js +1 -1
  354. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  355. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +15 -23
  356. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  357. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +1 -7
  358. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -3
  359. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  360. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  361. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  362. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +1 -1
  363. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  364. package/lib/cjs/appui-react/widgets/WidgetDef.js +4 -5
  365. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  366. package/lib/cjs/appui-react/widgets/WidgetHost.js +2 -3
  367. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  368. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  369. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  370. package/lib/cjs/appui-react.d.ts +1 -0
  371. package/lib/cjs/appui-react.d.ts.map +1 -1
  372. package/lib/cjs/appui-react.js +1 -0
  373. package/lib/cjs/appui-react.js.map +1 -1
  374. package/lib/esm/appui-react/UiFramework.js +4 -7
  375. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  376. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts +4 -2
  377. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  378. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +17 -29
  379. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  380. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.scss +10 -17
  381. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -2
  382. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  383. package/lib/esm/appui-react/accudraw/AccuDrawInputField.scss +2 -0
  384. package/lib/esm/appui-react/accudraw/Calculator.js +9 -9
  385. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  386. package/lib/esm/appui-react/accudraw/SquareButton.d.ts +3 -1
  387. package/lib/esm/appui-react/accudraw/SquareButton.d.ts.map +1 -1
  388. package/lib/esm/appui-react/accudraw/SquareButton.js +1 -4
  389. package/lib/esm/appui-react/accudraw/SquareButton.js.map +1 -1
  390. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +1 -2
  391. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  392. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +2 -2
  393. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  394. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +1 -1
  395. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  396. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +19 -15
  397. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  398. package/lib/esm/appui-react/configurableui/{configurableui.scss → ConfigurableUiContent.scss} +14 -0
  399. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  400. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  401. package/lib/esm/appui-react/configurableui/TimeTracker.js +1 -2
  402. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  403. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  404. package/lib/esm/appui-react/content/ContentGroup.js +2 -2
  405. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  406. package/lib/esm/appui-react/content/ContentLayout.js +9 -12
  407. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  408. package/lib/esm/appui-react/content/DefaultViewOverlay.js +3 -4
  409. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  410. package/lib/esm/appui-react/content/FloatingViewportContent.js +1 -2
  411. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  412. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  413. package/lib/esm/appui-react/content/IModelViewport.js +6 -9
  414. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  415. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  416. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  417. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  418. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  419. package/lib/esm/appui-react/content/split-pane/SplitPane.js +10 -12
  420. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  421. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +2 -3
  422. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  423. package/lib/esm/appui-react/dialog/ContentDialog.js +3 -6
  424. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  425. package/lib/esm/appui-react/dialog/DialogManagerBase.js +2 -3
  426. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  427. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  428. package/lib/esm/appui-react/feedback/ElementTooltip.js +3 -4
  429. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  430. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -2
  431. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  432. package/lib/esm/appui-react/frontstage/FrontstageDef.js +10 -14
  433. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  434. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +2 -4
  435. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  436. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +2 -3
  437. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  438. package/lib/esm/appui-react/frontstage/ModalFrontstage.scss +1 -1
  439. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +2 -3
  440. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  441. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +1 -2
  442. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  443. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +7 -11
  444. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  445. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  446. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  447. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +7 -11
  448. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  449. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +8 -13
  450. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  451. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  452. package/lib/esm/appui-react/{layout/widget-panels/CenterContent.scss → layers.scss} +6 -2
  453. package/lib/esm/appui-react/layout/StandardLayout.d.ts +24 -0
  454. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -0
  455. package/lib/esm/appui-react/layout/StandardLayout.js +52 -0
  456. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -0
  457. package/lib/esm/appui-react/layout/StandardLayout.scss +94 -0
  458. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -1
  459. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  460. package/lib/esm/appui-react/layout/base/DragManager.js +1 -2
  461. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  462. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  463. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  464. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +4 -4
  465. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  466. package/lib/esm/appui-react/layout/outline/PanelOutline.scss +1 -10
  467. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  468. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  469. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  470. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  471. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +12 -14
  472. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  473. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +1 -2
  474. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  475. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  476. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  477. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  478. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  479. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +7 -3
  480. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  481. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  482. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  483. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  484. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  485. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +6 -4
  486. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  487. package/lib/esm/appui-react/layout/target/PanelTargets.scss +2 -0
  488. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  489. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  490. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  491. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  492. package/lib/esm/appui-react/layout/tool-settings/Docked.js +53 -22
  493. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  494. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +15 -23
  495. package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  496. package/lib/esm/appui-react/layout/tool-settings/Handle.js +3 -1
  497. package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
  498. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +6 -12
  499. package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  500. package/lib/esm/appui-react/layout/tool-settings/Overflow.js +4 -5
  501. package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  502. package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +0 -15
  503. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -12
  504. package/lib/esm/appui-react/layout/widget/Button.d.ts +2 -9
  505. package/lib/esm/appui-react/layout/widget/Button.d.ts.map +1 -1
  506. package/lib/esm/appui-react/layout/widget/Button.js.map +1 -1
  507. package/lib/esm/appui-react/layout/widget/Buttons.d.ts +4 -4
  508. package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  509. package/lib/esm/appui-react/layout/widget/Buttons.js +8 -30
  510. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  511. package/lib/esm/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  512. package/lib/esm/appui-react/layout/widget/ContentContainer.js +2 -0
  513. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  514. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +1 -1
  515. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  516. package/lib/esm/appui-react/layout/widget/ContentManager.js +1 -1
  517. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  518. package/lib/esm/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  519. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +8 -2
  520. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  521. package/lib/esm/appui-react/layout/widget/Dock.d.ts +2 -0
  522. package/lib/esm/appui-react/layout/widget/Dock.d.ts.map +1 -1
  523. package/lib/esm/appui-react/layout/widget/Dock.js +8 -0
  524. package/lib/esm/appui-react/layout/widget/Dock.js.map +1 -1
  525. package/lib/esm/appui-react/layout/widget/FloatingTab.js +5 -6
  526. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  527. package/lib/esm/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  528. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +17 -21
  529. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  530. package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +92 -105
  531. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  532. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  533. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts +2 -0
  534. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  535. package/lib/esm/appui-react/layout/widget/PinToggle.js +8 -0
  536. package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
  537. package/lib/esm/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  538. package/lib/esm/appui-react/layout/widget/SendBack.js +4 -5
  539. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  540. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  541. package/lib/esm/appui-react/layout/widget/Tab.js +9 -14
  542. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  543. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  544. package/lib/esm/appui-react/layout/widget/TabBar.js +4 -1
  545. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  546. package/lib/esm/appui-react/layout/widget/TabBar.scss +17 -19
  547. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  548. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  549. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  550. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  551. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  552. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  553. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js +34 -0
  554. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  555. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  556. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  557. package/lib/esm/appui-react/layout/widget-panels/Grip.js +4 -0
  558. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  559. package/lib/esm/appui-react/layout/widget-panels/Grip.scss +106 -104
  560. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  561. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  562. package/lib/esm/appui-react/layout/widget-panels/Panel.js +10 -16
  563. package/lib/esm/appui-react/layout/widget-panels/Panel.js.map +1 -1
  564. package/lib/esm/appui-react/layout/widget-panels/Panel.scss +175 -243
  565. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  566. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  567. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +38 -37
  568. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  569. package/lib/esm/appui-react/layout/widget-panels/{Panels.scss → PanelSections.scss} +1 -11
  570. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +1 -2
  571. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  572. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  573. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  574. package/lib/esm/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -25
  575. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  576. package/lib/esm/appui-react/messages/InputField.d.ts.map +1 -1
  577. package/lib/esm/appui-react/messages/InputField.js +3 -4
  578. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  579. package/lib/esm/appui-react/messages/MessageLabel.js +2 -2
  580. package/lib/esm/appui-react/messages/MessageLabel.js.map +1 -1
  581. package/lib/esm/appui-react/messages/MessageManager.d.ts +15 -5
  582. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  583. package/lib/esm/appui-react/messages/MessageManager.js +22 -41
  584. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  585. package/lib/esm/appui-react/messages/MessageRenderer.d.ts +8 -0
  586. package/lib/esm/appui-react/messages/MessageRenderer.d.ts.map +1 -0
  587. package/lib/esm/appui-react/messages/MessageRenderer.js +132 -0
  588. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -0
  589. package/lib/esm/appui-react/messages/Pointer.d.ts +2 -2
  590. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  591. package/lib/esm/appui-react/messages/Pointer.js +6 -7
  592. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  593. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  594. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -1
  595. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  596. package/lib/esm/appui-react/pickers/ViewSelector.js +5 -6
  597. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  598. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  599. package/lib/esm/appui-react/popup/CardPopup.js +3 -4
  600. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  601. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  602. package/lib/esm/appui-react/popup/HTMLElementPopup.js +2 -3
  603. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  604. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  605. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +7 -6
  606. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  607. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  608. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  609. package/lib/esm/appui-react/popup/PopupManager.js +1 -2
  610. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  611. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  612. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  613. package/lib/esm/appui-react/popup/ToolbarPopup.js +1 -1
  614. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  615. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +6 -1
  616. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  617. package/lib/esm/appui-react/preview/PreviewFeatures.js +2 -1
  618. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  619. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  620. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  621. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +46 -0
  622. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  623. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  624. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  625. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +23 -0
  626. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  627. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  628. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  629. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +106 -0
  630. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  631. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  632. package/lib/{cjs/appui-react/layout/widget → esm/appui-react/preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  633. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  634. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +16 -19
  635. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  636. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  637. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  638. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +26 -0
  639. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  640. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  641. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  642. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  643. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  644. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  645. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  646. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +10 -10
  647. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  648. package/lib/esm/appui-react/redux/SessionState.d.ts +2 -2
  649. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  650. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  651. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  652. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  653. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +2 -1
  654. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  655. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.scss +1 -4
  656. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +11 -16
  657. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  658. package/lib/esm/appui-react/statusbar/Indicator.js +1 -2
  659. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  660. package/lib/esm/appui-react/statusbar/StatusBar.js +3 -5
  661. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  662. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
  663. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  664. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  665. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  666. package/lib/esm/appui-react/statusfields/ActivityCenter.js +1 -0
  667. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  668. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +1 -1
  669. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  670. package/lib/esm/appui-react/statusfields/MessageCenter.js +6 -5
  671. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  672. package/lib/esm/appui-react/statusfields/SelectionScope.scss +1 -3
  673. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  674. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -1
  675. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  676. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.scss +1 -1
  677. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  678. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -2
  679. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  680. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +3 -12
  681. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  682. package/lib/esm/appui-react/theme/ThemeManager.js +3 -1
  683. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  684. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +6 -4
  685. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  686. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +3 -4
  687. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  688. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  689. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +15 -22
  690. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  691. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  692. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -1
  693. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  694. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +3 -2
  695. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  696. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +20 -22
  697. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  698. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  699. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  700. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +9 -10
  701. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  702. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +1 -2
  703. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  704. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +8 -14
  705. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  706. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +1 -1
  707. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  708. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  709. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  710. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  711. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts +1 -0
  712. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  713. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +19 -16
  714. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  715. package/lib/esm/appui-react/utils/matchesWords.js +4 -4
  716. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  717. package/lib/esm/appui-react/widget-panels/Content.js +8 -9
  718. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  719. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  720. package/lib/esm/appui-react/widget-panels/Frontstage.js +25 -32
  721. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  722. package/lib/esm/appui-react/widget-panels/Frontstage.scss +0 -23
  723. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  724. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  725. package/lib/esm/appui-react/widget-panels/Tab.js +1 -1
  726. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  727. package/lib/esm/appui-react/widget-panels/ToolSettings.js +15 -23
  728. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  729. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +1 -7
  730. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -3
  731. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  732. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +2 -2
  733. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  734. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +1 -1
  735. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  736. package/lib/esm/appui-react/widgets/WidgetDef.js +4 -5
  737. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  738. package/lib/esm/appui-react/widgets/WidgetHost.js +2 -3
  739. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  740. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  741. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  742. package/lib/esm/appui-react.d.ts +1 -0
  743. package/lib/esm/appui-react.d.ts.map +1 -1
  744. package/lib/esm/appui-react.js +1 -0
  745. package/lib/esm/appui-react.js.map +1 -1
  746. package/lib/public/locales/en/UiFramework.json +1 -1
  747. package/package.json +24 -26
  748. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  749. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  750. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  751. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  752. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -65
  753. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  754. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  755. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  756. package/lib/cjs/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  757. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  758. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  759. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js +0 -23
  760. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  761. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts +0 -21
  762. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  763. package/lib/cjs/appui-react/layout/widget-panels/Content.js +0 -21
  764. package/lib/cjs/appui-react/layout/widget-panels/Content.js.map +0 -1
  765. package/lib/cjs/appui-react/layout/widget-panels/Content.scss +0 -37
  766. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  767. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  768. package/lib/cjs/appui-react/layout/widget-panels/Panels.js +0 -48
  769. package/lib/cjs/appui-react/layout/widget-panels/Panels.js.map +0 -1
  770. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts +0 -10
  771. package/lib/cjs/appui-react/messages/ActivityMessage.d.ts.map +0 -1
  772. package/lib/cjs/appui-react/messages/ActivityMessage.js +0 -92
  773. package/lib/cjs/appui-react/messages/ActivityMessage.js.map +0 -1
  774. package/lib/cjs/appui-react/messages/MessageSpan.d.ts +0 -15
  775. package/lib/cjs/appui-react/messages/MessageSpan.d.ts.map +0 -1
  776. package/lib/cjs/appui-react/messages/MessageSpan.js +0 -23
  777. package/lib/cjs/appui-react/messages/MessageSpan.js.map +0 -1
  778. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  779. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  780. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  781. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  782. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -58
  783. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  784. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  785. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  786. package/lib/esm/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  787. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  788. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  789. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js +0 -19
  790. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  791. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts +0 -21
  792. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  793. package/lib/esm/appui-react/layout/widget-panels/Content.js +0 -18
  794. package/lib/esm/appui-react/layout/widget-panels/Content.js.map +0 -1
  795. package/lib/esm/appui-react/layout/widget-panels/Content.scss +0 -37
  796. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  797. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  798. package/lib/esm/appui-react/layout/widget-panels/Panels.js +0 -44
  799. package/lib/esm/appui-react/layout/widget-panels/Panels.js.map +0 -1
  800. package/lib/esm/appui-react/messages/ActivityMessage.d.ts +0 -10
  801. package/lib/esm/appui-react/messages/ActivityMessage.d.ts.map +0 -1
  802. package/lib/esm/appui-react/messages/ActivityMessage.js +0 -88
  803. package/lib/esm/appui-react/messages/ActivityMessage.js.map +0 -1
  804. package/lib/esm/appui-react/messages/MessageSpan.d.ts +0 -15
  805. package/lib/esm/appui-react/messages/MessageSpan.d.ts.map +0 -1
  806. package/lib/esm/appui-react/messages/MessageSpan.js +0 -18
  807. package/lib/esm/appui-react/messages/MessageSpan.js.map +0 -1
@@ -4,4 +4,6 @@
4
4
  import * as React from "react";
5
5
  /** @internal */
6
6
  export declare function PinToggle(): React.JSX.Element;
7
+ /** @internal */
8
+ export declare function usePinToggle(): boolean;
7
9
  //# sourceMappingURL=PinToggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PinToggle.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/PinToggle.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,gBAAgB;AAChB,wBAAgB,SAAS,sBAoBxB"}
1
+ {"version":3,"file":"PinToggle.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/PinToggle.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,gBAAgB;AAChB,wBAAgB,SAAS,sBAoBxB;AAED,gBAAgB;AAChB,wBAAgB,YAAY,YAI3B"}
@@ -7,7 +7,7 @@
7
7
  * @module Widget
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.PinToggle = void 0;
10
+ exports.usePinToggle = exports.PinToggle = void 0;
11
11
  const React = require("react");
12
12
  const core_bentley_1 = require("@itwin/core-bentley");
13
13
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
@@ -15,6 +15,8 @@ const NineZone_1 = require("../base/NineZone");
15
15
  const Panel_1 = require("../widget-panels/Panel");
16
16
  const LayoutStore_1 = require("../base/LayoutStore");
17
17
  const Button_1 = require("../../preview/widget-action-dropdown/Button");
18
+ const usePanelWidgetId_1 = require("./usePanelWidgetId");
19
+ const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
18
20
  /** @internal */
19
21
  function PinToggle() {
20
22
  const side = React.useContext(Panel_1.PanelSideContext);
@@ -31,4 +33,11 @@ function PinToggle() {
31
33
  } }));
32
34
  }
33
35
  exports.PinToggle = PinToggle;
36
+ /** @internal */
37
+ function usePinToggle() {
38
+ const isMainPanelWidget = !!(0, usePanelWidgetId_1.useMainPanelWidgetId)();
39
+ const isMaximizedWidget = (0, useMaximizedWidget_1.useIsMaximizedWidget)();
40
+ return isMainPanelWidget && !isMaximizedWidget;
41
+ }
42
+ exports.usePinToggle = usePinToggle;
34
43
  //# sourceMappingURL=PinToggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PinToggle.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/PinToggle.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,sDAA6C;AAC7C,oEAAkE;AAClE,+CAAqE;AACrE,kDAA0D;AAC1D,qDAAgD;AAChD,wEAA2E;AAE3E,gBAAgB;AAChB,SAAgB,SAAS;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAA,mBAAQ,EAAC,eAAe,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,IAAA,mBAAQ,EAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAE/D,OAAO,CACL,oBAAC,qBAAY,IACX,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAC,4BAAM,OAAG,CAAC,CAAC,CAAC,oBAAC,kCAAY,OAAG,EAC5C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,EAC/C,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,CAAC;gBACP,IAAI;gBACJ,IAAI,EAAE,qBAAqB;aAC5B,CAAC,CAAC;QACL,CAAC,GACD,CACH,CAAC;AACJ,CAAC;AApBD,8BAoBC","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 { assert } from \"@itwin/core-bentley\";\nimport { SvgPin, SvgPinHollow } from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\n\n/** @internal */\nexport function PinToggle() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const pinPanelTitle = useLabel(\"pinPanelTitle\");\n const unpinPanelTitle = useLabel(\"unpinPanelTitle\");\n const pinned = useLayout((state) => state.panels[side].pinned);\n\n return (\n <ActionButton\n icon={pinned ? <SvgPin /> : <SvgPinHollow />}\n title={pinned ? unpinPanelTitle : pinPanelTitle}\n onClick={() => {\n dispatch({\n side,\n type: \"PANEL_TOGGLE_PINNED\",\n });\n }}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"PinToggle.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/PinToggle.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,sDAA6C;AAC7C,oEAAkE;AAClE,+CAAqE;AACrE,kDAA0D;AAC1D,qDAAgD;AAChD,wEAA2E;AAC3E,yDAA0D;AAC1D,iGAAgG;AAEhG,gBAAgB;AAChB,SAAgB,SAAS;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAA,mBAAQ,EAAC,eAAe,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,IAAA,mBAAQ,EAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAE/D,OAAO,CACL,oBAAC,qBAAY,IACX,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAC,4BAAM,OAAG,CAAC,CAAC,CAAC,oBAAC,kCAAY,OAAG,EAC5C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,EAC/C,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,CAAC;gBACP,IAAI;gBACJ,IAAI,EAAE,qBAAqB;aAC5B,CAAC,CAAC;QACL,CAAC,GACD,CACH,CAAC;AACJ,CAAC;AApBD,8BAoBC;AAED,gBAAgB;AAChB,SAAgB,YAAY;IAC1B,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAA,uCAAoB,GAAE,CAAC;IACnD,MAAM,iBAAiB,GAAG,IAAA,yCAAoB,GAAE,CAAC;IACjD,OAAO,iBAAiB,IAAI,CAAC,iBAAiB,CAAC;AACjD,CAAC;AAJD,oCAIC","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 { assert } from \"@itwin/core-bentley\";\nimport { SvgPin, SvgPinHollow } from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\nimport { useMainPanelWidgetId } from \"./usePanelWidgetId\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport function PinToggle() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const pinPanelTitle = useLabel(\"pinPanelTitle\");\n const unpinPanelTitle = useLabel(\"unpinPanelTitle\");\n const pinned = useLayout((state) => state.panels[side].pinned);\n\n return (\n <ActionButton\n icon={pinned ? <SvgPin /> : <SvgPinHollow />}\n title={pinned ? unpinPanelTitle : pinPanelTitle}\n onClick={() => {\n dispatch({\n side,\n type: \"PANEL_TOGGLE_PINNED\",\n });\n }}\n />\n );\n}\n\n/** @internal */\nexport function usePinToggle() {\n const isMainPanelWidget = !!useMainPanelWidgetId();\n const isMaximizedWidget = useIsMaximizedWidget();\n return isMainPanelWidget && !isMaximizedWidget;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SendBack.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/SendBack.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5D,gBAAgB;AAChB,eAAO,MAAM,8BAA8B,iFAEzB,CAAC;AAEnB,gBAAgB;AAChB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC;;;;;;;;;;;;EAoC5B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB;;;;;;;;;;;;cAKnC;AAiBD,gBAAgB;AAChB,wBAAgB,QAAQ,sBAsCvB;AAED,gBAAgB;AAChB,wBAAgB,WAAW,YAQ1B"}
1
+ {"version":3,"file":"SendBack.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/SendBack.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5D,gBAAgB;AAChB,eAAO,MAAM,8BAA8B,iFAEzB,CAAC;AAEnB,gBAAgB;AAChB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC;;;;;;;;;;;;EAoC5B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB;;;;;;;;;;;;cAKnC;AAiBD,gBAAgB;AAChB,wBAAgB,QAAQ,sBAsCvB;AAED,gBAAgB;AAChB,wBAAgB,WAAW,YAO1B"}
@@ -17,8 +17,8 @@ const LayoutStore_1 = require("../base/LayoutStore");
17
17
  const FloatingWidget_1 = require("./FloatingWidget");
18
18
  const PanelState_1 = require("../state/PanelState");
19
19
  const useIsToolSettingsTab_1 = require("./useIsToolSettingsTab");
20
- const PreviewMaximizeToggle_1 = require("./PreviewMaximizeToggle");
21
20
  const Button_1 = require("../../preview/widget-action-dropdown/Button");
21
+ const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
22
22
  /** @internal */
23
23
  exports.useActiveSendBackWidgetIdStore = (0, zustand_1.create)(() => undefined);
24
24
  /** @internal */
@@ -100,12 +100,11 @@ function SendBack() {
100
100
  exports.SendBack = SendBack;
101
101
  /** @internal */
102
102
  function useSendBack() {
103
- const { enabled, maximizedWidget } = (0, PreviewMaximizeToggle_1.usePreviewMaximizedWidget)();
103
+ const maximizedWidget = (0, useMaximizedWidget_1.useIsMaximizedWidget)();
104
104
  const isToolSettings = (0, useIsToolSettingsTab_1.useIsToolSettingsTab)();
105
- const floatingWidgetId = (0, FloatingWidget_1.useFloatingWidgetId)();
105
+ const isFloatingWidget = !!(0, FloatingWidget_1.useFloatingWidgetId)();
106
106
  const canBeDocked = (0, FloatingWidget_1.useWidgetAllowedToDock)();
107
- const isMaximized = maximizedWidget === floatingWidgetId && enabled;
108
- return !!(!isMaximized && floatingWidgetId && !isToolSettings && canBeDocked);
107
+ return !maximizedWidget && isFloatingWidget && !isToolSettings && canBeDocked;
109
108
  }
110
109
  exports.useSendBack = useSendBack;
111
110
  //# sourceMappingURL=SendBack.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SendBack.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/SendBack.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 * as React from \"react\";\nimport { create } from \"zustand\";\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n SvgDockBottom,\n SvgDockLeft,\n SvgDockRight,\n SvgDockTop,\n} from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId, useWidgetAllowedToDock } from \"./FloatingWidget\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { getWidgetPanelSectionId } from \"../state/PanelState\";\nimport type { NineZoneState } from \"../state/NineZoneState\";\nimport { useIsToolSettingsTab } from \"./useIsToolSettingsTab\";\nimport { usePreviewMaximizedWidget } from \"./PreviewMaximizeToggle\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\n\n/** @internal */\nexport const useActiveSendBackWidgetIdStore = create<\n WidgetState[\"id\"] | undefined\n>(() => undefined);\n\n/** @internal */\nexport function getSendBackHomeState(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"]\n) {\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n const home = floatingWidget.home;\n const panel = state.panels[home.side];\n const destinationWidgetId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(panel.side, home.widgetIndex);\n\n let destinationWidget = state.widgets[destinationWidgetId];\n\n if (!destinationWidget && panel.widgets.length === panel.maxWidgetCount) {\n const id = panel.widgets[home.widgetIndex];\n destinationWidget = state.widgets[id];\n }\n\n // Widget would be added to an existing panel widget.\n if (destinationWidget) {\n return {\n side: home.side,\n widgetId: destinationWidget.id,\n };\n }\n\n // Widget would be added to a panel as it's first panel widget.\n if (panel.widgets.length === 0) {\n return {\n side: home.side,\n };\n }\n\n // Widget would be added to a panel with an existing panel widget as a separate panel widget.\n return {\n side: home.side,\n sectionIndex: destinationWidgetId.endsWith(\"End\") ? 1 : 0,\n };\n}\n\n/** @internal */\nexport function useSendBackHomeState() {\n const widgetId = useActiveSendBackWidgetIdStore((state) => state);\n return useLayout((state) =>\n widgetId ? getSendBackHomeState(state, widgetId) : undefined\n );\n}\n\nfunction Icon() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const home = useLayout((state) => state.floatingWidgets.byId[id].home);\n return home.side === \"left\" ? (\n <SvgDockLeft />\n ) : home.side === \"right\" ? (\n <SvgDockRight />\n ) : home.side === \"top\" ? (\n <SvgDockTop />\n ) : (\n <SvgDockBottom />\n );\n}\n\n/** @internal */\nexport function SendBack() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const title = useLabel(\"sendWidgetHomeTitle\");\n const setActiveWidgetId = (newId: WidgetState[\"id\"] | undefined) =>\n useActiveSendBackWidgetIdStore.setState(newId);\n\n const onClick = () => {\n setActiveWidgetId(undefined);\n dispatch({\n type: \"FLOATING_WIDGET_SEND_BACK\",\n id,\n });\n };\n const onMouseOver = () => {\n setActiveWidgetId(id);\n };\n const onFocus = () => {\n setActiveWidgetId(id);\n };\n const onMouseOut = () => {\n setActiveWidgetId(undefined);\n };\n const onBlur = () => {\n setActiveWidgetId(undefined);\n };\n const eventHandlers = { onMouseOver, onFocus, onMouseOut, onBlur };\n return (\n <ActionButton\n icon={<Icon />}\n title={title}\n onClick={onClick}\n buttonProps={eventHandlers}\n // TODO: can not pass down event handlers due to iTwinUI type issues.\n menuProps={eventHandlers as any}\n />\n );\n}\n\n/** @internal */\nexport function useSendBack() {\n const { enabled, maximizedWidget } = usePreviewMaximizedWidget();\n const isToolSettings = useIsToolSettingsTab();\n const floatingWidgetId = useFloatingWidgetId();\n const canBeDocked = useWidgetAllowedToDock();\n\n const isMaximized = maximizedWidget === floatingWidgetId && enabled;\n return !!(!isMaximized && floatingWidgetId && !isToolSettings && canBeDocked);\n}\n"]}
1
+ {"version":3,"file":"SendBack.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/SendBack.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 * as React from \"react\";\nimport { create } from \"zustand\";\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n SvgDockBottom,\n SvgDockLeft,\n SvgDockRight,\n SvgDockTop,\n} from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId, useWidgetAllowedToDock } from \"./FloatingWidget\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { getWidgetPanelSectionId } from \"../state/PanelState\";\nimport type { NineZoneState } from \"../state/NineZoneState\";\nimport { useIsToolSettingsTab } from \"./useIsToolSettingsTab\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport const useActiveSendBackWidgetIdStore = create<\n WidgetState[\"id\"] | undefined\n>(() => undefined);\n\n/** @internal */\nexport function getSendBackHomeState(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"]\n) {\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n const home = floatingWidget.home;\n const panel = state.panels[home.side];\n const destinationWidgetId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(panel.side, home.widgetIndex);\n\n let destinationWidget = state.widgets[destinationWidgetId];\n\n if (!destinationWidget && panel.widgets.length === panel.maxWidgetCount) {\n const id = panel.widgets[home.widgetIndex];\n destinationWidget = state.widgets[id];\n }\n\n // Widget would be added to an existing panel widget.\n if (destinationWidget) {\n return {\n side: home.side,\n widgetId: destinationWidget.id,\n };\n }\n\n // Widget would be added to a panel as it's first panel widget.\n if (panel.widgets.length === 0) {\n return {\n side: home.side,\n };\n }\n\n // Widget would be added to a panel with an existing panel widget as a separate panel widget.\n return {\n side: home.side,\n sectionIndex: destinationWidgetId.endsWith(\"End\") ? 1 : 0,\n };\n}\n\n/** @internal */\nexport function useSendBackHomeState() {\n const widgetId = useActiveSendBackWidgetIdStore((state) => state);\n return useLayout((state) =>\n widgetId ? getSendBackHomeState(state, widgetId) : undefined\n );\n}\n\nfunction Icon() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const home = useLayout((state) => state.floatingWidgets.byId[id].home);\n return home.side === \"left\" ? (\n <SvgDockLeft />\n ) : home.side === \"right\" ? (\n <SvgDockRight />\n ) : home.side === \"top\" ? (\n <SvgDockTop />\n ) : (\n <SvgDockBottom />\n );\n}\n\n/** @internal */\nexport function SendBack() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const title = useLabel(\"sendWidgetHomeTitle\");\n const setActiveWidgetId = (newId: WidgetState[\"id\"] | undefined) =>\n useActiveSendBackWidgetIdStore.setState(newId);\n\n const onClick = () => {\n setActiveWidgetId(undefined);\n dispatch({\n type: \"FLOATING_WIDGET_SEND_BACK\",\n id,\n });\n };\n const onMouseOver = () => {\n setActiveWidgetId(id);\n };\n const onFocus = () => {\n setActiveWidgetId(id);\n };\n const onMouseOut = () => {\n setActiveWidgetId(undefined);\n };\n const onBlur = () => {\n setActiveWidgetId(undefined);\n };\n const eventHandlers = { onMouseOver, onFocus, onMouseOut, onBlur };\n return (\n <ActionButton\n icon={<Icon />}\n title={title}\n onClick={onClick}\n buttonProps={eventHandlers}\n // TODO: can not pass down event handlers due to iTwinUI type issues.\n menuProps={eventHandlers as any}\n />\n );\n}\n\n/** @internal */\nexport function useSendBack() {\n const maximizedWidget = useIsMaximizedWidget();\n const isToolSettings = useIsToolSettingsTab();\n const isFloatingWidget = !!useFloatingWidgetId();\n const canBeDocked = useWidgetAllowedToDock();\n\n return !maximizedWidget && isFloatingWidget && !isToolSettings && canBeDocked;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAuBlD,gBAAgB;AAChB,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,aAAa,EACb,IAAI,EACJ,eAAe,GAChB,EAAE,sBAAsB,qBAmBxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAK9C;AAyED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,EACxD,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,4CAwLxB;AAED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,uCAE9B,CAAC;AAGF,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,wBAAsC,CAAC"}
1
+ {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAsBlD,gBAAgB;AAChB,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,aAAa,EACb,IAAI,EACJ,eAAe,GAChB,EAAE,sBAAsB,qBAmBxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAK9C;AAkED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,EACxD,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,4CAwLxB;AAED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,uCAE9B,CAAC;AAGF,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,wBAAsC,CAAC"}
@@ -11,6 +11,7 @@ exports.IconOnlyOnWidgetTabContext = exports.TabPositionContext = exports.useTab
11
11
  require("./Tab.scss");
12
12
  const classnames_1 = require("classnames");
13
13
  const React = require("react");
14
+ const ts_key_enum_1 = require("ts-key-enum");
14
15
  const core_bentley_1 = require("@itwin/core-bentley");
15
16
  const core_react_1 = require("@itwin/core-react");
16
17
  const DragManager_1 = require("../base/DragManager");
@@ -26,8 +27,7 @@ const Overflow_1 = require("./Overflow");
26
27
  const LayoutStore_1 = require("../base/LayoutStore");
27
28
  const FloatingWidget_1 = require("./FloatingWidget");
28
29
  const WidgetStateHelpers_1 = require("../state/internal/WidgetStateHelpers");
29
- const ts_key_enum_1 = require("ts-key-enum");
30
- const PreviewMaximizeToggle_1 = require("./PreviewMaximizeToggle");
30
+ const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
31
31
  /** @internal */
32
32
  function WidgetTabProvider({ id, first, firstInactive, last, showOnlyTabIcon, }) {
33
33
  const tabNode = React.useContext(NineZone_1.TabNodeContext);
@@ -66,14 +66,9 @@ function WidgetTabComponent(props) {
66
66
  const label = (0, LayoutStore_1.useLayout)((state) => state.tabs[id].label);
67
67
  const activeTabId = (0, LayoutStore_1.useLayout)((state) => (0, WidgetStateHelpers_1.getWidgetState)(state, widgetId).activeTabId);
68
68
  const minimized = (0, LayoutStore_1.useLayout)((state) => (0, WidgetStateHelpers_1.getWidgetState)(state, widgetId).minimized);
69
- const { enabled: enableMaximizedFloatingWidget, maximizedWidget } = (0, PreviewMaximizeToggle_1.usePreviewMaximizedWidget)();
70
- const floatingWidgetId = (0, FloatingWidget_1.useFloatingWidgetId)();
71
- // istanbul ignore next (preview)
72
- const maximized = !!floatingWidgetId &&
73
- maximizedWidget === floatingWidgetId &&
74
- enableMaximizedFloatingWidget;
75
- const resizeObserverRef = (0, core_react_1.useResizeObserver)(widgetTabsEntryContext === null || widgetTabsEntryContext === void 0 ? void 0 : widgetTabsEntryContext.onResize);
76
- const pointerCaptorRef = useTabInteractions({ clickOnly: maximized });
69
+ const maximizedWidget = (0, useMaximizedWidget_1.useIsMaximizedWidget)();
70
+ const resizeObserverRef = (0, core_react_1.useResizeObserver)(widgetTabsEntryContext?.onResize);
71
+ const pointerCaptorRef = useTabInteractions({ clickOnly: maximizedWidget });
77
72
  const refs = (0, core_react_1.useRefs)(resizeObserverRef, pointerCaptorRef);
78
73
  const active = activeTabId === id;
79
74
  const className = (0, classnames_1.default)("nz-widget-tab", active && "nz-active", undefined === side && minimized && "nz-minimized", first && "nz-first", last && "nz-last", firstInactive && "nz-first-inactive", props.className);
@@ -114,7 +109,7 @@ function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickOnly, })
114
109
  widgetId,
115
110
  id,
116
111
  });
117
- onClick === null || onClick === void 0 ? void 0 : onClick();
112
+ onClick?.();
118
113
  }, [dispatch, widgetId, id, side, onClick]);
119
114
  const handleDoubleClick = React.useCallback(() => {
120
115
  // istanbul ignore next (preview)
@@ -127,7 +122,7 @@ function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickOnly, })
127
122
  floatingWidgetId,
128
123
  id,
129
124
  });
130
- onDoubleClick === null || onDoubleClick === void 0 ? void 0 : onDoubleClick();
125
+ onDoubleClick?.();
131
126
  }, [
132
127
  clickOnly,
133
128
  dispatch,
@@ -177,7 +172,7 @@ function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickOnly, })
177
172
  position,
178
173
  userSized,
179
174
  });
180
- onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart();
175
+ onDragStart?.();
181
176
  initialPointerPosition.current = undefined;
182
177
  }, [
183
178
  clickOnly,
@@ -229,7 +224,7 @@ function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickOnly, })
229
224
  clickCount.current = 0;
230
225
  });
231
226
  const keydown = (e) => {
232
- if (e.key === " " || e.key === ts_key_enum_1.Key.Enter) {
227
+ if (e.key === " " || e.key === ts_key_enum_1.Key.Enter.valueOf()) {
233
228
  handleClick();
234
229
  }
235
230
  };
@@ -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":"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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\";\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
  }
@@ -98,10 +98,10 @@ exports.Widget = React.forwardRef(function Widget(props, forwardedRef) {
98
98
  };
99
99
  const element = elementRef.current;
100
100
  // istanbul ignore next
101
- element === null || element === void 0 ? void 0 : element.addEventListener("click", listener);
101
+ element?.addEventListener("click", listener);
102
102
  return () => {
103
103
  // istanbul ignore next
104
- element === null || element === void 0 ? void 0 : element.removeEventListener("click", listener);
104
+ element?.removeEventListener("click", listener);
105
105
  };
106
106
  }, [dispatch, floatingWidgetId]);
107
107
  const measure = React.useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n 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 const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
@@ -13,7 +13,7 @@ const Widget_1 = require("./Widget");
13
13
  /** @internal */
14
14
  function useIsToolSettingsTab() {
15
15
  const activeTabId = (0, Widget_1.useActiveTabId)();
16
- const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => { var _a; return (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId; });
16
+ const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => state.toolSettings?.tabId);
17
17
  return activeTabId === toolSettingsTabId;
18
18
  }
19
19
  exports.useIsToolSettingsTab = useIsToolSettingsTab;
@@ -1 +1 @@
1
- {"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;IAC1E,OAAO,WAAW,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAJD,oDAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useActiveTabId } from \"./Widget\";\n\n/** @internal */\nexport function useIsToolSettingsTab() {\n const activeTabId = useActiveTabId();\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return activeTabId === toolSettingsTabId;\n}\n"]}
1
+ {"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,WAAW,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAJD,oDAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useActiveTabId } from \"./Widget\";\n\n/** @internal */\nexport function useIsToolSettingsTab() {\n const activeTabId = useActiveTabId();\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return activeTabId === toolSettingsTabId;\n}\n"]}
@@ -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