@itwin/appui-react 4.10.0-dev.1 → 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 (431) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +2 -2
  3. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/Calculator.js +9 -9
  5. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  6. package/lib/cjs/appui-react/content/ContentGroup.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/content/ContentGroup.js +2 -2
  8. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  9. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/content/IModelViewport.js +2 -2
  11. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  12. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +2 -2
  13. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  14. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  15. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  16. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  17. package/lib/cjs/appui-react/{layout/widget-panels/CenterContent.scss → layers.scss} +6 -2
  18. package/lib/cjs/appui-react/layout/StandardLayout.d.ts +24 -0
  19. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -0
  20. package/lib/cjs/appui-react/layout/StandardLayout.js +56 -0
  21. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -0
  22. package/lib/cjs/appui-react/layout/StandardLayout.scss +94 -0
  23. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  24. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  25. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +4 -4
  26. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  27. package/lib/cjs/appui-react/layout/outline/PanelOutline.scss +1 -10
  28. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  29. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  30. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  31. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +5 -0
  33. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  34. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  35. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  36. package/lib/cjs/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  37. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  38. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +2 -0
  39. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  40. package/lib/cjs/appui-react/layout/target/PanelTargets.scss +2 -0
  41. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  42. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  43. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +52 -21
  44. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  45. package/lib/cjs/appui-react/layout/tool-settings/Docked.scss +15 -23
  46. package/lib/cjs/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  47. package/lib/cjs/appui-react/layout/tool-settings/Handle.js +3 -1
  48. package/lib/cjs/appui-react/layout/tool-settings/Handle.js.map +1 -1
  49. package/lib/cjs/appui-react/layout/tool-settings/Handle.scss +6 -12
  50. package/lib/cjs/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  51. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js +4 -5
  52. package/lib/cjs/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  53. package/lib/cjs/appui-react/layout/tool-settings/Overflow.scss +0 -15
  54. package/lib/cjs/appui-react/layout/tool-settings/Setting.scss +1 -12
  55. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +4 -4
  56. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  57. package/lib/cjs/appui-react/layout/widget/Buttons.js +8 -31
  58. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  59. package/lib/cjs/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  60. package/lib/cjs/appui-react/layout/widget/ContentContainer.js +2 -0
  61. package/lib/cjs/appui-react/layout/widget/ContentContainer.js.map +1 -1
  62. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts +1 -1
  63. package/lib/cjs/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  64. package/lib/cjs/appui-react/layout/widget/ContentManager.js +1 -1
  65. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  66. package/lib/cjs/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  67. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +6 -0
  68. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  69. package/lib/cjs/appui-react/layout/widget/Dock.d.ts +2 -0
  70. package/lib/cjs/appui-react/layout/widget/Dock.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/layout/widget/Dock.js +10 -1
  72. package/lib/cjs/appui-react/layout/widget/Dock.js.map +1 -1
  73. package/lib/cjs/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +15 -17
  75. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  76. package/lib/cjs/appui-react/layout/widget/FloatingWidget.scss +92 -105
  77. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts +2 -0
  78. package/lib/cjs/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  79. package/lib/cjs/appui-react/layout/widget/PinToggle.js +10 -1
  80. package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
  81. package/lib/cjs/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  82. package/lib/cjs/appui-react/layout/widget/SendBack.js +4 -5
  83. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  84. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  85. package/lib/cjs/appui-react/layout/widget/Tab.js +5 -10
  86. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  87. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  88. package/lib/cjs/appui-react/layout/widget/TabBar.js +4 -1
  89. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  90. package/lib/cjs/appui-react/layout/widget/TabBar.scss +17 -19
  91. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  92. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  93. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js +39 -0
  94. package/lib/cjs/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  95. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  96. package/lib/cjs/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  97. package/lib/cjs/appui-react/layout/widget-panels/Grip.js +4 -0
  98. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  99. package/lib/cjs/appui-react/layout/widget-panels/Grip.scss +106 -104
  100. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  101. package/lib/cjs/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  102. package/lib/cjs/appui-react/layout/widget-panels/Panel.js +10 -16
  103. package/lib/cjs/appui-react/layout/widget-panels/Panel.js.map +1 -1
  104. package/lib/cjs/appui-react/layout/widget-panels/Panel.scss +175 -243
  105. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  106. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  107. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +35 -31
  108. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  109. package/lib/{esm/appui-react/layout/widget-panels/Panels.scss → cjs/appui-react/layout/widget-panels/PanelSections.scss} +1 -11
  110. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  111. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  112. package/lib/cjs/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -26
  113. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  114. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  115. package/lib/cjs/appui-react/messages/MessageManager.js +0 -1
  116. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  117. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  118. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -1
  119. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  120. package/lib/cjs/appui-react/popup/CardPopup.js +1 -1
  121. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  122. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  123. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +6 -4
  124. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  125. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +1 -1
  126. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  127. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +1 -1
  128. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  129. package/lib/cjs/appui-react/popup/ToolbarPopup.js +1 -1
  130. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  131. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +6 -1
  132. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/preview/PreviewFeatures.js +1 -0
  134. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  135. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  136. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  137. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +51 -0
  138. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  139. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  140. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  141. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +27 -0
  142. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  143. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  144. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  145. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +115 -0
  146. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  147. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  148. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  149. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  150. package/lib/cjs/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +17 -21
  151. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  152. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  153. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  154. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +30 -0
  155. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  156. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  157. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  158. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  159. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  160. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  161. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  162. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +5 -5
  163. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  164. package/lib/cjs/appui-react/redux/SessionState.d.ts +2 -2
  165. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  166. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  167. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +1 -1
  168. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  169. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  170. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +1 -0
  172. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  173. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  174. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js +2 -1
  175. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  176. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  177. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  178. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  179. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  180. package/lib/cjs/appui-react/utils/matchesWords.js +4 -4
  181. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  182. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  183. package/lib/cjs/appui-react/widget-panels/Frontstage.js +13 -16
  184. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  185. package/lib/cjs/appui-react/widget-panels/Frontstage.scss +0 -23
  186. package/lib/cjs/appui-react/widget-panels/ToolSettings.scss +0 -6
  187. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +1 -1
  188. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  190. package/lib/cjs/appui-react.d.ts +1 -0
  191. package/lib/cjs/appui-react.d.ts.map +1 -1
  192. package/lib/cjs/appui-react.js +1 -0
  193. package/lib/cjs/appui-react.js.map +1 -1
  194. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +2 -2
  195. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  196. package/lib/esm/appui-react/accudraw/Calculator.js +9 -9
  197. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  198. package/lib/esm/appui-react/content/ContentGroup.d.ts.map +1 -1
  199. package/lib/esm/appui-react/content/ContentGroup.js +2 -2
  200. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  201. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  202. package/lib/esm/appui-react/content/IModelViewport.js +2 -2
  203. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  204. package/lib/esm/appui-react/feedback/ValidationTextbox.js +2 -2
  205. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  206. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +1 -1
  207. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  208. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  209. package/lib/esm/appui-react/{layout/widget-panels/CenterContent.scss → layers.scss} +6 -2
  210. package/lib/esm/appui-react/layout/StandardLayout.d.ts +24 -0
  211. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -0
  212. package/lib/esm/appui-react/layout/StandardLayout.js +52 -0
  213. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -0
  214. package/lib/esm/appui-react/layout/StandardLayout.scss +94 -0
  215. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -1
  216. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  217. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +4 -4
  218. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  219. package/lib/esm/appui-react/layout/outline/PanelOutline.scss +1 -10
  220. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.d.ts.map +1 -1
  221. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js +1 -0
  222. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  223. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.d.ts.map +1 -1
  224. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +5 -0
  225. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  226. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.d.ts.map +1 -1
  227. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js +6 -0
  228. package/lib/esm/appui-react/layout/state/internal/ToolSettingsStateHelpers.js.map +1 -1
  229. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.d.ts.map +1 -1
  230. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +2 -0
  231. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  232. package/lib/esm/appui-react/layout/target/PanelTargets.scss +2 -0
  233. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts +12 -6
  234. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  235. package/lib/esm/appui-react/layout/tool-settings/Docked.js +53 -22
  236. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  237. package/lib/esm/appui-react/layout/tool-settings/Docked.scss +15 -23
  238. package/lib/esm/appui-react/layout/tool-settings/Handle.d.ts.map +1 -1
  239. package/lib/esm/appui-react/layout/tool-settings/Handle.js +3 -1
  240. package/lib/esm/appui-react/layout/tool-settings/Handle.js.map +1 -1
  241. package/lib/esm/appui-react/layout/tool-settings/Handle.scss +6 -12
  242. package/lib/esm/appui-react/layout/tool-settings/Overflow.d.ts.map +1 -1
  243. package/lib/esm/appui-react/layout/tool-settings/Overflow.js +4 -5
  244. package/lib/esm/appui-react/layout/tool-settings/Overflow.js.map +1 -1
  245. package/lib/esm/appui-react/layout/tool-settings/Overflow.scss +0 -15
  246. package/lib/esm/appui-react/layout/tool-settings/Setting.scss +1 -12
  247. package/lib/esm/appui-react/layout/widget/Buttons.d.ts +4 -4
  248. package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  249. package/lib/esm/appui-react/layout/widget/Buttons.js +8 -30
  250. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  251. package/lib/esm/appui-react/layout/widget/ContentContainer.d.ts.map +1 -1
  252. package/lib/esm/appui-react/layout/widget/ContentContainer.js +2 -0
  253. package/lib/esm/appui-react/layout/widget/ContentContainer.js.map +1 -1
  254. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts +1 -1
  255. package/lib/esm/appui-react/layout/widget/ContentManager.d.ts.map +1 -1
  256. package/lib/esm/appui-react/layout/widget/ContentManager.js +1 -1
  257. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  258. package/lib/esm/appui-react/layout/widget/ContentRenderer.d.ts.map +1 -1
  259. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +6 -0
  260. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  261. package/lib/esm/appui-react/layout/widget/Dock.d.ts +2 -0
  262. package/lib/esm/appui-react/layout/widget/Dock.d.ts.map +1 -1
  263. package/lib/esm/appui-react/layout/widget/Dock.js +8 -0
  264. package/lib/esm/appui-react/layout/widget/Dock.js.map +1 -1
  265. package/lib/esm/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  266. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +15 -17
  267. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  268. package/lib/esm/appui-react/layout/widget/FloatingWidget.scss +92 -105
  269. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts +2 -0
  270. package/lib/esm/appui-react/layout/widget/PinToggle.d.ts.map +1 -1
  271. package/lib/esm/appui-react/layout/widget/PinToggle.js +8 -0
  272. package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
  273. package/lib/esm/appui-react/layout/widget/SendBack.d.ts.map +1 -1
  274. package/lib/esm/appui-react/layout/widget/SendBack.js +4 -5
  275. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  276. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  277. package/lib/esm/appui-react/layout/widget/Tab.js +5 -10
  278. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  279. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  280. package/lib/esm/appui-react/layout/widget/TabBar.js +4 -1
  281. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  282. package/lib/esm/appui-react/layout/widget/TabBar.scss +17 -19
  283. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts +8 -0
  284. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.d.ts.map +1 -0
  285. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js +34 -0
  286. package/lib/esm/appui-react/layout/widget/usePanelWidgetId.js.map +1 -0
  287. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts +1 -1
  288. package/lib/esm/appui-react/layout/widget-panels/Grip.d.ts.map +1 -1
  289. package/lib/esm/appui-react/layout/widget-panels/Grip.js +4 -0
  290. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  291. package/lib/esm/appui-react/layout/widget-panels/Grip.scss +106 -104
  292. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts +1 -1
  293. package/lib/esm/appui-react/layout/widget-panels/Panel.d.ts.map +1 -1
  294. package/lib/esm/appui-react/layout/widget-panels/Panel.js +10 -16
  295. package/lib/esm/appui-react/layout/widget-panels/Panel.js.map +1 -1
  296. package/lib/esm/appui-react/layout/widget-panels/Panel.scss +175 -243
  297. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts +1 -0
  298. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  299. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +34 -30
  300. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  301. package/lib/{cjs/appui-react/layout/widget-panels/Panels.scss → esm/appui-react/layout/widget-panels/PanelSections.scss} +1 -11
  302. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts +7 -0
  303. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.d.ts.map +1 -0
  304. package/lib/esm/appui-react/layout/widget-panels/{AppContent.js → usePanelsAutoCollapse.js} +3 -25
  305. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -0
  306. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  307. package/lib/esm/appui-react/messages/MessageManager.js +0 -1
  308. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  309. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  310. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -1
  311. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  312. package/lib/esm/appui-react/popup/CardPopup.js +1 -1
  313. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  314. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  315. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +6 -4
  316. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  317. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +1 -1
  318. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  319. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +1 -1
  320. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  321. package/lib/esm/appui-react/popup/ToolbarPopup.js +1 -1
  322. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  323. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +6 -1
  324. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  325. package/lib/esm/appui-react/preview/PreviewFeatures.js +1 -0
  326. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  327. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts +9 -0
  328. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.d.ts.map +1 -0
  329. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +46 -0
  330. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -0
  331. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts +18 -0
  332. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.d.ts.map +1 -0
  333. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js +23 -0
  334. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizedWidget.js.map +1 -0
  335. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +50 -0
  336. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -0
  337. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +106 -0
  338. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -0
  339. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +36 -0
  340. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.d.ts +4 -6
  341. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.d.ts.map +1 -0
  342. package/lib/esm/appui-react/{layout/widget → preview/horizontal-panel-alignment}/PreviewHorizontalPanelAlign.js +15 -18
  343. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -0
  344. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts +19 -0
  345. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.d.ts.map +1 -0
  346. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +26 -0
  347. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -0
  348. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +49 -0
  349. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  350. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +1 -1
  351. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  352. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts +3 -2
  353. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.d.ts.map +1 -1
  354. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +5 -5
  355. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  356. package/lib/esm/appui-react/redux/SessionState.d.ts +2 -2
  357. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  358. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  359. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +1 -1
  360. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  361. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  362. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  363. package/lib/esm/appui-react/statusfields/ActivityCenter.js +1 -0
  364. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  365. package/lib/esm/appui-react/tools/FrameworkToolAdmin.d.ts.map +1 -1
  366. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js +2 -1
  367. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  368. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  369. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js +3 -3
  370. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  371. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.scss +0 -7
  372. package/lib/esm/appui-react/utils/matchesWords.js +4 -4
  373. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  374. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  375. package/lib/esm/appui-react/widget-panels/Frontstage.js +15 -18
  376. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  377. package/lib/esm/appui-react/widget-panels/Frontstage.scss +0 -23
  378. package/lib/esm/appui-react/widget-panels/ToolSettings.scss +0 -6
  379. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +1 -1
  380. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  381. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  382. package/lib/esm/appui-react.d.ts +1 -0
  383. package/lib/esm/appui-react.d.ts.map +1 -1
  384. package/lib/esm/appui-react.js +1 -0
  385. package/lib/esm/appui-react.js.map +1 -1
  386. package/lib/public/locales/en/UiFramework.json +1 -1
  387. package/package.json +19 -19
  388. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  389. package/lib/cjs/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  390. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  391. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  392. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -65
  393. package/lib/cjs/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  394. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  395. package/lib/cjs/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  396. package/lib/cjs/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  397. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  398. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  399. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js +0 -23
  400. package/lib/cjs/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  401. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts +0 -21
  402. package/lib/cjs/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  403. package/lib/cjs/appui-react/layout/widget-panels/Content.js +0 -21
  404. package/lib/cjs/appui-react/layout/widget-panels/Content.js.map +0 -1
  405. package/lib/cjs/appui-react/layout/widget-panels/Content.scss +0 -37
  406. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  407. package/lib/cjs/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  408. package/lib/cjs/appui-react/layout/widget-panels/Panels.js +0 -48
  409. package/lib/cjs/appui-react/layout/widget-panels/Panels.js.map +0 -1
  410. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.d.ts.map +0 -1
  411. package/lib/esm/appui-react/layout/widget/PreviewHorizontalPanelAlign.js.map +0 -1
  412. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts +0 -30
  413. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.d.ts.map +0 -1
  414. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js +0 -58
  415. package/lib/esm/appui-react/layout/widget/PreviewMaximizeToggle.js.map +0 -1
  416. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts +0 -11
  417. package/lib/esm/appui-react/layout/widget-panels/AppContent.d.ts.map +0 -1
  418. package/lib/esm/appui-react/layout/widget-panels/AppContent.js.map +0 -1
  419. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts +0 -10
  420. package/lib/esm/appui-react/layout/widget-panels/CenterContent.d.ts.map +0 -1
  421. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js +0 -19
  422. package/lib/esm/appui-react/layout/widget-panels/CenterContent.js.map +0 -1
  423. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts +0 -21
  424. package/lib/esm/appui-react/layout/widget-panels/Content.d.ts.map +0 -1
  425. package/lib/esm/appui-react/layout/widget-panels/Content.js +0 -18
  426. package/lib/esm/appui-react/layout/widget-panels/Content.js.map +0 -1
  427. package/lib/esm/appui-react/layout/widget-panels/Content.scss +0 -37
  428. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts +0 -24
  429. package/lib/esm/appui-react/layout/widget-panels/Panels.d.ts.map +0 -1
  430. package/lib/esm/appui-react/layout/widget-panels/Panels.js +0 -44
  431. package/lib/esm/appui-react/layout/widget-panels/Panels.js.map +0 -1
@@ -4,45 +4,37 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
6
  .nz-toolSettings-docked {
7
- height: 2.5em;
8
- width: 100%;
7
+ --_uifw-tool-settings-docked-height: var(--iui-component-height);
9
8
 
9
+ height: var(--_uifw-tool-settings-docked-height);
10
+ width: 100%;
10
11
  display: flex;
12
+ gap: var(--iui-size-m);
11
13
  position: relative;
12
- background: var(--iui-color-background);
13
- border: 1px solid var(--iui-color-border);
14
+ background-color: var(--iui-color-background);
15
+ border-block-end: 1px solid var(--iui-color-border);
14
16
 
15
17
  > .nz-container {
16
18
  display: flex;
17
19
  }
18
-
19
- // Remove docked toolsettings from the flow causes the content to shift up.
20
- // We then simply account for it by adding a margin to the top of the content.
21
- &.preview-contentAlwaysMaxSize {
22
- z-index: 1;
23
- position: absolute;
24
- // iTwinUI toast cause box-sizing to be border-box, so we need to override it.
25
- box-sizing: content-box;
26
- }
27
20
  }
28
21
 
29
22
  .nz-toolSettings-docked_container {
30
23
  display: grid;
31
24
  grid-template-columns: auto 1fr;
32
- row-gap: 4px;
33
- column-gap: 4px;
25
+ gap: var(--iui-size-2xs);
34
26
  align-items: flex-start;
35
27
  }
36
28
 
37
29
  .toolsettings-appear {
38
- opacity: 0.1;
39
- transition: opacity 150ms ease-in-out;
30
+ opacity: var(--iui-opacity-6);
31
+ transition: opacity var(--iui-duration-1) ease-in-out;
40
32
  transform: translateY(-100%);
41
- }
42
33
 
43
- .toolsettings-appear-active {
44
- opacity: 0.7;
45
- transition: opacity 150ms ease-in-out;
46
- transform: translateY(0);
47
- transition: transform 400ms ease-out;
34
+ &-active {
35
+ opacity: var(--iui-opacity-2);
36
+ transform: translateY(0);
37
+ transition: opacity var(--iui-duration-1) ease-in-out,
38
+ transform var(--iui-duration-2) ease-out;
39
+ }
48
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Handle.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Handle.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAS,MAAM,mBAAmB,CAAC;AAW5D;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,WAAW;IAChE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBA4B5E"}
1
+ {"version":3,"file":"Handle.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Handle.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAS,MAAM,mBAAmB,CAAC;AAY5D;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,WAAW;IAChE,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,qBA8B5E"}
@@ -16,6 +16,7 @@ const DragManager_1 = require("../base/DragManager");
16
16
  const NineZone_1 = require("../base/NineZone");
17
17
  const TabBar_1 = require("../widget/TabBar");
18
18
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
19
+ const itwinui_react_1 = require("@itwin/itwinui-react");
19
20
  /** Component that displays tool settings as a bar across the top of the content view.
20
21
  * @internal
21
22
  */
@@ -39,7 +40,8 @@ function DockedToolSettingsHandle(props) {
39
40
  const title = (0, NineZone_1.useLabel)("toolSettingsHandleTitle");
40
41
  const className = (0, classnames_1.default)("nz-toolSettings-handle", props.className);
41
42
  return (React.createElement("div", { className: className, ref: refs, style: props.style, title: title },
42
- React.createElement(itwinui_icons_react_1.SvgDragHandleVertical, null)));
43
+ React.createElement(itwinui_react_1.Icon, { size: "large" },
44
+ React.createElement(itwinui_icons_react_1.SvgDragHandleVertical, null))));
43
45
  }
44
46
  exports.DockedToolSettingsHandle = DockedToolSettingsHandle;
45
47
  //# sourceMappingURL=Handle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Handle.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Handle.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,yBAAuB;AACvB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA+D;AAC/D,qDAA0D;AAC1D,+CAI0B;AAC1B,6CAA2C;AAC3C,oEAAmE;AASnE;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAoC;IAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAA,8BAAiB,EAAiB,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5E,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,sBAAW,GAAE,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAA,iCAAmB,EAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,sBAA6B,EAAE,EAAE;QAChC,WAAW,CAAC;YACV,sBAAsB;YACtB,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;QACH,QAAQ,CAAC;YACP,IAAI,EAAE,0BAA0B;YAChC,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAC7C,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,gBAAO,EAAC,eAAe,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,yBAAyB,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,wBAAwB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAExE,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK;QACpE,oBAAC,2CAAqB,OAAG,CACrB,CACP,CAAC;AACJ,CAAC;AA5BD,4DA4BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Handle.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps, Point } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport { useDragToolSettings } from \"../base/DragManager\";\nimport {\n getUniqueId,\n NineZoneDispatchContext,\n useLabel,\n} from \"../base/NineZone\";\nimport { useDrag } from \"../widget/TabBar\";\nimport { SvgDragHandleVertical } from \"@itwin/itwinui-icons-react\";\n\n/** Properties of [[DockedToolSettingsHandle]] component.\n * @internal\n */\nexport interface DockedToolSettingsHandleProps extends CommonProps {\n onResize?: (w: number) => void;\n}\n\n/** Component that displays tool settings as a bar across the top of the content view.\n * @internal\n */\nexport function DockedToolSettingsHandle(props: DockedToolSettingsHandleProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(props.onResize);\n const newFloatingWidgetId = React.useMemo(() => getUniqueId(), []);\n const onDragStart = useDragToolSettings({ newFloatingWidgetId });\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point) => {\n onDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n });\n dispatch({\n type: \"TOOL_SETTINGS_DRAG_START\",\n newFloatingWidgetId,\n });\n },\n [dispatch, newFloatingWidgetId, onDragStart]\n );\n const dragRef = useDrag(handleDragStart);\n const refs = useRefs(dragRef, resizeObserverRef);\n const title = useLabel(\"toolSettingsHandleTitle\");\n const className = classnames(\"nz-toolSettings-handle\", props.className);\n\n return (\n <div className={className} ref={refs} style={props.style} title={title}>\n <SvgDragHandleVertical />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"Handle.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Handle.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,yBAAuB;AACvB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA+D;AAC/D,qDAA0D;AAC1D,+CAI0B;AAC1B,6CAA2C;AAC3C,oEAAmE;AACnE,wDAA4C;AAS5C;;GAEG;AACH,SAAgB,wBAAwB,CAAC,KAAoC;IAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,iBAAiB,GAAG,IAAA,8BAAiB,EAAiB,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5E,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,sBAAW,GAAE,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAA,iCAAmB,EAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,sBAA6B,EAAE,EAAE;QAChC,WAAW,CAAC;YACV,sBAAsB;YACtB,eAAe,EAAE,sBAAsB;SACxC,CAAC,CAAC;QACH,QAAQ,CAAC;YACP,IAAI,EAAE,0BAA0B;YAChC,mBAAmB;SACpB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAC7C,CAAC;IACF,MAAM,OAAO,GAAG,IAAA,gBAAO,EAAC,eAAe,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,yBAAyB,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,wBAAwB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAExE,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK;QACpE,oBAAC,oBAAI,IAAC,IAAI,EAAC,OAAO;YAChB,oBAAC,2CAAqB,OAAG,CACpB,CACH,CACP,CAAC;AACJ,CAAC;AA9BD,4DA8BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Handle.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps, Point } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport { useDragToolSettings } from \"../base/DragManager\";\nimport {\n getUniqueId,\n NineZoneDispatchContext,\n useLabel,\n} from \"../base/NineZone\";\nimport { useDrag } from \"../widget/TabBar\";\nimport { SvgDragHandleVertical } from \"@itwin/itwinui-icons-react\";\nimport { Icon } from \"@itwin/itwinui-react\";\n\n/** Properties of [[DockedToolSettingsHandle]] component.\n * @internal\n */\nexport interface DockedToolSettingsHandleProps extends CommonProps {\n onResize?: (w: number) => void;\n}\n\n/** Component that displays tool settings as a bar across the top of the content view.\n * @internal\n */\nexport function DockedToolSettingsHandle(props: DockedToolSettingsHandleProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(props.onResize);\n const newFloatingWidgetId = React.useMemo(() => getUniqueId(), []);\n const onDragStart = useDragToolSettings({ newFloatingWidgetId });\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point) => {\n onDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n });\n dispatch({\n type: \"TOOL_SETTINGS_DRAG_START\",\n newFloatingWidgetId,\n });\n },\n [dispatch, newFloatingWidgetId, onDragStart]\n );\n const dragRef = useDrag(handleDragStart);\n const refs = useRefs(dragRef, resizeObserverRef);\n const title = useLabel(\"toolSettingsHandleTitle\");\n const className = classnames(\"nz-toolSettings-handle\", props.className);\n\n return (\n <div className={className} ref={refs} style={props.style} title={title}>\n <Icon size=\"large\">\n <SvgDragHandleVertical />\n </Icon>\n </div>\n );\n}\n"]}
@@ -4,20 +4,14 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
6
  .nz-toolSettings-handle {
7
- $dot-size: 0.25em;
8
- $dot-gap: $dot-size;
9
-
10
- height: 100%;
11
- width: 2em;
12
- display: flex;
13
- flex-direction: column;
14
- align-items: center;
15
- justify-content: center;
7
+ height: var(--_uifw-tool-settings-docked-height);
8
+ width: var(--_uifw-tool-settings-docked-height);
9
+ display: grid;
10
+ place-items: center;
16
11
  cursor: grab;
17
12
  flex-shrink: 0;
18
13
 
19
- svg {
20
- width: 2em;
21
- height: 2em;
14
+ &:active {
15
+ cursor: grabbing;
22
16
  }
23
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Overflow.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Overflow.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,iBAAiB,CAAC;AAEzB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,WAAW;IAClE,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,wGAuBrC,CAAC"}
1
+ {"version":3,"file":"Overflow.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Overflow.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,iBAAiB,CAAC;AAEzB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,WAAW;IAClE,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,wGAqBrC,CAAC"}
@@ -12,7 +12,8 @@ require("./Overflow.scss");
12
12
  const classnames_1 = require("classnames");
13
13
  const React = require("react");
14
14
  const core_react_1 = require("@itwin/core-react");
15
- const Ellipsis_1 = require("../base/Ellipsis");
15
+ const itwinui_react_1 = require("@itwin/itwinui-react");
16
+ const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
16
17
  const NineZone_1 = require("../base/NineZone");
17
18
  /** Entry point to overflown tool settings of [[DockedToolSettings]] component.
18
19
  * @internal
@@ -22,9 +23,7 @@ exports.DockedToolSettingsOverflow = React.forwardRef(function DockedToolSetting
22
23
  const refs = (0, core_react_1.useRefs)(roRef, ref);
23
24
  const className = (0, classnames_1.default)("nz-toolSettings-overflow", props.className);
24
25
  const moreToolSettingsTitle = (0, NineZone_1.useLabel)("moreToolSettingsTitle");
25
- return (
26
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
27
- React.createElement("div", { className: className, onClick: props.onClick, ref: refs, style: props.style, role: "button", tabIndex: -1, title: moreToolSettingsTitle },
28
- React.createElement(Ellipsis_1.Ellipsis, null)));
26
+ return (React.createElement(itwinui_react_1.IconButton, { className: className, onClick: props.onClick, ref: refs, style: props.style, styleType: "borderless", label: moreToolSettingsTitle },
27
+ React.createElement(itwinui_icons_react_1.SvgMore, null)));
29
28
  });
30
29
  //# sourceMappingURL=Overflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Overflow.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Overflow.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,2BAAyB;AACzB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA+D;AAC/D,+CAA4C;AAC5C,+CAA4C;AAY5C;;GAEG;AACU,QAAA,0BAA0B,GAAG,KAAK,CAAC,UAAU,CAGxD,SAAS,0BAA0B,CAAC,KAAK,EAAE,GAAG;IAC9C,MAAM,KAAK,GAAG,IAAA,8BAAiB,EAAiB,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GAAG,IAAA,mBAAQ,EAAC,uBAAuB,CAAC,CAAC;IAEhE,OAAO;IACL,iEAAiE;IACjE,6BACE,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,CAAC,EACZ,KAAK,EAAE,qBAAqB;QAE5B,oBAAC,mBAAQ,OAAG,CACR,CACP,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Overflow.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport { Ellipsis } from \"../base/Ellipsis\";\nimport { useLabel } from \"../base/NineZone\";\n\n/** Properties of [[ToolSettingsOverflow]] component.\n * @internal\n */\nexport interface DockedToolSettingsOverflowProps extends CommonProps {\n /** Function called when button is clicked. */\n onClick?: () => void;\n /** Function called when button is resized. */\n onResize?: (w: number) => void;\n}\n\n/** Entry point to overflown tool settings of [[DockedToolSettings]] component.\n * @internal\n */\nexport const DockedToolSettingsOverflow = React.forwardRef<\n HTMLDivElement,\n DockedToolSettingsOverflowProps\n>(function DockedToolSettingsOverflow(props, ref) {\n const roRef = useResizeObserver<HTMLDivElement>(props.onResize);\n const refs = useRefs(roRef, ref);\n const className = classnames(\"nz-toolSettings-overflow\", props.className);\n const moreToolSettingsTitle = useLabel(\"moreToolSettingsTitle\");\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\n <div\n className={className}\n onClick={props.onClick}\n ref={refs}\n style={props.style}\n role=\"button\"\n tabIndex={-1}\n title={moreToolSettingsTitle}\n >\n <Ellipsis />\n </div>\n );\n});\n"]}
1
+ {"version":3,"file":"Overflow.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/tool-settings/Overflow.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,2BAAyB;AACzB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA+D;AAC/D,wDAAkD;AAClD,oEAAqD;AACrD,+CAA4C;AAY5C;;GAEG;AACU,QAAA,0BAA0B,GAAG,KAAK,CAAC,UAAU,CAGxD,SAAS,0BAA0B,CAAC,KAAK,EAAE,GAAG;IAC9C,MAAM,KAAK,GAAG,IAAA,8BAAiB,EAAiB,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAA,oBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GAAG,IAAA,mBAAQ,EAAC,uBAAuB,CAAC,CAAC;IAEhE,OAAO,CACL,oBAAC,0BAAU,IACT,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,qBAAqB;QAE5B,oBAAC,6BAAO,OAAG,CACA,CACd,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ToolSettings\n */\n\nimport \"./Overflow.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport { useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport { IconButton } from \"@itwin/itwinui-react\";\nimport { SvgMore } from \"@itwin/itwinui-icons-react\";\nimport { useLabel } from \"../base/NineZone\";\n\n/** Properties of [[ToolSettingsOverflow]] component.\n * @internal\n */\nexport interface DockedToolSettingsOverflowProps extends CommonProps {\n /** Function called when button is clicked. */\n onClick?: () => void;\n /** Function called when button is resized. */\n onResize?: (w: number) => void;\n}\n\n/** Entry point to overflown tool settings of [[DockedToolSettings]] component.\n * @internal\n */\nexport const DockedToolSettingsOverflow = React.forwardRef<\n HTMLDivElement,\n DockedToolSettingsOverflowProps\n>(function DockedToolSettingsOverflow(props, ref) {\n const roRef = useResizeObserver<HTMLDivElement>(props.onResize);\n const refs = useRefs(roRef, ref);\n const className = classnames(\"nz-toolSettings-overflow\", props.className);\n const moreToolSettingsTitle = useLabel(\"moreToolSettingsTitle\");\n\n return (\n <IconButton\n className={className}\n onClick={props.onClick}\n ref={refs}\n style={props.style}\n styleType=\"borderless\"\n label={moreToolSettingsTitle}\n >\n <SvgMore />\n </IconButton>\n );\n});\n"]}
@@ -5,22 +5,7 @@
5
5
  @import "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
6
 
7
7
  .nz-toolSettings-overflow {
8
- height: 100%;
9
- width: 3em;
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
8
  margin-left: auto;
14
- cursor: pointer;
15
- flex-shrink: 0;
16
-
17
- &:hover {
18
- background: $buic-background-2;
19
- }
20
-
21
- &:focus {
22
- outline: none;
23
- }
24
9
 
25
10
  &.nz-hidden {
26
11
  visibility: hidden;
@@ -6,17 +6,6 @@
6
6
  height: 100%;
7
7
  white-space: nowrap;
8
8
  display: flex;
9
+ gap: var(--iui-size-xs);
9
10
  align-items: center;
10
-
11
- &:not(.nz-overflown) {
12
- &:before {
13
- content: "";
14
- padding-left: 1em;
15
- }
16
-
17
- &:after {
18
- content: "";
19
- padding-right: 1em;
20
- }
21
- }
22
11
  }
@@ -1,12 +1,12 @@
1
1
  /** @packageDocumentation
2
2
  * @module Widget
3
3
  */
4
- import * as React from "react";
5
4
  import "./Buttons.scss";
5
+ import * as React from "react";
6
6
  /** @internal */
7
- export declare function TabBarButtons(): React.JSX.Element;
7
+ export type WidgetFeature = "popout" | "maximize" | "sendBack" | "dock" | "horizontalAlign" | "pin";
8
8
  /** @internal */
9
- export declare function useWidgetFeatures(): ("pin" | "maximize" | "popout" | "horizontalAlign" | "dock" | "sendBack")[];
9
+ export declare function TabBarButtons(): React.JSX.Element;
10
10
  /** @internal */
11
- export declare function useIsMainPanelWidget(): boolean;
11
+ export declare function useWidgetFeatures(): WidgetFeature[];
12
12
  //# sourceMappingURL=Buttons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Buttons.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Buttons.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyB/B,OAAO,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,wBAAgB,aAAa,sBA2B5B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,gFAmBhC;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,YAYnC"}
1
+ {"version":3,"file":"Buttons.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Buttons.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,gBAAgB,CAAC;AACxB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,gBAAgB;AAChB,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,UAAU,GACV,UAAU,GACV,MAAM,GACN,iBAAiB,GACjB,KAAK,CAAC;AAEV,gBAAgB;AAChB,wBAAgB,aAAa,sBA2B5B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CAenD"}
@@ -7,21 +7,16 @@
7
7
  * @module Widget
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.useIsMainPanelWidget = exports.useWidgetFeatures = exports.TabBarButtons = void 0;
10
+ exports.useWidgetFeatures = exports.TabBarButtons = void 0;
11
+ require("./Buttons.scss");
11
12
  const React = require("react");
12
- const core_bentley_1 = require("@itwin/core-bentley");
13
- const LayoutStore_1 = require("../base/LayoutStore");
14
- const Panel_1 = require("../widget-panels/Panel");
15
13
  const Dock_1 = require("./Dock");
16
14
  const PinToggle_1 = require("./PinToggle");
17
15
  const PopoutToggle_1 = require("./PopoutToggle");
18
- const PreviewHorizontalPanelAlign_1 = require("./PreviewHorizontalPanelAlign");
19
- const PreviewMaximizeToggle_1 = require("./PreviewMaximizeToggle");
16
+ const PreviewHorizontalPanelAlign_1 = require("../../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign");
20
17
  const SendBack_1 = require("./SendBack");
21
- const Widget_1 = require("./Widget");
22
18
  const MoreButton_1 = require("../../preview/widget-action-dropdown/MoreButton");
23
- const useIsToolSettingsTab_1 = require("./useIsToolSettingsTab");
24
- require("./Buttons.scss");
19
+ const MaximizeToggle_1 = require("../../preview/enable-maximized-widget/MaximizeToggle");
25
20
  /** @internal */
26
21
  function TabBarButtons() {
27
22
  const features = useWidgetFeatures();
@@ -31,7 +26,7 @@ function TabBarButtons() {
31
26
  case "popout":
32
27
  return React.createElement(PopoutToggle_1.PopoutToggle, { key: "popout" });
33
28
  case "maximize":
34
- return React.createElement(PreviewMaximizeToggle_1.PreviewMaximizeToggle, { key: "maximize" });
29
+ return React.createElement(MaximizeToggle_1.MaximizeToggle, { key: "maximize" });
35
30
  case "sendBack":
36
31
  return React.createElement(SendBack_1.SendBack, { key: "sendBack" });
37
32
  case "dock":
@@ -48,14 +43,12 @@ function TabBarButtons() {
48
43
  exports.TabBarButtons = TabBarButtons;
49
44
  /** @internal */
50
45
  function useWidgetFeatures() {
51
- const isToolSettings = (0, useIsToolSettingsTab_1.useIsToolSettingsTab)();
52
- const isMainPanelWidget = useIsMainPanelWidget();
53
46
  const popoutToggle = (0, PopoutToggle_1.usePopoutToggle)();
54
- const maximizeToggle = (0, PreviewMaximizeToggle_1.useMaximizeToggle)();
47
+ const maximizeToggle = (0, MaximizeToggle_1.useMaximizeToggle)();
55
48
  const sendBack = (0, SendBack_1.useSendBack)();
56
- const dock = isToolSettings;
49
+ const dock = (0, Dock_1.useDock)();
57
50
  const horizontalPanelAlignButton = (0, PreviewHorizontalPanelAlign_1.useHorizontalPanelAlignButton)();
58
- const pinToggle = isMainPanelWidget;
51
+ const pinToggle = (0, PinToggle_1.usePinToggle)();
59
52
  return [
60
53
  ...(popoutToggle ? ["popout"] : []),
61
54
  ...(maximizeToggle ? ["maximize"] : []),
@@ -66,20 +59,4 @@ function useWidgetFeatures() {
66
59
  ];
67
60
  }
68
61
  exports.useWidgetFeatures = useWidgetFeatures;
69
- /** @internal */
70
- function useIsMainPanelWidget() {
71
- const side = React.useContext(Panel_1.PanelSideContext);
72
- const widgetId = React.useContext(Widget_1.WidgetIdContext);
73
- return (0, LayoutStore_1.useLayout)((state) => {
74
- const widgets = side ? state.panels[side].widgets : undefined;
75
- if (!widgets)
76
- return false;
77
- (0, core_bentley_1.assert)(!!side);
78
- const mainWidget = (0, Panel_1.isHorizontalPanelSide)(side)
79
- ? widgets[widgets.length - 1]
80
- : widgets[0];
81
- return mainWidget === widgetId;
82
- });
83
- }
84
- exports.useIsMainPanelWidget = useIsMainPanelWidget;
85
62
  //# sourceMappingURL=Buttons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Buttons.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Buttons.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 { assert } from \"@itwin/core-bentley\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel\";\nimport { Dock } from \"./Dock\";\nimport { PinToggle } from \"./PinToggle\";\nimport { PopoutToggle, usePopoutToggle } from \"./PopoutToggle\";\nimport {\n PreviewHorizontalPanelAlignButton,\n useHorizontalPanelAlignButton,\n} from \"./PreviewHorizontalPanelAlign\";\nimport {\n PreviewMaximizeToggle,\n useMaximizeToggle,\n} from \"./PreviewMaximizeToggle\";\nimport { SendBack, useSendBack } from \"./SendBack\";\nimport { WidgetIdContext } from \"./Widget\";\nimport {\n MoreButton,\n useDropdownFeatures,\n} from \"../../preview/widget-action-dropdown/MoreButton\";\nimport { useIsToolSettingsTab } from \"./useIsToolSettingsTab\";\nimport \"./Buttons.scss\";\n\n/** @internal */\nexport function TabBarButtons() {\n const features = useWidgetFeatures();\n const [sortedFeatures, isDropdown] = useDropdownFeatures(features);\n\n const buttons = sortedFeatures.map((feature) => {\n switch (feature) {\n case \"popout\":\n return <PopoutToggle key=\"popout\" />;\n case \"maximize\":\n return <PreviewMaximizeToggle key=\"maximize\" />;\n case \"sendBack\":\n return <SendBack key=\"sendBack\" />;\n case \"dock\":\n return <Dock key=\"dock\" />;\n case \"horizontalAlign\":\n return <PreviewHorizontalPanelAlignButton key=\"horizontalAlign\" />;\n case \"pin\":\n return <PinToggle key=\"pin\" />;\n }\n return undefined;\n });\n\n return (\n <div className=\"nz-widget-buttons\">\n {isDropdown ? <MoreButton>{buttons}</MoreButton> : buttons}\n </div>\n );\n}\n\n/** @internal */\nexport function useWidgetFeatures() {\n const isToolSettings = useIsToolSettingsTab();\n const isMainPanelWidget = useIsMainPanelWidget();\n\n const popoutToggle = usePopoutToggle();\n const maximizeToggle = useMaximizeToggle();\n const sendBack = useSendBack();\n const dock = isToolSettings;\n const horizontalPanelAlignButton = useHorizontalPanelAlignButton();\n const pinToggle = isMainPanelWidget;\n\n return [\n ...(popoutToggle ? ([\"popout\"] as const) : []),\n ...(maximizeToggle ? ([\"maximize\"] as const) : []),\n ...(sendBack ? ([\"sendBack\"] as const) : []),\n ...(dock ? ([\"dock\"] as const) : []),\n ...(horizontalPanelAlignButton ? ([\"horizontalAlign\"] as const) : []),\n ...(pinToggle ? ([\"pin\"] as const) : []),\n ];\n}\n\n/** @internal */\nexport function useIsMainPanelWidget() {\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n return useLayout((state) => {\n const widgets = side ? state.panels[side].widgets : undefined;\n if (!widgets) return false;\n assert(!!side);\n const mainWidget = isHorizontalPanelSide(side)\n ? widgets[widgets.length - 1]\n : widgets[0];\n return mainWidget === widgetId;\n });\n}\n"]}
1
+ {"version":3,"file":"Buttons.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Buttons.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0BAAwB;AACxB,+BAA+B;AAC/B,iCAAuC;AACvC,2CAAsD;AACtD,iDAA+D;AAC/D,sHAG8E;AAC9E,yCAAmD;AACnD,gFAGyD;AACzD,yFAG8D;AAW9D,gBAAgB;AAChB,SAAgB,aAAa;IAC3B,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,IAAA,gCAAmB,EAAC,QAAQ,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,QAAQ,OAAO,EAAE;YACf,KAAK,QAAQ;gBACX,OAAO,oBAAC,2BAAY,IAAC,GAAG,EAAC,QAAQ,GAAG,CAAC;YACvC,KAAK,UAAU;gBACb,OAAO,oBAAC,+BAAc,IAAC,GAAG,EAAC,UAAU,GAAG,CAAC;YAC3C,KAAK,UAAU;gBACb,OAAO,oBAAC,mBAAQ,IAAC,GAAG,EAAC,UAAU,GAAG,CAAC;YACrC,KAAK,MAAM;gBACT,OAAO,oBAAC,WAAI,IAAC,GAAG,EAAC,MAAM,GAAG,CAAC;YAC7B,KAAK,iBAAiB;gBACpB,OAAO,oBAAC,+DAAiC,IAAC,GAAG,EAAC,iBAAiB,GAAG,CAAC;YACrE,KAAK,KAAK;gBACR,OAAO,oBAAC,qBAAS,IAAC,GAAG,EAAC,KAAK,GAAG,CAAC;SAClC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,6BAAK,SAAS,EAAC,mBAAmB,IAC/B,UAAU,CAAC,CAAC,CAAC,oBAAC,uBAAU,QAAE,OAAO,CAAc,CAAC,CAAC,CAAC,OAAO,CACtD,CACP,CAAC;AACJ,CAAC;AA3BD,sCA2BC;AAED,gBAAgB;AAChB,SAAgB,iBAAiB;IAC/B,MAAM,YAAY,GAAG,IAAA,8BAAe,GAAE,CAAC;IACvC,MAAM,cAAc,GAAG,IAAA,kCAAiB,GAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAA,sBAAW,GAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAA,cAAO,GAAE,CAAC;IACvB,MAAM,0BAA0B,GAAG,IAAA,2DAA6B,GAAE,CAAC;IACnE,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IACjC,OAAO;QACL,GAAG,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,UAAU,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAE,CAAC,iBAAiB,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,KAAK,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;KACzC,CAAC;AACJ,CAAC;AAfD,8CAeC","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 \"./Buttons.scss\";\nimport * as React from \"react\";\nimport { Dock, useDock } from \"./Dock\";\nimport { PinToggle, usePinToggle } from \"./PinToggle\";\nimport { PopoutToggle, usePopoutToggle } from \"./PopoutToggle\";\nimport {\n PreviewHorizontalPanelAlignButton,\n useHorizontalPanelAlignButton,\n} from \"../../preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign\";\nimport { SendBack, useSendBack } from \"./SendBack\";\nimport {\n MoreButton,\n useDropdownFeatures,\n} from \"../../preview/widget-action-dropdown/MoreButton\";\nimport {\n MaximizeToggle,\n useMaximizeToggle,\n} from \"../../preview/enable-maximized-widget/MaximizeToggle\";\n\n/** @internal */\nexport type WidgetFeature =\n | \"popout\"\n | \"maximize\"\n | \"sendBack\"\n | \"dock\"\n | \"horizontalAlign\"\n | \"pin\";\n\n/** @internal */\nexport function TabBarButtons() {\n const features = useWidgetFeatures();\n const [sortedFeatures, isDropdown] = useDropdownFeatures(features);\n\n const buttons = sortedFeatures.map((feature) => {\n switch (feature) {\n case \"popout\":\n return <PopoutToggle key=\"popout\" />;\n case \"maximize\":\n return <MaximizeToggle key=\"maximize\" />;\n case \"sendBack\":\n return <SendBack key=\"sendBack\" />;\n case \"dock\":\n return <Dock key=\"dock\" />;\n case \"horizontalAlign\":\n return <PreviewHorizontalPanelAlignButton key=\"horizontalAlign\" />;\n case \"pin\":\n return <PinToggle key=\"pin\" />;\n }\n return undefined;\n });\n\n return (\n <div className=\"nz-widget-buttons\">\n {isDropdown ? <MoreButton>{buttons}</MoreButton> : buttons}\n </div>\n );\n}\n\n/** @internal */\nexport function useWidgetFeatures(): WidgetFeature[] {\n const popoutToggle = usePopoutToggle();\n const maximizeToggle = useMaximizeToggle();\n const sendBack = useSendBack();\n const dock = useDock();\n const horizontalPanelAlignButton = useHorizontalPanelAlignButton();\n const pinToggle = usePinToggle();\n return [\n ...(popoutToggle ? ([\"popout\"] as const) : []),\n ...(maximizeToggle ? ([\"maximize\"] as const) : []),\n ...(sendBack ? ([\"sendBack\"] as const) : []),\n ...(dock ? ([\"dock\"] as const) : []),\n ...(horizontalPanelAlignButton ? ([\"horizontalAlign\"] as const) : []),\n ...(pinToggle ? ([\"pin\"] as const) : []),\n ];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentContainer.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,gBAAgB;AAChB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,qBA0BxE"}
1
+ {"version":3,"file":"ContentContainer.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,gBAAgB;AAChB,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,qBA4BxE"}
@@ -28,6 +28,8 @@ function WidgetContentContainer(props) {
28
28
  return { minimized: widget.minimized, activeTabId: widget.activeTabId };
29
29
  }, true);
30
30
  const ref = React.useCallback((instance) => {
31
+ if (!widgetContentManager)
32
+ return;
31
33
  widgetContentManager.setContainer(activeTabId, instance);
32
34
  }, [widgetContentManager, activeTabId]);
33
35
  const className = (0, classnames_1.default)("nz-widget-contentContainer", undefined === side && minimized && "nz-minimized");
@@ -1 +1 @@
1
- {"version":3,"file":"ContentContainer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentContainer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,mCAAiC;AACjC,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAA+D;AAC/D,kDAA0D;AAC1D,qCAA2C;AAC3C,qDAAgD;AAChD,6EAAsE;AAOtE,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,KAAkC;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,4CAA2B,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,IAAA,mCAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAC3B,CAAC,QAAwB,EAAE,EAAE;QAC3B,oBAAoB,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC,EACD,CAAC,oBAAoB,EAAE,WAAW,CAAC,CACpC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,4BAA4B,EAC5B,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,cAAc,CAClD,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS;QACvB,6BAAK,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,GAAG,GAAI;QACvC,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AA1BD,wDA0BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./ContentContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { WidgetContentManagerContext } from \"./ContentManager\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\n\n/** @internal */\nexport interface WidgetContentContainerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentContainer(props: WidgetContentContainerProps) {\n const widgetId = React.useContext(WidgetIdContext);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const side = React.useContext(PanelSideContext);\n assert(!!widgetId);\n const { minimized, activeTabId } = useLayout((state) => {\n const widget = getWidgetState(state, widgetId);\n return { minimized: widget.minimized, activeTabId: widget.activeTabId };\n }, true);\n const ref = React.useCallback(\n (instance: HTMLDivElement) => {\n widgetContentManager.setContainer(activeTabId, instance);\n },\n [widgetContentManager, activeTabId]\n );\n\n const className = classnames(\n \"nz-widget-contentContainer\",\n undefined === side && minimized && \"nz-minimized\"\n );\n return (\n <div className={className}>\n <div className=\"nz-content\" ref={ref} />\n {props.children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"ContentContainer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentContainer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,mCAAiC;AACjC,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAA+D;AAC/D,kDAA0D;AAC1D,qCAA2C;AAC3C,qDAAgD;AAChD,6EAAsE;AAOtE,gBAAgB;AAChB,SAAgB,sBAAsB,CAAC,KAAkC;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAe,CAAC,CAAC;IACnD,MAAM,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,4CAA2B,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,IAAA,mCAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1E,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAC3B,CAAC,QAAwB,EAAE,EAAE;QAC3B,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAElC,oBAAoB,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC,EACD,CAAC,oBAAoB,EAAE,WAAW,CAAC,CACpC,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,4BAA4B,EAC5B,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,cAAc,CAClD,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS;QACvB,6BAAK,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,GAAG,GAAI;QACvC,KAAK,CAAC,QAAQ,CACX,CACP,CAAC;AACJ,CAAC;AA5BD,wDA4BC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./ContentContainer.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { WidgetContentManagerContext } from \"./ContentManager\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\n\n/** @internal */\nexport interface WidgetContentContainerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentContainer(props: WidgetContentContainerProps) {\n const widgetId = React.useContext(WidgetIdContext);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const side = React.useContext(PanelSideContext);\n assert(!!widgetId);\n const { minimized, activeTabId } = useLayout((state) => {\n const widget = getWidgetState(state, widgetId);\n return { minimized: widget.minimized, activeTabId: widget.activeTabId };\n }, true);\n const ref = React.useCallback(\n (instance: HTMLDivElement) => {\n if (!widgetContentManager) return;\n\n widgetContentManager.setContainer(activeTabId, instance);\n },\n [widgetContentManager, activeTabId]\n );\n\n const className = classnames(\n \"nz-widget-contentContainer\",\n undefined === side && minimized && \"nz-minimized\"\n );\n return (\n <div className={className}>\n <div className=\"nz-content\" ref={ref} />\n {props.children}\n </div>\n );\n}\n"]}
@@ -25,6 +25,6 @@ export interface WidgetContentManagerContextArgs {
25
25
  onRestoreTransientState: BeEvent<(tabId: TabState["id"]) => void>;
26
26
  }
27
27
  /** @internal */
28
- export declare const WidgetContentManagerContext: React.Context<WidgetContentManagerContextArgs>;
28
+ export declare const WidgetContentManagerContext: React.Context<WidgetContentManagerContextArgs | undefined>;
29
29
  export {};
30
30
  //# sourceMappingURL=ContentManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentManager.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,qBAiCpE;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACzE,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI;KAAE,CAAC;CACjE;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,8EAS5B,CAAC;AAEJ,gBAAgB;AAChB,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,oBAAoB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/D,uBAAuB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;CACnE;AAED,gBAAgB;AAChB,eAAO,MAAM,2BAA2B,gDACqB,CAAC"}
1
+ {"version":3,"file":"ContentManager.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,qBAiCpE;AAED,UAAU,eAAe;IACvB,YAAY,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACzE,UAAU,EAAE;QAAE,QAAQ,EAAE,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI;KAAE,CAAC;CACjE;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,8EAS5B,CAAC;AAEJ,gBAAgB;AAChB,MAAM,WAAW,+BAA+B;IAC9C,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IACrE,oBAAoB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IAC/D,uBAAuB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;CACnE;AAED,gBAAgB;AAChB,eAAO,MAAM,2BAA2B,4DAE5B,CAAC"}
@@ -39,6 +39,6 @@ exports.useContainersStore = (0, zustand_1.create)((set) => ({
39
39
  },
40
40
  }));
41
41
  /** @internal */
42
- exports.WidgetContentManagerContext = React.createContext(null);
42
+ exports.WidgetContentManagerContext = React.createContext(undefined);
43
43
  exports.WidgetContentManagerContext.displayName = "nz:WidgetContentManagerContext";
44
44
  //# sourceMappingURL=ContentManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentManager.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA2C;AAC3C,+BAA+B;AAC/B,qCAAiC;AACjC,sDAA8C;AAQ9C,gBAAgB;AAChB,SAAgB,oBAAoB,CAAC,KAAgC;IACnE,MAAM,mBAAmB,GAAG,IAAA,0BAAkB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9E,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CACxC,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAC3C,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAGpC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACnB,SAAS,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IACF,MAAM,gCAAgC,GACpC,KAAK,CAAC,OAAO,CACX,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,oBAAoB,EAAE,qBAAqB,CAAC,OAAO;QACnD,uBAAuB,EAAE,wBAAwB,CAAC,OAAO;KAC1D,CAAC,EACF,CAAC,YAAY,CAAC,CACf,CAAC;IACJ,OAAO,CACL,oBAAC,mCAA2B,CAAC,QAAQ,IACnC,KAAK,EAAE,gCAAgC,IAEtC,KAAK,CAAC,QAAQ,CACsB,CACxC,CAAC;AACJ,CAAC;AAjCD,oDAiCC;AAOD,gBAAgB;AACH,QAAA,kBAAkB,GAAG,IAAA,gBAAM,EAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClE,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,CAAC,KAAqB,EAAE,SAAyB,EAAE,EAAE;QACjE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACZ,IAAA,eAAO,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,CAAC;AASJ,gBAAgB;AACH,QAAA,2BAA2B,GACtC,KAAK,CAAC,aAAa,CAAkC,IAAK,CAAC,CAAC;AAC9D,mCAA2B,CAAC,WAAW,GAAG,gCAAgC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport produce, { castDraft } from \"immer\";\nimport * as React from \"react\";\nimport { create } from \"zustand\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { TabState } from \"../state/TabState\";\n\n/** @internal */\nexport interface WidgetContentManagerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentManager(props: WidgetContentManagerProps) {\n const setContentContainer = useContainersStore((state) => state.setContainer);\n const saveTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const restoreTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const setContainer = React.useCallback<\n WidgetContentManagerContextArgs[\"setContainer\"]\n >(\n (tabId, container) => {\n container === null && saveTransientStateRef.current.raiseEvent(tabId);\n setContentContainer(tabId, container);\n },\n [setContentContainer]\n );\n const widgetContentManagerContextValue =\n React.useMemo<WidgetContentManagerContextArgs>(\n () => ({\n setContainer,\n onSaveTransientState: saveTransientStateRef.current,\n onRestoreTransientState: restoreTransientStateRef.current,\n }),\n [setContainer]\n );\n return (\n <WidgetContentManagerContext.Provider\n value={widgetContentManagerContextValue}\n >\n {props.children}\n </WidgetContentManagerContext.Provider>\n );\n}\n\ninterface ContainersStore {\n setContainer: (tabId: TabState[\"id\"], container: Element | null) => void;\n containers: { readonly [id in TabState[\"id\"]]: Element | null };\n}\n\n/** @internal */\nexport const useContainersStore = create<ContainersStore>((set) => ({\n containers: {},\n setContainer: (tabId: TabState[\"id\"], container: Element | null) => {\n set((state) =>\n produce(state, (draft) => {\n draft.containers[tabId] = castDraft(container);\n })\n );\n },\n}));\n\n/** @internal */\nexport interface WidgetContentManagerContextArgs {\n setContainer(tabId: TabState[\"id\"], container: Element | null): void;\n onSaveTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n onRestoreTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n}\n\n/** @internal */\nexport const WidgetContentManagerContext =\n React.createContext<WidgetContentManagerContextArgs>(null!);\nWidgetContentManagerContext.displayName = \"nz:WidgetContentManagerContext\";\n"]}
1
+ {"version":3,"file":"ContentManager.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentManager.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAA2C;AAC3C,+BAA+B;AAC/B,qCAAiC;AACjC,sDAA8C;AAQ9C,gBAAgB;AAChB,SAAgB,oBAAoB,CAAC,KAAgC;IACnE,MAAM,mBAAmB,GAAG,IAAA,0BAAkB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9E,MAAM,qBAAqB,GAAG,KAAK,CAAC,MAAM,CACxC,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAC3C,IAAI,sBAAO,EAAmC,CAC/C,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAGpC,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACnB,SAAS,KAAK,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACtE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IACF,MAAM,gCAAgC,GACpC,KAAK,CAAC,OAAO,CACX,GAAG,EAAE,CAAC,CAAC;QACL,YAAY;QACZ,oBAAoB,EAAE,qBAAqB,CAAC,OAAO;QACnD,uBAAuB,EAAE,wBAAwB,CAAC,OAAO;KAC1D,CAAC,EACF,CAAC,YAAY,CAAC,CACf,CAAC;IACJ,OAAO,CACL,oBAAC,mCAA2B,CAAC,QAAQ,IACnC,KAAK,EAAE,gCAAgC,IAEtC,KAAK,CAAC,QAAQ,CACsB,CACxC,CAAC;AACJ,CAAC;AAjCD,oDAiCC;AAOD,gBAAgB;AACH,QAAA,kBAAkB,GAAG,IAAA,gBAAM,EAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClE,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,CAAC,KAAqB,EAAE,SAAyB,EAAE,EAAE;QACjE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACZ,IAAA,eAAO,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAC,CAAC,CAAC;AASJ,gBAAgB;AACH,QAAA,2BAA2B,GAAG,KAAK,CAAC,aAAa,CAE5D,SAAS,CAAC,CAAC;AACb,mCAA2B,CAAC,WAAW,GAAG,gCAAgC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport produce, { castDraft } from \"immer\";\nimport * as React from \"react\";\nimport { create } from \"zustand\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { TabState } from \"../state/TabState\";\n\n/** @internal */\nexport interface WidgetContentManagerProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetContentManager(props: WidgetContentManagerProps) {\n const setContentContainer = useContainersStore((state) => state.setContainer);\n const saveTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const restoreTransientStateRef = React.useRef(\n new BeEvent<(tabId: TabState[\"id\"]) => void>()\n );\n const setContainer = React.useCallback<\n WidgetContentManagerContextArgs[\"setContainer\"]\n >(\n (tabId, container) => {\n container === null && saveTransientStateRef.current.raiseEvent(tabId);\n setContentContainer(tabId, container);\n },\n [setContentContainer]\n );\n const widgetContentManagerContextValue =\n React.useMemo<WidgetContentManagerContextArgs>(\n () => ({\n setContainer,\n onSaveTransientState: saveTransientStateRef.current,\n onRestoreTransientState: restoreTransientStateRef.current,\n }),\n [setContainer]\n );\n return (\n <WidgetContentManagerContext.Provider\n value={widgetContentManagerContextValue}\n >\n {props.children}\n </WidgetContentManagerContext.Provider>\n );\n}\n\ninterface ContainersStore {\n setContainer: (tabId: TabState[\"id\"], container: Element | null) => void;\n containers: { readonly [id in TabState[\"id\"]]: Element | null };\n}\n\n/** @internal */\nexport const useContainersStore = create<ContainersStore>((set) => ({\n containers: {},\n setContainer: (tabId: TabState[\"id\"], container: Element | null) => {\n set((state) =>\n produce(state, (draft) => {\n draft.containers[tabId] = castDraft(container);\n })\n );\n },\n}));\n\n/** @internal */\nexport interface WidgetContentManagerContextArgs {\n setContainer(tabId: TabState[\"id\"], container: Element | null): void;\n onSaveTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n onRestoreTransientState: BeEvent<(tabId: TabState[\"id\"]) => void>;\n}\n\n/** @internal */\nexport const WidgetContentManagerContext = React.createContext<\n WidgetContentManagerContextArgs | undefined\n>(undefined);\nWidgetContentManagerContext.displayName = \"nz:WidgetContentManagerContext\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAOlD,gBAAgB;AAChB,wBAAgB,sBAAsB,sBAoBrC;AAED,UAAU,0BAA0B;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,qBAuCtE;AAED,gBAAgB;AAChB,eAAO,MAAM,YAAY,mCAExB,CAAC;AAGF,gBAAgB;AAChB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,IAAI,EACnB,SAAS,CAAC,EAAE,MAAM,IAAI,QAavB"}
1
+ {"version":3,"file":"ContentRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAOlD,gBAAgB;AAChB,wBAAgB,sBAAsB,sBAoBrC;AAED,UAAU,0BAA0B;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,gBAAgB;AAChB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,qBAyCtE;AAED,gBAAgB;AAChB,eAAO,MAAM,YAAY,mCAExB,CAAC;AAGF,gBAAgB;AAChB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,IAAI,EACnB,SAAS,CAAC,EAAE,MAAM,IAAI,QAiBvB"}
@@ -39,6 +39,8 @@ function WidgetContentRenderer(props) {
39
39
  container.current.classList.add("nz-widget-contentRenderer");
40
40
  }
41
41
  React.useLayoutEffect(() => {
42
+ if (!widgetContentManager)
43
+ return;
42
44
  const parent = renderTo;
43
45
  if (parent) {
44
46
  while (parent.firstChild) {
@@ -67,11 +69,15 @@ exports.TabIdContext.displayName = "nz:TabIdContext";
67
69
  function useTabTransientState(tabId, onSave, onRestore) {
68
70
  const widgetContentManager = React.useContext(ContentManager_1.WidgetContentManagerContext);
69
71
  React.useEffect(() => {
72
+ if (!widgetContentManager)
73
+ return;
70
74
  return widgetContentManager.onSaveTransientState.addListener((id) => {
71
75
  tabId === id && onSave && onSave();
72
76
  });
73
77
  }, [widgetContentManager, onSave, tabId]);
74
78
  React.useEffect(() => {
79
+ if (!widgetContentManager)
80
+ return;
75
81
  return widgetContentManager.onRestoreTransientState.addListener((id) => {
76
82
  tabId === id && onRestore && onRestore();
77
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ContentRenderer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.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 \"./ContentRenderer.scss\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport {\n ToolSettingsNodeContext,\n WidgetContentNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport {\n useContainersStore,\n WidgetContentManagerContext,\n} from \"./ContentManager\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** @internal */\nexport function WidgetContentRenderers() {\n const widgetContent = React.useContext(WidgetContentNodeContext);\n const toolSettingsContent = React.useContext(ToolSettingsNodeContext);\n const tabIds = useLayout((state) => {\n return Object.keys(state.tabs);\n }, true);\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return (\n <>\n {tabIds.map((tabId) => {\n const children =\n tabId === toolSettingsTabId ? toolSettingsContent : widgetContent;\n return (\n <WidgetContentRenderer key={tabId} tabId={tabId}>\n {children}\n </WidgetContentRenderer>\n );\n })}\n </>\n );\n}\n\ninterface WidgetContentRendererProps {\n children?: React.ReactNode;\n tabId: TabState[\"id\"];\n}\n\n/** @internal */\nexport function WidgetContentRenderer(props: WidgetContentRendererProps) {\n const renderTo = useContainersStore((state) => state.containers[props.tabId]);\n const unloaded = useLayout((state) => !!state.tabs[props.tabId].unloaded);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const container = React.useRef<HTMLDivElement>(undefined!);\n if (!container.current) {\n container.current = document.createElement(\"div\");\n container.current.classList.add(\"nz-widget-contentRenderer\");\n }\n React.useLayoutEffect(() => {\n const parent = renderTo;\n if (parent) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n\n parent.appendChild(container.current);\n widgetContentManager.onRestoreTransientState.raiseEvent(props.tabId);\n }\n return () => {\n for (const child of parent?.children || []) {\n if (child === container.current) {\n parent!.removeChild(child);\n return;\n }\n }\n };\n }, [renderTo, widgetContentManager, props.tabId]);\n return ReactDOM.createPortal(\n <div\n style={{ height: \"100%\", width: \"100%\" }}\n id={`content-container:${props.tabId}`}\n >\n <TabIdContext.Provider value={props.tabId}>\n {unloaded ? null : props.children}\n </TabIdContext.Provider>\n </div>,\n container.current\n );\n}\n\n/** @internal */\nexport const TabIdContext = React.createContext<TabState[\"id\"] | undefined>(\n undefined\n);\nTabIdContext.displayName = \"nz:TabIdContext\";\n\n/** @internal */\nexport function useTabTransientState(\n tabId: string,\n onSave?: () => void,\n onRestore?: () => void\n) {\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n React.useEffect(() => {\n return widgetContentManager.onSaveTransientState.addListener((id) => {\n tabId === id && onSave && onSave();\n });\n }, [widgetContentManager, onSave, tabId]);\n React.useEffect(() => {\n return widgetContentManager.onRestoreTransientState.addListener((id) => {\n tabId === id && onRestore && onRestore();\n });\n }, [widgetContentManager, onRestore, tabId]);\n}\n"]}
1
+ {"version":3,"file":"ContentRenderer.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/ContentRenderer.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 \"./ContentRenderer.scss\";\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport {\n ToolSettingsNodeContext,\n WidgetContentNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport {\n useContainersStore,\n WidgetContentManagerContext,\n} from \"./ContentManager\";\nimport { useLayout } from \"../base/LayoutStore\";\n\n/** @internal */\nexport function WidgetContentRenderers() {\n const widgetContent = React.useContext(WidgetContentNodeContext);\n const toolSettingsContent = React.useContext(ToolSettingsNodeContext);\n const tabIds = useLayout((state) => {\n return Object.keys(state.tabs);\n }, true);\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return (\n <>\n {tabIds.map((tabId) => {\n const children =\n tabId === toolSettingsTabId ? toolSettingsContent : widgetContent;\n return (\n <WidgetContentRenderer key={tabId} tabId={tabId}>\n {children}\n </WidgetContentRenderer>\n );\n })}\n </>\n );\n}\n\ninterface WidgetContentRendererProps {\n children?: React.ReactNode;\n tabId: TabState[\"id\"];\n}\n\n/** @internal */\nexport function WidgetContentRenderer(props: WidgetContentRendererProps) {\n const renderTo = useContainersStore((state) => state.containers[props.tabId]);\n const unloaded = useLayout((state) => !!state.tabs[props.tabId].unloaded);\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n const container = React.useRef<HTMLDivElement>(undefined!);\n if (!container.current) {\n container.current = document.createElement(\"div\");\n container.current.classList.add(\"nz-widget-contentRenderer\");\n }\n React.useLayoutEffect(() => {\n if (!widgetContentManager) return;\n\n const parent = renderTo;\n if (parent) {\n while (parent.firstChild) {\n parent.removeChild(parent.firstChild);\n }\n\n parent.appendChild(container.current);\n widgetContentManager.onRestoreTransientState.raiseEvent(props.tabId);\n }\n return () => {\n for (const child of parent?.children || []) {\n if (child === container.current) {\n parent!.removeChild(child);\n return;\n }\n }\n };\n }, [renderTo, widgetContentManager, props.tabId]);\n return ReactDOM.createPortal(\n <div\n style={{ height: \"100%\", width: \"100%\" }}\n id={`content-container:${props.tabId}`}\n >\n <TabIdContext.Provider value={props.tabId}>\n {unloaded ? null : props.children}\n </TabIdContext.Provider>\n </div>,\n container.current\n );\n}\n\n/** @internal */\nexport const TabIdContext = React.createContext<TabState[\"id\"] | undefined>(\n undefined\n);\nTabIdContext.displayName = \"nz:TabIdContext\";\n\n/** @internal */\nexport function useTabTransientState(\n tabId: string,\n onSave?: () => void,\n onRestore?: () => void\n) {\n const widgetContentManager = React.useContext(WidgetContentManagerContext);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onSaveTransientState.addListener((id) => {\n tabId === id && onSave && onSave();\n });\n }, [widgetContentManager, onSave, tabId]);\n React.useEffect(() => {\n if (!widgetContentManager) return;\n\n return widgetContentManager.onRestoreTransientState.addListener((id) => {\n tabId === id && onRestore && onRestore();\n });\n }, [widgetContentManager, onRestore, tabId]);\n}\n"]}
@@ -4,4 +4,6 @@
4
4
  import * as React from "react";
5
5
  /** @internal */
6
6
  export declare function Dock(): React.JSX.Element;
7
+ /** @internal */
8
+ export declare function useDock(): boolean;
7
9
  //# sourceMappingURL=Dock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dock.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Dock.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,gBAAgB;AAChB,wBAAgB,IAAI,sBAcnB"}
1
+ {"version":3,"file":"Dock.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Dock.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,gBAAgB;AAChB,wBAAgB,IAAI,sBAcnB;AAED,gBAAgB;AAChB,wBAAgB,OAAO,YAItB"}
@@ -7,11 +7,13 @@
7
7
  * @module Widget
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Dock = void 0;
10
+ exports.useDock = exports.Dock = void 0;
11
11
  const React = require("react");
12
12
  const itwinui_icons_react_1 = require("@itwin/itwinui-icons-react");
13
13
  const NineZone_1 = require("../base/NineZone");
14
14
  const Button_1 = require("../../preview/widget-action-dropdown/Button");
15
+ const useIsToolSettingsTab_1 = require("./useIsToolSettingsTab");
16
+ const useMaximizedWidget_1 = require("../../preview/enable-maximized-widget/useMaximizedWidget");
15
17
  /** @internal */
16
18
  function Dock() {
17
19
  const dispatch = React.useContext(NineZone_1.NineZoneDispatchContext);
@@ -23,4 +25,11 @@ function Dock() {
23
25
  } }));
24
26
  }
25
27
  exports.Dock = Dock;
28
+ /** @internal */
29
+ function useDock() {
30
+ const isToolSettings = (0, useIsToolSettingsTab_1.useIsToolSettingsTab)();
31
+ const isMaximizedWidget = (0, useMaximizedWidget_1.useIsMaximizedWidget)();
32
+ return isToolSettings && !isMaximizedWidget;
33
+ }
34
+ exports.useDock = useDock;
26
35
  //# sourceMappingURL=Dock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dock.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Dock.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,oEAAwD;AACxD,+CAAqE;AACrE,wEAA2E;AAE3E,gBAAgB;AAChB,SAAgB,IAAI;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,uBAAuB,CAAC,CAAC;IAChD,OAAO,CACL,oBAAC,qBAAY,IACX,IAAI,EAAE,oBAAC,gCAAU,OAAG,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,CAAC;gBACP,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CAAC;QACL,CAAC,GACD,CACH,CAAC;AACJ,CAAC;AAdD,oBAcC","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 { SvgDockTop } from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\n\n/** @internal */\nexport function Dock() {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const title = useLabel(\"dockToolSettingsTitle\");\n return (\n <ActionButton\n icon={<SvgDockTop />}\n title={title}\n onClick={() => {\n dispatch({\n type: \"TOOL_SETTINGS_DOCK\",\n });\n }}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"Dock.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Dock.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA+B;AAC/B,oEAAwD;AACxD,+CAAqE;AACrE,wEAA2E;AAC3E,iEAA8D;AAC9D,iGAAgG;AAEhG,gBAAgB;AAChB,SAAgB,IAAI;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAA,mBAAQ,EAAC,uBAAuB,CAAC,CAAC;IAChD,OAAO,CACL,oBAAC,qBAAY,IACX,IAAI,EAAE,oBAAC,gCAAU,OAAG,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,CAAC;gBACP,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CAAC;QACL,CAAC,GACD,CACH,CAAC;AACJ,CAAC;AAdD,oBAcC;AAED,gBAAgB;AAChB,SAAgB,OAAO;IACrB,MAAM,cAAc,GAAG,IAAA,2CAAoB,GAAE,CAAC;IAC9C,MAAM,iBAAiB,GAAG,IAAA,yCAAoB,GAAE,CAAC;IACjD,OAAO,cAAc,IAAI,CAAC,iBAAiB,CAAC;AAC9C,CAAC;AAJD,0BAIC","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 { SvgDockTop } from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\nimport { useIsToolSettingsTab } from \"./useIsToolSettingsTab\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport function Dock() {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const title = useLabel(\"dockToolSettingsTitle\");\n return (\n <ActionButton\n icon={<SvgDockTop />}\n title={title}\n onClick={() => {\n dispatch({\n type: \"TOOL_SETTINGS_DOCK\",\n });\n }}\n />\n );\n}\n\n/** @internal */\nexport function useDock() {\n const isToolSettings = useIsToolSettingsTab();\n const isMaximizedWidget = useIsMaximizedWidget();\n return isToolSettings && !isMaximizedWidget;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingWidget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEL,SAAS,EAGV,MAAM,mBAAmB,CAAC;AAa3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAUhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAGpE,KAAK,wBAAwB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AACpE,KAAK,0BAA0B,GAC3B,SAAS,GACT,UAAU,GACV,YAAY,GACZ,aAAa,CAAC;AAElB,gBAAgB;AAChB,MAAM,MAAM,0BAA0B,GAClC,wBAAwB,GACxB,0BAA0B,CAAC;AAE/B,gBAAgB;AAChB,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,qBAGxE;AAED,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBA4FxD;AAuKD,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,KAAK,aAmB5E;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAS3E;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,IAAI,OAAO,CAYhD"}
1
+ {"version":3,"file":"FloatingWidget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/FloatingWidget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAEL,SAAS,EAGV,MAAM,mBAAmB,CAAC;AAa3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAUhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAMpE,KAAK,wBAAwB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AACpE,KAAK,0BAA0B,GAC3B,SAAS,GACT,UAAU,GACV,YAAY,GACZ,aAAa,CAAC;AAElB,gBAAgB;AAChB,MAAM,MAAM,0BAA0B,GAClC,wBAAwB,GACxB,0BAA0B,CAAC;AAE/B,gBAAgB;AAChB,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,qBAGxE;AAED,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC3E;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAwFxD;AAqKD,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,KAAK,aAmB5E;AAED,gBAAgB;AAChB,wBAAgB,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,SAAS,CAS3E;AAED,gBAAgB;AAChB,wBAAgB,sBAAsB,IAAI,OAAO,CAYhD"}