@itwin/appui-react 4.10.0 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (893) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/lib/cjs/appui-react/UiFramework.d.ts +181 -10
  3. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/cjs/appui-react/UiFramework.js +301 -21
  5. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js +3 -2
  8. package/lib/cjs/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  11. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +5 -7
  15. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  17. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  19. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  20. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  22. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js +2 -1
  24. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  25. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts +2 -2
  26. package/lib/cjs/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  27. package/lib/cjs/appui-react/backstage/BackstageItem.js.map +1 -1
  28. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  29. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  30. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  31. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js +24 -17
  33. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  34. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  35. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  36. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  37. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  38. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  39. package/lib/cjs/appui-react/configurableui/TimeTracker.js +2 -1
  40. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  41. package/lib/cjs/appui-react/content/ContentLayout.js +12 -9
  42. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  43. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +4 -3
  44. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  45. package/lib/cjs/appui-react/content/DefaultViewOverlay.scss +14 -19
  46. package/lib/cjs/appui-react/content/FloatingViewportContent.js +2 -1
  47. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  48. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/content/IModelViewport.js +8 -9
  50. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  51. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +2 -1
  52. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  53. package/lib/cjs/appui-react/content/InternalContentViewManager.js +2 -2
  54. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  55. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +12 -10
  56. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  57. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  58. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  59. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  60. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  61. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  62. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  63. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  64. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  65. package/lib/cjs/appui-react/dialog/ContentDialog.js +6 -3
  66. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  67. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +3 -2
  68. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  69. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  70. package/lib/cjs/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/framework/FrameworkVisibility.js.map +1 -1
  72. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  73. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +20 -77
  75. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  76. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  77. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  78. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  79. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  80. package/lib/cjs/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  81. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js +1 -2
  82. package/lib/cjs/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  83. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  84. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +7 -6
  85. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  86. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  87. package/lib/cjs/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  88. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts +6 -0
  89. package/lib/cjs/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  90. package/lib/cjs/appui-react/hooks/useActiveToolId.js +24 -0
  91. package/lib/cjs/appui-react/hooks/useActiveToolId.js.map +1 -0
  92. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  93. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  94. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts +15 -0
  95. package/lib/cjs/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  96. package/lib/cjs/appui-react/hooks/useConditionalValue.js +43 -0
  97. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -0
  98. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  99. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  100. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +13 -8
  101. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  102. package/lib/cjs/appui-react/keyins/Keyins.d.ts +35 -0
  103. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -0
  104. package/lib/cjs/appui-react/keyins/Keyins.js +54 -0
  105. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -0
  106. package/lib/cjs/appui-react/layers.scss +1 -1
  107. package/lib/cjs/appui-react/layout/StandardLayout.d.ts.map +1 -1
  108. package/lib/cjs/appui-react/layout/StandardLayout.js +10 -10
  109. package/lib/cjs/appui-react/layout/StandardLayout.js.map +1 -1
  110. package/lib/cjs/appui-react/layout/_widgetopacity.scss +3 -1
  111. package/lib/cjs/appui-react/layout/base/DragManager.js +2 -1
  112. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  113. package/lib/cjs/appui-react/layout/base/NineZone.js +1 -1
  114. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  115. package/lib/cjs/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js +3 -0
  117. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  118. package/lib/cjs/appui-react/layout/outline/TabOutline.js +1 -1
  119. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  120. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +1 -1
  121. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  122. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  123. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  124. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  125. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  126. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  127. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  128. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  129. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  130. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -1
  131. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  132. package/lib/cjs/appui-react/layout/widget/Content.d.ts.map +1 -1
  133. package/lib/cjs/appui-react/layout/widget/Content.js +5 -5
  134. package/lib/cjs/appui-react/layout/widget/Content.js.map +1 -1
  135. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js +2 -2
  136. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/widget/FloatingTab.js +6 -5
  138. package/lib/cjs/appui-react/layout/widget/FloatingTab.js.map +1 -1
  139. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +4 -2
  140. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  141. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +4 -1
  142. package/lib/cjs/appui-react/layout/widget/PanelWidget.js +1 -1
  143. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  144. package/lib/cjs/appui-react/layout/widget/Tab.js +4 -4
  145. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  146. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +2 -0
  147. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  148. package/lib/cjs/appui-react/layout/widget/Widget.js +2 -2
  149. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  150. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  151. package/lib/cjs/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  152. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +8 -5
  153. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  154. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  155. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  156. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  157. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -1
  158. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  159. package/lib/cjs/appui-react/messages/MessageManager.d.ts.map +1 -1
  160. package/lib/cjs/appui-react/messages/MessageManager.js +6 -6
  161. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  162. package/lib/cjs/appui-react/messages/MessageRenderer.js +16 -10
  163. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  164. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  165. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  166. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  167. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  169. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  170. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  171. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  172. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  173. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  174. package/lib/cjs/appui-react/pickers/ViewSelector.js +6 -5
  175. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  176. package/lib/cjs/appui-react/popup/CardPopup.d.ts +21 -9
  177. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  178. package/lib/cjs/appui-react/popup/CardPopup.js +12 -5
  179. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  180. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts +18 -0
  181. package/lib/cjs/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  182. package/lib/cjs/appui-react/popup/ComponentPopup.js +35 -0
  183. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -0
  184. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  185. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +1 -0
  187. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  188. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts +4 -4
  189. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  190. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  191. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  192. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  193. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +19 -12
  194. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  195. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  196. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  197. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +9 -3
  198. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  199. package/lib/cjs/appui-react/popup/PopupManager.d.ts +45 -9
  200. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  201. package/lib/cjs/appui-react/popup/PopupManager.js +85 -13
  202. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  203. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts +16 -6
  204. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  205. package/lib/cjs/appui-react/popup/ToolbarPopup.js +7 -2
  206. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  207. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +3 -1
  208. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  209. package/lib/cjs/appui-react/preview/PreviewFeatures.js +2 -2
  210. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  211. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  212. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  213. package/lib/cjs/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  214. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  215. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  216. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  217. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +18 -0
  218. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  219. package/lib/cjs/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  220. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  221. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  222. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  223. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  224. package/lib/cjs/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  225. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  226. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  227. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  228. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  229. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  230. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  231. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  232. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js +25 -0
  233. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  234. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  235. package/lib/cjs/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  236. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js +20 -0
  237. package/lib/cjs/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  238. package/lib/cjs/appui-react/preview/new-toolbars/Badge.scss +13 -0
  239. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  240. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  241. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js +36 -0
  242. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  243. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  244. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  245. package/lib/cjs/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +8 -13
  246. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  247. package/lib/cjs/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  248. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  249. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  250. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js +79 -0
  251. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  252. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  253. package/lib/cjs/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  254. package/lib/cjs/appui-react/preview/new-toolbars/Item.js +54 -0
  255. package/lib/cjs/appui-react/preview/new-toolbars/Item.js.map +1 -0
  256. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  257. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  258. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js +37 -0
  259. package/lib/cjs/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  260. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  261. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  262. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js +85 -0
  263. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  264. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  265. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  266. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  267. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js +40 -0
  268. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  269. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  270. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  271. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js +93 -0
  272. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  273. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  274. package/lib/cjs/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  275. package/lib/cjs/appui-react/redux/FrameworkState.d.ts +1 -1
  276. package/lib/cjs/appui-react/redux/SessionState.d.ts +15 -3
  277. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  278. package/lib/cjs/appui-react/redux/SessionState.js +8 -1
  279. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  280. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +2 -2
  281. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  282. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  283. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  284. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  285. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  286. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  287. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  288. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  289. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +40 -46
  290. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  291. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts +17 -0
  292. package/lib/cjs/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  293. package/lib/cjs/appui-react/shared/ConditionalValue.js +16 -0
  294. package/lib/cjs/appui-react/shared/ConditionalValue.js.map +1 -0
  295. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts +2 -2
  296. package/lib/cjs/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/shared/ItemDefBase.js.map +1 -1
  298. package/lib/cjs/appui-react/shared/ItemProps.d.ts +13 -2
  299. package/lib/cjs/appui-react/shared/ItemProps.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/shared/ItemProps.js.map +1 -1
  301. package/lib/cjs/appui-react/shared/MenuItem.d.ts +21 -2
  302. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  303. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  304. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js +16 -11
  305. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  306. package/lib/cjs/appui-react/statusbar/Indicator.js +2 -1
  307. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  308. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  309. package/lib/cjs/appui-react/statusbar/Overflow.js +3 -3
  310. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  311. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +1 -1
  312. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  313. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -4
  314. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  315. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  316. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  317. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  318. package/lib/cjs/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  319. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  320. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.js +10 -11
  321. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -0
  322. package/lib/cjs/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  323. package/lib/cjs/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  324. package/lib/cjs/appui-react/statusfields/ActivityCenter.js +4 -4
  325. package/lib/cjs/appui-react/statusfields/ActivityCenter.js.map +1 -1
  326. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts +0 -1
  327. package/lib/cjs/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/statusfields/MessageCenter.js +4 -4
  329. package/lib/cjs/appui-react/statusfields/MessageCenter.js.map +1 -1
  330. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/statusfields/SectionsField.js +7 -10
  332. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  333. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/statusfields/SelectionScope.js +4 -4
  335. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  336. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  337. package/lib/cjs/appui-react/statusfields/SnapMode.js +14 -12
  338. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  339. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  340. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  341. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +12 -20
  342. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  343. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  344. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +2 -2
  345. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  346. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  347. package/lib/cjs/appui-react/theme/ThemeManager.js +3 -2
  348. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  349. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  350. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  351. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  352. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts +4 -3
  353. package/lib/cjs/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  354. package/lib/cjs/appui-react/toolbar/Toolbar.js +28 -4
  355. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  356. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  357. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  358. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +15 -12
  359. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  360. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  361. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +5 -6
  362. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  363. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  364. package/lib/cjs/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  365. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  366. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  367. package/lib/cjs/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  368. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  369. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +18 -11
  370. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  371. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  372. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  373. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  374. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  375. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  376. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  377. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  378. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  379. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  380. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  381. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  382. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  383. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +102 -143
  384. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  385. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +1 -1
  386. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  387. package/lib/cjs/appui-react/useTranslation.d.ts +10 -0
  388. package/lib/cjs/appui-react/useTranslation.d.ts.map +1 -0
  389. package/lib/cjs/appui-react/useTranslation.js +20 -0
  390. package/lib/cjs/appui-react/useTranslation.js.map +1 -0
  391. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +3 -3
  392. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  393. package/lib/cjs/appui-react/utils/Placement.d.ts +35 -0
  394. package/lib/cjs/appui-react/utils/Placement.d.ts.map +1 -0
  395. package/lib/cjs/appui-react/utils/Placement.js +62 -0
  396. package/lib/cjs/appui-react/utils/Placement.js.map +1 -0
  397. package/lib/cjs/appui-react/utils/PropsHelper.js +4 -4
  398. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  399. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  400. package/lib/cjs/appui-react/widget-panels/Content.js +12 -11
  401. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  402. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  403. package/lib/cjs/appui-react/widget-panels/Frontstage.js +30 -23
  404. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  405. package/lib/cjs/appui-react/widget-panels/StatusBar.js +1 -1
  406. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  407. package/lib/cjs/appui-react/widget-panels/Tab.d.ts +1 -1
  408. package/lib/cjs/appui-react/widget-panels/Tab.d.ts.map +1 -1
  409. package/lib/cjs/appui-react/widget-panels/Tab.js +3 -4
  410. package/lib/cjs/appui-react/widget-panels/Tab.js.map +1 -1
  411. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  412. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  413. package/lib/cjs/appui-react/widget-panels/ToolSettings.js +55 -68
  414. package/lib/cjs/appui-react/widget-panels/ToolSettings.js.map +1 -1
  415. package/lib/cjs/appui-react/widget-panels/Toolbars.js +3 -2
  416. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  417. package/lib/cjs/appui-react/widget-panels/Toolbars.scss +3 -1
  418. package/lib/cjs/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  419. package/lib/cjs/appui-react/widgets/BackstageAppButton.js +3 -1
  420. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  421. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  422. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  423. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  424. package/lib/cjs/appui-react/widgets/Widget.d.ts +2 -2
  425. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  426. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  427. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts +8 -3
  428. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  429. package/lib/cjs/appui-react/widgets/WidgetDef.js +61 -18
  430. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  431. package/lib/cjs/appui-react/widgets/WidgetHost.js +3 -2
  432. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  433. package/lib/cjs/appui-react/widgets/useWidget.js +1 -1
  434. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  435. package/lib/cjs/appui-react.d.ts +3 -1
  436. package/lib/cjs/appui-react.d.ts.map +1 -1
  437. package/lib/cjs/appui-react.js +3 -3
  438. package/lib/cjs/appui-react.js.map +1 -1
  439. package/lib/esm/appui-react/UiFramework.d.ts +181 -10
  440. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  441. package/lib/esm/appui-react/UiFramework.js +301 -21
  442. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  443. package/lib/esm/appui-react/accudraw/AccuDrawDialog.d.ts.map +1 -1
  444. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js +3 -2
  445. package/lib/esm/appui-react/accudraw/AccuDrawDialog.js.map +1 -1
  446. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  447. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +50 -33
  448. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  449. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  450. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  451. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +5 -7
  452. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  453. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts +7 -6
  454. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  455. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +9 -0
  456. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  457. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  458. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +10 -10
  459. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  460. package/lib/esm/appui-react/backstage/BackstageComposerItem.js +2 -1
  461. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  462. package/lib/esm/appui-react/backstage/BackstageItem.d.ts +2 -2
  463. package/lib/esm/appui-react/backstage/BackstageItem.d.ts.map +1 -1
  464. package/lib/esm/appui-react/backstage/BackstageItem.js.map +1 -1
  465. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +1 -1
  466. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  467. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts +5 -0
  468. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  469. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js +23 -16
  470. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  471. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +12 -10
  472. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts +2 -0
  473. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.d.ts.map +1 -1
  474. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +7 -1
  475. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  476. package/lib/esm/appui-react/configurableui/TimeTracker.js +2 -1
  477. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  478. package/lib/esm/appui-react/content/ContentLayout.js +12 -9
  479. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  480. package/lib/esm/appui-react/content/DefaultViewOverlay.js +4 -3
  481. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  482. package/lib/esm/appui-react/content/DefaultViewOverlay.scss +14 -19
  483. package/lib/esm/appui-react/content/FloatingViewportContent.js +2 -1
  484. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  485. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  486. package/lib/esm/appui-react/content/IModelViewport.js +8 -9
  487. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  488. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +2 -1
  489. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  490. package/lib/esm/appui-react/content/InternalContentViewManager.js +2 -2
  491. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  492. package/lib/esm/appui-react/content/split-pane/SplitPane.js +12 -10
  493. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  494. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts +2 -2
  495. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  496. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +3 -2
  497. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  498. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts +8 -4
  499. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  500. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +102 -50
  501. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  502. package/lib/esm/appui-react/dialog/ContentDialog.js +6 -3
  503. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  504. package/lib/esm/appui-react/dialog/DialogManagerBase.js +3 -2
  505. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  506. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts +4 -2
  507. package/lib/esm/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  508. package/lib/esm/appui-react/framework/FrameworkVisibility.js.map +1 -1
  509. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +0 -5
  510. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  511. package/lib/esm/appui-react/frontstage/FrontstageDef.js +21 -78
  512. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  513. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  514. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -3
  515. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  516. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts +0 -1
  517. package/lib/esm/appui-react/frontstage/ModalFrontstage.d.ts.map +1 -1
  518. package/lib/esm/appui-react/frontstage/ModalFrontstage.js +1 -2
  519. package/lib/esm/appui-react/frontstage/ModalFrontstage.js.map +1 -1
  520. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  521. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +7 -6
  522. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  523. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js +2 -1
  524. package/lib/esm/appui-react/frontstage/StandardFrontstageProvider.js.map +1 -1
  525. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts +6 -0
  526. package/lib/esm/appui-react/hooks/useActiveToolId.d.ts.map +1 -0
  527. package/lib/esm/appui-react/hooks/useActiveToolId.js +20 -0
  528. package/lib/esm/appui-react/hooks/useActiveToolId.js.map +1 -0
  529. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +11 -7
  530. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  531. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts +15 -0
  532. package/lib/esm/appui-react/hooks/useConditionalValue.d.ts.map +1 -0
  533. package/lib/esm/appui-react/hooks/useConditionalValue.js +39 -0
  534. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -0
  535. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +11 -7
  536. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  537. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +13 -8
  538. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  539. package/lib/esm/appui-react/keyins/Keyins.d.ts +35 -0
  540. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -0
  541. package/lib/esm/appui-react/keyins/Keyins.js +50 -0
  542. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -0
  543. package/lib/esm/appui-react/layers.scss +1 -1
  544. package/lib/esm/appui-react/layout/StandardLayout.d.ts.map +1 -1
  545. package/lib/esm/appui-react/layout/StandardLayout.js +10 -10
  546. package/lib/esm/appui-react/layout/StandardLayout.js.map +1 -1
  547. package/lib/esm/appui-react/layout/_widgetopacity.scss +3 -1
  548. package/lib/esm/appui-react/layout/base/DragManager.js +2 -1
  549. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  550. package/lib/esm/appui-react/layout/base/NineZone.js +1 -1
  551. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  552. package/lib/esm/appui-react/layout/base/usePointerCaptor.d.ts.map +1 -1
  553. package/lib/esm/appui-react/layout/base/usePointerCaptor.js +3 -0
  554. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  555. package/lib/esm/appui-react/layout/outline/TabOutline.js +1 -1
  556. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  557. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +1 -1
  558. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  559. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +14 -12
  560. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  561. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js +2 -1
  562. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  563. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js +3 -2
  564. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  565. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js +4 -4
  566. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  567. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -1
  568. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  569. package/lib/esm/appui-react/layout/widget/Content.d.ts.map +1 -1
  570. package/lib/esm/appui-react/layout/widget/Content.js +5 -5
  571. package/lib/esm/appui-react/layout/widget/Content.js.map +1 -1
  572. package/lib/esm/appui-react/layout/widget/ContentRenderer.js +2 -2
  573. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  574. package/lib/esm/appui-react/layout/widget/FloatingTab.js +6 -5
  575. package/lib/esm/appui-react/layout/widget/FloatingTab.js.map +1 -1
  576. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +4 -2
  577. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  578. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +4 -1
  579. package/lib/esm/appui-react/layout/widget/PanelWidget.js +1 -1
  580. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  581. package/lib/esm/appui-react/layout/widget/Tab.js +4 -4
  582. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  583. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +2 -0
  584. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  585. package/lib/esm/appui-react/layout/widget/Widget.js +2 -2
  586. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  587. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js +1 -1
  588. package/lib/esm/appui-react/layout/widget/useIsToolSettingsTab.js.map +1 -1
  589. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +8 -5
  590. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  591. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts +1 -1
  592. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +2 -1
  593. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  594. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -1
  595. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  596. package/lib/esm/appui-react/messages/MessageManager.d.ts.map +1 -1
  597. package/lib/esm/appui-react/messages/MessageManager.js +6 -6
  598. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  599. package/lib/esm/appui-react/messages/MessageRenderer.js +17 -11
  600. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  601. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  602. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +2 -6
  603. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  604. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  605. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +2 -2
  606. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  607. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts +0 -1
  608. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.d.ts.map +1 -1
  609. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  610. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  611. package/lib/esm/appui-react/pickers/ViewSelector.js +6 -5
  612. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  613. package/lib/esm/appui-react/popup/CardPopup.d.ts +21 -9
  614. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  615. package/lib/esm/appui-react/popup/CardPopup.js +15 -7
  616. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  617. package/lib/esm/appui-react/popup/ComponentPopup.d.ts +18 -0
  618. package/lib/esm/appui-react/popup/ComponentPopup.d.ts.map +1 -0
  619. package/lib/esm/appui-react/popup/ComponentPopup.js +31 -0
  620. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -0
  621. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts +4 -1
  622. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  623. package/lib/esm/appui-react/popup/HTMLElementPopup.js +1 -0
  624. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  625. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts +4 -4
  626. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  627. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  628. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts +1 -1
  629. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  630. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +19 -12
  631. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  632. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts +4 -2
  633. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  634. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +9 -3
  635. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  636. package/lib/esm/appui-react/popup/PopupManager.d.ts +45 -9
  637. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  638. package/lib/esm/appui-react/popup/PopupManager.js +87 -14
  639. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  640. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts +16 -6
  641. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  642. package/lib/esm/appui-react/popup/ToolbarPopup.js +9 -3
  643. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  644. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +3 -1
  645. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  646. package/lib/esm/appui-react/preview/PreviewFeatures.js +2 -2
  647. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  648. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts +6 -0
  649. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.d.ts.map +1 -0
  650. package/lib/esm/appui-react/{layout/state → preview/activate-dropped-tab}/activateDroppedTab.js +5 -4
  651. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -0
  652. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts +6 -0
  653. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.d.ts.map +1 -0
  654. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js +14 -0
  655. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.js.map +1 -0
  656. package/lib/esm/appui-react/preview/content-always-max-size/useContentAlwaysMaxSize.scss +10 -0
  657. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts +7 -7
  658. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.d.ts.map +1 -1
  659. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js +7 -7
  660. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.js.map +1 -1
  661. package/lib/esm/appui-react/preview/enable-maximized-widget/useMaximizedWidget.scss +6 -6
  662. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +1 -1
  663. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  664. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js +1 -1
  665. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.js.map +1 -1
  666. package/lib/esm/appui-react/preview/horizontal-panel-alignment/useHorizontalPanelAlignment.scss +4 -4
  667. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts +12 -0
  668. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.d.ts.map +1 -0
  669. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js +22 -0
  670. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -0
  671. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts +9 -0
  672. package/lib/esm/appui-react/preview/new-toolbars/Badge.d.ts.map +1 -0
  673. package/lib/esm/appui-react/preview/new-toolbars/Badge.js +16 -0
  674. package/lib/esm/appui-react/preview/new-toolbars/Badge.js.map +1 -0
  675. package/lib/esm/appui-react/preview/new-toolbars/Badge.scss +13 -0
  676. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts +12 -0
  677. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.d.ts.map +1 -0
  678. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js +33 -0
  679. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -0
  680. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts +5 -0
  681. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.d.ts.map +1 -0
  682. package/lib/esm/appui-react/{statusbar/Popup.js → preview/new-toolbars/ExpandIndicator.js} +5 -10
  683. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.js.map +1 -0
  684. package/lib/esm/appui-react/preview/new-toolbars/ExpandIndicator.scss +17 -0
  685. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts +22 -0
  686. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.d.ts.map +1 -0
  687. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js +74 -0
  688. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -0
  689. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts +21 -0
  690. package/lib/esm/appui-react/preview/new-toolbars/Item.d.ts.map +1 -0
  691. package/lib/esm/appui-react/preview/new-toolbars/Item.js +49 -0
  692. package/lib/esm/appui-react/preview/new-toolbars/Item.js.map +1 -0
  693. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts +17 -0
  694. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.d.ts.map +1 -0
  695. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js +34 -0
  696. package/lib/esm/appui-react/preview/new-toolbars/OverflowButton.js.map +1 -0
  697. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts +18 -0
  698. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.d.ts.map +1 -0
  699. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js +81 -0
  700. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -0
  701. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.scss +43 -0
  702. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts +23 -0
  703. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.d.ts.map +1 -0
  704. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js +36 -0
  705. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -0
  706. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts +9 -0
  707. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.d.ts.map +1 -0
  708. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js +89 -0
  709. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -0
  710. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js +2 -1
  711. package/lib/esm/appui-react/preview/widget-action-dropdown/MoreButton.js.map +1 -1
  712. package/lib/esm/appui-react/redux/FrameworkState.d.ts +1 -1
  713. package/lib/esm/appui-react/redux/SessionState.d.ts +15 -3
  714. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  715. package/lib/esm/appui-react/redux/SessionState.js +8 -1
  716. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  717. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +2 -2
  718. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  719. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  720. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +6 -8
  721. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  722. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.d.ts.map +1 -1
  723. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js +7 -7
  724. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  725. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  726. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +40 -46
  727. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  728. package/lib/esm/appui-react/shared/ConditionalValue.d.ts +17 -0
  729. package/lib/esm/appui-react/shared/ConditionalValue.d.ts.map +1 -0
  730. package/lib/esm/appui-react/shared/ConditionalValue.js +13 -0
  731. package/lib/esm/appui-react/shared/ConditionalValue.js.map +1 -0
  732. package/lib/esm/appui-react/shared/ItemDefBase.d.ts +2 -2
  733. package/lib/esm/appui-react/shared/ItemDefBase.d.ts.map +1 -1
  734. package/lib/esm/appui-react/shared/ItemDefBase.js.map +1 -1
  735. package/lib/esm/appui-react/shared/ItemProps.d.ts +13 -2
  736. package/lib/esm/appui-react/shared/ItemProps.d.ts.map +1 -1
  737. package/lib/esm/appui-react/shared/ItemProps.js.map +1 -1
  738. package/lib/esm/appui-react/shared/MenuItem.d.ts +21 -2
  739. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  740. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  741. package/lib/esm/appui-react/stagepanels/StagePanelDef.js +16 -11
  742. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  743. package/lib/esm/appui-react/statusbar/Indicator.js +2 -1
  744. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  745. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  746. package/lib/esm/appui-react/statusbar/Overflow.js +3 -3
  747. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  748. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +1 -1
  749. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  750. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -4
  751. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  752. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +2 -2
  753. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  754. package/lib/esm/appui-react/statusbar/StatusBarItem.js.map +1 -1
  755. package/lib/esm/appui-react/statusbar/{Popup.d.ts → popup/Popup.d.ts} +2 -1
  756. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -0
  757. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.js +8 -9
  758. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -0
  759. package/lib/esm/appui-react/{layout/footer → statusbar/popup}/Popup.scss +1 -7
  760. package/lib/esm/appui-react/statusfields/ActivityCenter.d.ts.map +1 -1
  761. package/lib/esm/appui-react/statusfields/ActivityCenter.js +4 -4
  762. package/lib/esm/appui-react/statusfields/ActivityCenter.js.map +1 -1
  763. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts +0 -1
  764. package/lib/esm/appui-react/statusfields/MessageCenter.d.ts.map +1 -1
  765. package/lib/esm/appui-react/statusfields/MessageCenter.js +4 -4
  766. package/lib/esm/appui-react/statusfields/MessageCenter.js.map +1 -1
  767. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  768. package/lib/esm/appui-react/statusfields/SectionsField.js +7 -10
  769. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  770. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  771. package/lib/esm/appui-react/statusfields/SelectionScope.js +4 -4
  772. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  773. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  774. package/lib/esm/appui-react/statusfields/SnapMode.js +14 -12
  775. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  776. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts +0 -2
  777. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  778. package/lib/esm/appui-react/statusfields/ViewAttributes.js +12 -20
  779. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  780. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  781. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +3 -3
  782. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  783. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  784. package/lib/esm/appui-react/theme/ThemeManager.js +3 -2
  785. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  786. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  787. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +2 -3
  788. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  789. package/lib/esm/appui-react/toolbar/Toolbar.d.ts +4 -3
  790. package/lib/esm/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  791. package/lib/esm/appui-react/toolbar/Toolbar.js +29 -5
  792. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  793. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts +4 -2
  794. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  795. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +15 -12
  796. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  797. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  798. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +5 -6
  799. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  800. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts +2 -2
  801. package/lib/esm/appui-react/toolbar/ToolbarItem.d.ts.map +1 -1
  802. package/lib/esm/appui-react/toolbar/ToolbarItem.js.map +1 -1
  803. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js +4 -3
  804. package/lib/esm/appui-react/toolbar/useUiItemsProviderToolbarItems.js.map +1 -1
  805. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  806. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +18 -11
  807. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  808. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +2 -3
  809. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  810. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js +22 -20
  811. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  812. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +10 -9
  813. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  814. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js +2 -1
  815. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  816. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +14 -8
  817. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  818. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts +47 -38
  819. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  820. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +100 -141
  821. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  822. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +1 -1
  823. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  824. package/lib/esm/appui-react/useTranslation.d.ts +10 -0
  825. package/lib/esm/appui-react/useTranslation.d.ts.map +1 -0
  826. package/lib/esm/appui-react/useTranslation.js +16 -0
  827. package/lib/esm/appui-react/useTranslation.js.map +1 -0
  828. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +3 -3
  829. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  830. package/lib/esm/appui-react/utils/Placement.d.ts +35 -0
  831. package/lib/esm/appui-react/utils/Placement.d.ts.map +1 -0
  832. package/lib/esm/appui-react/utils/Placement.js +57 -0
  833. package/lib/esm/appui-react/utils/Placement.js.map +1 -0
  834. package/lib/esm/appui-react/utils/PropsHelper.js +4 -4
  835. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  836. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  837. package/lib/esm/appui-react/widget-panels/Content.js +12 -11
  838. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  839. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  840. package/lib/esm/appui-react/widget-panels/Frontstage.js +30 -23
  841. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  842. package/lib/esm/appui-react/widget-panels/StatusBar.js +1 -1
  843. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  844. package/lib/esm/appui-react/widget-panels/Tab.d.ts +1 -1
  845. package/lib/esm/appui-react/widget-panels/Tab.d.ts.map +1 -1
  846. package/lib/esm/appui-react/widget-panels/Tab.js +2 -3
  847. package/lib/esm/appui-react/widget-panels/Tab.js.map +1 -1
  848. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  849. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  850. package/lib/esm/appui-react/widget-panels/ToolSettings.js +53 -66
  851. package/lib/esm/appui-react/widget-panels/ToolSettings.js.map +1 -1
  852. package/lib/esm/appui-react/widget-panels/Toolbars.js +3 -2
  853. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  854. package/lib/esm/appui-react/widget-panels/Toolbars.scss +3 -1
  855. package/lib/esm/appui-react/widgets/BackstageAppButton.d.ts.map +1 -1
  856. package/lib/esm/appui-react/widgets/BackstageAppButton.js +3 -1
  857. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  858. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  859. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -3
  860. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  861. package/lib/esm/appui-react/widgets/Widget.d.ts +2 -2
  862. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  863. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  864. package/lib/esm/appui-react/widgets/WidgetDef.d.ts +8 -3
  865. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  866. package/lib/esm/appui-react/widgets/WidgetDef.js +59 -17
  867. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  868. package/lib/esm/appui-react/widgets/WidgetHost.js +3 -2
  869. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  870. package/lib/esm/appui-react/widgets/useWidget.js +1 -1
  871. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  872. package/lib/esm/appui-react.d.ts +3 -1
  873. package/lib/esm/appui-react.d.ts.map +1 -1
  874. package/lib/esm/appui-react.js +3 -1
  875. package/lib/esm/appui-react.js.map +1 -1
  876. package/lib/public/locales/en/UiFramework.json +7 -1
  877. package/package.json +10 -8
  878. package/lib/cjs/appui-react/layout/footer/Popup.d.ts +0 -12
  879. package/lib/cjs/appui-react/layout/footer/Popup.d.ts.map +0 -1
  880. package/lib/cjs/appui-react/layout/footer/Popup.js.map +0 -1
  881. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  882. package/lib/cjs/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  883. package/lib/cjs/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  884. package/lib/cjs/appui-react/statusbar/Popup.d.ts.map +0 -1
  885. package/lib/cjs/appui-react/statusbar/Popup.js.map +0 -1
  886. package/lib/esm/appui-react/layout/footer/Popup.d.ts +0 -12
  887. package/lib/esm/appui-react/layout/footer/Popup.d.ts.map +0 -1
  888. package/lib/esm/appui-react/layout/footer/Popup.js.map +0 -1
  889. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts +0 -5
  890. package/lib/esm/appui-react/layout/state/activateDroppedTab.d.ts.map +0 -1
  891. package/lib/esm/appui-react/layout/state/activateDroppedTab.js.map +0 -1
  892. package/lib/esm/appui-react/statusbar/Popup.d.ts.map +0 -1
  893. package/lib/esm/appui-react/statusbar/Popup.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Tab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n Icon,\n Point,\n Rectangle,\n Timer,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n MeasureContext,\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n TabNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetTabsEntryContext } from \"./Tabs\";\nimport {\n restrainInitialWidgetSize,\n WidgetContext,\n WidgetIdContext,\n} from \"./Widget\";\nimport { TabIdContext } from \"./ContentRenderer\";\nimport { TabTarget } from \"../target/TabTarget\";\nimport { WidgetMenuTab } from \"./MenuTab\";\nimport { WidgetOverflowContext } from \"./Overflow\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabProviderProps extends TabPositionContextArgs {\n id: TabState[\"id\"];\n showOnlyTabIcon?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabProvider({\n id,\n first,\n firstInactive,\n last,\n showOnlyTabIcon,\n}: WidgetTabProviderProps) {\n const tabNode = React.useContext(TabNodeContext);\n const position = React.useMemo<TabPositionContextArgs>(\n () => ({\n first,\n firstInactive,\n last,\n }),\n [first, firstInactive, last]\n );\n return (\n <TabIdContext.Provider value={id}>\n <TabPositionContext.Provider value={position}>\n <IconOnlyOnWidgetTabContext.Provider value={!!showOnlyTabIcon}>\n {tabNode}\n </IconOnlyOnWidgetTabContext.Provider>\n </TabPositionContext.Provider>\n </TabIdContext.Provider>\n );\n}\n\n/** Properties of [[WidgetTab]] component.\n * @internal\n */\nexport interface WidgetTabProps extends CommonProps {\n badge?: React.ReactNode;\n}\n\n/** Component that displays a tab in a side panel widget.\n * @internal\n */\nexport function WidgetTab(props: WidgetTabProps) {\n const widgetOverflow = React.useContext(WidgetOverflowContext);\n const overflown = !!widgetOverflow;\n if (overflown) return <WidgetMenuTab {...props} />;\n return <WidgetTabComponent {...props} />;\n}\n\nfunction WidgetTabComponent(props: WidgetTabProps) {\n const id = React.useContext(TabIdContext);\n const { first, firstInactive, last } = React.useContext(TabPositionContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const showIconOnly = React.useContext(IconOnlyOnWidgetTabContext);\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n assert(!!id);\n assert(!!widgetId);\n\n const iconSpec = useLayout((state) => state.tabs[id].iconSpec);\n const label = useLayout((state) => state.tabs[id].label);\n const activeTabId = useLayout(\n (state) => getWidgetState(state, widgetId).activeTabId\n );\n const minimized = useLayout(\n (state) => getWidgetState(state, widgetId).minimized\n );\n\n const maximizedWidget = useIsMaximizedWidget();\n\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(\n widgetTabsEntryContext?.onResize\n );\n const pointerCaptorRef = useTabInteractions({ clickOnly: maximizedWidget });\n const refs = useRefs<HTMLDivElement>(resizeObserverRef, pointerCaptorRef);\n\n const active = activeTabId === id;\n const className = classnames(\n \"nz-widget-tab\",\n active && \"nz-active\",\n undefined === side && minimized && \"nz-minimized\",\n first && \"nz-first\",\n last && \"nz-last\",\n firstInactive && \"nz-first-inactive\",\n props.className\n );\n\n const showLabel =\n (showIconOnly && !iconSpec) ||\n (showWidgetIcon && !showIconOnly) ||\n !showWidgetIcon;\n return (\n <div\n data-item-id={id}\n data-item-type=\"widget-tab\"\n className={className}\n ref={refs}\n role=\"tab\"\n style={props.style}\n title={label}\n tabIndex={0}\n >\n {(showWidgetIcon || showIconOnly) && iconSpec && (\n <Icon iconSpec={iconSpec} />\n )}\n {showLabel && <span>{label}</span>}\n {props.badge && <div className=\"nz-badge\">{props.badge}</div>}\n <TabTarget />\n </div>\n );\n}\n\n/** @internal */\nexport interface UseTabInteractionsArgs {\n onClick?: () => void;\n onDoubleClick?: () => void;\n onDragStart?: () => void;\n clickOnly?: boolean;\n}\n\n/** @internal */\nexport function useTabInteractions<T extends HTMLElement>({\n onClick,\n onDoubleClick,\n onDragStart,\n clickOnly,\n}: UseTabInteractionsArgs) {\n const id = React.useContext(TabIdContext);\n const widgetContext = React.useContext(WidgetContext);\n const measure = React.useContext(MeasureContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n assert(!!widgetId);\n\n const layoutStore = useLayoutStore();\n const tabRef = React.useRef(layoutStore.getState().tabs[id]);\n const clickCount = React.useRef(0);\n const doubleClickTimer = React.useRef(new Timer(300));\n const initialPointerPosition = React.useRef<Point>();\n\n const overflown = !widgetTabsEntryContext;\n\n React.useEffect(\n () =>\n layoutStore.subscribe((state) => {\n tabRef.current = state.tabs[id];\n }),\n [layoutStore, id]\n );\n\n const handleClick = React.useCallback(() => {\n dispatch({\n type: \"WIDGET_TAB_CLICK\",\n side,\n widgetId,\n id,\n });\n onClick?.();\n }, [dispatch, widgetId, id, side, onClick]);\n const handleDoubleClick = React.useCallback(() => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n dispatch({\n type: \"WIDGET_TAB_DOUBLE_CLICK\",\n side,\n widgetId,\n floatingWidgetId,\n id,\n });\n onDoubleClick?.();\n }, [\n clickOnly,\n dispatch,\n floatingWidgetId,\n widgetId,\n id,\n side,\n onDoubleClick,\n ]);\n\n const handleDragTabStart = useDragTab({\n tabId: id,\n });\n const handleDragStart = React.useCallback(\n (pointerPosition: Point) => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n assert(!!ref.current);\n assert(!!initialPointerPosition.current);\n const nzBounds = measure();\n const nzOffset = new Point(-nzBounds.left, -nzBounds.top);\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n bounds = bounds.offset(nzOffset);\n\n const tab = tabRef.current;\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n let position = bounds.topLeft();\n const widgetBounds = widgetContext.measure();\n const widgetSize = restrainInitialWidgetSize(\n widgetBounds.getSize(),\n nzBounds.getSize()\n );\n if (overflown) {\n position = initialPointerPosition.current.offset(nzOffset);\n position = position.offset({ x: -7, y: -7 });\n }\n\n const dragOffset =\n initialPointerPosition.current.getOffsetTo(pointerPosition);\n position = position.offset(dragOffset);\n\n handleDragTabStart({\n initialPointerPosition: Point.create(initialPointerPosition.current),\n pointerPosition,\n widgetSize,\n });\n dispatch({\n type: \"WIDGET_TAB_DRAG_START\",\n floatingWidgetId,\n side,\n widgetId,\n id,\n position,\n userSized,\n });\n onDragStart?.();\n\n initialPointerPosition.current = undefined;\n },\n [\n clickOnly,\n measure,\n widgetContext,\n handleDragTabStart,\n dispatch,\n floatingWidgetId,\n side,\n widgetId,\n id,\n onDragStart,\n overflown,\n ]\n );\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n e.type === \"touchstart\" &&\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n },\n [dispatch, floatingWidgetId]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n // istanbul ignore next\n if (!initialPointerPosition.current) return;\n\n const pointerPosition = new Point(args.clientX, args.clientY);\n const distance =\n initialPointerPosition.current.getDistanceTo(pointerPosition);\n if (distance < 10) return;\n handleDragStart(pointerPosition);\n },\n [handleDragStart]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n initialPointerPosition.current = undefined;\n doubleClickTimer.current.start();\n }, []);\n\n const pointerCaptorRef = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n const ref = React.useRef<T>();\n const refs = useRefs(pointerCaptorRef, ref);\n\n React.useEffect(() => {\n const timer = doubleClickTimer.current;\n timer.setOnExecute(() => {\n if (clickCount.current === 1) handleClick();\n else handleDoubleClick();\n clickCount.current = 0;\n });\n const keydown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === Key.Enter.valueOf()) {\n handleClick();\n }\n };\n const instance = ref.current;\n instance && instance.addEventListener(\"keydown\", keydown);\n return () => {\n timer.setOnExecute(undefined);\n instance && instance.removeEventListener(\"keydown\", keydown);\n };\n }, [handleClick, handleDoubleClick]);\n return refs;\n}\n\n/** @internal */\nexport interface TabPositionContextArgs {\n first?: boolean;\n last?: boolean;\n firstInactive?: boolean;\n}\n\n/** @internal */\nexport const TabPositionContext = React.createContext<TabPositionContextArgs>(\n undefined!\n);\nTabPositionContext.displayName = \"nz:TabPositionContext\";\n\n/** @internal */\nexport const IconOnlyOnWidgetTabContext = React.createContext<boolean>(false);\nIconOnlyOnWidgetTabContext.displayName = \"nz:IconOnlyOnWidgetTabContext\";\n"]}
1
+ {"version":3,"file":"Tab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Tab.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps } from \"@itwin/core-react\";\nimport {\n Icon,\n Point,\n Rectangle,\n Timer,\n useRefs,\n useResizeObserver,\n} from \"@itwin/core-react\";\nimport { useDragTab } from \"../base/DragManager\";\nimport {\n MeasureContext,\n NineZoneDispatchContext,\n ShowWidgetIconContext,\n TabNodeContext,\n} from \"../base/NineZone\";\nimport type { TabState } from \"../state/TabState\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { WidgetTabsEntryContext } from \"./Tabs\";\nimport {\n restrainInitialWidgetSize,\n WidgetContext,\n WidgetIdContext,\n} from \"./Widget\";\nimport { TabIdContext } from \"./ContentRenderer\";\nimport { TabTarget } from \"../target/TabTarget\";\nimport { WidgetMenuTab } from \"./MenuTab\";\nimport { WidgetOverflowContext } from \"./Overflow\";\nimport { useLayout, useLayoutStore } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabProviderProps extends TabPositionContextArgs {\n id: TabState[\"id\"];\n showOnlyTabIcon?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabProvider({\n id,\n first,\n firstInactive,\n last,\n showOnlyTabIcon,\n}: WidgetTabProviderProps) {\n const tabNode = React.useContext(TabNodeContext);\n const position = React.useMemo<TabPositionContextArgs>(\n () => ({\n first,\n firstInactive,\n last,\n }),\n [first, firstInactive, last]\n );\n return (\n <TabIdContext.Provider value={id}>\n <TabPositionContext.Provider value={position}>\n <IconOnlyOnWidgetTabContext.Provider value={!!showOnlyTabIcon}>\n {tabNode}\n </IconOnlyOnWidgetTabContext.Provider>\n </TabPositionContext.Provider>\n </TabIdContext.Provider>\n );\n}\n\n/** Properties of [[WidgetTab]] component.\n * @internal\n */\nexport interface WidgetTabProps extends CommonProps {\n badge?: React.ReactNode;\n}\n\n/** Component that displays a tab in a side panel widget.\n * @internal\n */\nexport function WidgetTab(props: WidgetTabProps) {\n const widgetOverflow = React.useContext(WidgetOverflowContext);\n const overflown = !!widgetOverflow;\n if (overflown) return <WidgetMenuTab {...props} />;\n return <WidgetTabComponent {...props} />;\n}\n\nfunction WidgetTabComponent(props: WidgetTabProps) {\n const id = React.useContext(TabIdContext);\n const { first, firstInactive, last } = React.useContext(TabPositionContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const showIconOnly = React.useContext(IconOnlyOnWidgetTabContext);\n const showWidgetIcon = React.useContext(ShowWidgetIconContext);\n assert(!!id);\n assert(!!widgetId);\n\n const iconSpec = useLayout((state) => state.tabs[id].iconSpec);\n const label = useLayout((state) => state.tabs[id].label);\n const activeTabId = useLayout(\n (state) => getWidgetState(state, widgetId).activeTabId\n );\n const minimized = useLayout(\n (state) => getWidgetState(state, widgetId).minimized\n );\n\n const maximizedWidget = useIsMaximizedWidget();\n\n const resizeObserverRef = useResizeObserver<HTMLDivElement>(\n widgetTabsEntryContext?.onResize\n );\n const pointerCaptorRef = useTabInteractions({ clickOnly: maximizedWidget });\n const refs = useRefs<HTMLDivElement>(resizeObserverRef, pointerCaptorRef);\n\n const active = activeTabId === id;\n const className = classnames(\n \"nz-widget-tab\",\n active && \"nz-active\",\n undefined === side && minimized && \"nz-minimized\",\n first && \"nz-first\",\n last && \"nz-last\",\n firstInactive && \"nz-first-inactive\",\n props.className\n );\n\n const showLabel =\n (showIconOnly && !iconSpec) ||\n (showWidgetIcon && !showIconOnly) ||\n !showWidgetIcon;\n return (\n <div\n data-item-id={id}\n data-item-type=\"widget-tab\"\n className={className}\n ref={refs}\n role=\"tab\"\n style={props.style}\n title={label}\n tabIndex={0}\n >\n {(showWidgetIcon || showIconOnly) && iconSpec && (\n <Icon iconSpec={iconSpec} />\n )}\n {showLabel && <span>{label}</span>}\n {props.badge && <div className=\"nz-badge\">{props.badge}</div>}\n <TabTarget />\n </div>\n );\n}\n\n/** @internal */\nexport interface UseTabInteractionsArgs {\n onClick?: () => void;\n onDoubleClick?: () => void;\n onDragStart?: () => void;\n clickOnly?: boolean;\n}\n\n/** @internal */\nexport function useTabInteractions<T extends HTMLElement>({\n onClick,\n onDoubleClick,\n onDragStart,\n clickOnly,\n}: UseTabInteractionsArgs) {\n const id = React.useContext(TabIdContext);\n const widgetContext = React.useContext(WidgetContext);\n const measure = React.useContext(MeasureContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const widgetId = React.useContext(WidgetIdContext);\n const widgetTabsEntryContext = React.useContext(WidgetTabsEntryContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n assert(!!widgetId);\n\n const layoutStore = useLayoutStore();\n const tabRef = React.useRef(layoutStore.getState().tabs[id]);\n const clickCount = React.useRef(0);\n const doubleClickTimer = React.useRef(new Timer(300));\n const initialPointerPosition = React.useRef<Point>();\n\n const overflown = !widgetTabsEntryContext;\n\n React.useEffect(\n () =>\n layoutStore.subscribe((state) => {\n tabRef.current = state.tabs[id];\n }),\n [layoutStore, id]\n );\n\n const handleClick = React.useCallback(() => {\n dispatch({\n type: \"WIDGET_TAB_CLICK\",\n side,\n widgetId,\n id,\n });\n onClick?.();\n }, [dispatch, widgetId, id, side, onClick]);\n const handleDoubleClick = React.useCallback(() => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n dispatch({\n type: \"WIDGET_TAB_DOUBLE_CLICK\",\n side,\n widgetId,\n floatingWidgetId,\n id,\n });\n onDoubleClick?.();\n }, [\n clickOnly,\n dispatch,\n floatingWidgetId,\n widgetId,\n id,\n side,\n onDoubleClick,\n ]);\n\n const handleDragTabStart = useDragTab({\n tabId: id,\n });\n const handleDragStart = React.useCallback(\n (pointerPosition: Point) => {\n // istanbul ignore next (preview)\n if (clickOnly) return;\n assert(!!ref.current);\n assert(!!initialPointerPosition.current);\n const nzBounds = measure();\n const nzOffset = new Point(-nzBounds.left, -nzBounds.top);\n let bounds = Rectangle.create(ref.current.getBoundingClientRect());\n bounds = bounds.offset(nzOffset);\n\n const tab = tabRef.current;\n const userSized =\n tab.userSized ||\n (tab.isFloatingWidgetResizable &&\n /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);\n let position = bounds.topLeft();\n const widgetBounds = widgetContext.measure();\n const widgetSize = restrainInitialWidgetSize(\n widgetBounds.getSize(),\n nzBounds.getSize()\n );\n if (overflown) {\n position = initialPointerPosition.current.offset(nzOffset);\n position = position.offset({ x: -7, y: -7 });\n }\n\n const dragOffset =\n initialPointerPosition.current.getOffsetTo(pointerPosition);\n position = position.offset(dragOffset);\n\n handleDragTabStart({\n initialPointerPosition: Point.create(initialPointerPosition.current),\n pointerPosition,\n widgetSize,\n });\n dispatch({\n type: \"WIDGET_TAB_DRAG_START\",\n floatingWidgetId,\n side,\n widgetId,\n id,\n position,\n userSized,\n });\n onDragStart?.();\n\n initialPointerPosition.current = undefined;\n },\n [\n clickOnly,\n measure,\n widgetContext,\n handleDragTabStart,\n dispatch,\n floatingWidgetId,\n side,\n widgetId,\n id,\n onDragStart,\n overflown,\n ]\n );\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n e.type === \"touchstart\" &&\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n },\n [dispatch, floatingWidgetId]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n // istanbul ignore next\n if (!initialPointerPosition.current) return;\n\n const pointerPosition = new Point(args.clientX, args.clientY);\n const distance =\n initialPointerPosition.current.getDistanceTo(pointerPosition);\n if (distance < 10) return;\n handleDragStart(pointerPosition);\n },\n [handleDragStart]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n initialPointerPosition.current = undefined;\n doubleClickTimer.current.start();\n }, []);\n\n const pointerCaptorRef = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n const ref = React.useRef<T>();\n const refs = useRefs(pointerCaptorRef, ref);\n\n React.useEffect(() => {\n const timer = doubleClickTimer.current;\n timer.setOnExecute(() => {\n if (clickCount.current === 1) handleClick();\n else handleDoubleClick();\n clickCount.current = 0;\n });\n const keydown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === Key.Enter.valueOf()) {\n handleClick();\n }\n };\n const instance = ref.current;\n instance && instance.addEventListener(\"keydown\", keydown);\n return () => {\n timer.setOnExecute(undefined);\n instance && instance.removeEventListener(\"keydown\", keydown);\n };\n }, [handleClick, handleDoubleClick]);\n return refs;\n}\n\n/** @internal */\nexport interface TabPositionContextArgs {\n first?: boolean;\n last?: boolean;\n firstInactive?: boolean;\n}\n\n/** @internal */\nexport const TabPositionContext = React.createContext<TabPositionContextArgs>(\n undefined!\n);\nTabPositionContext.displayName = \"nz:TabPositionContext\";\n\n/** @internal */\nexport const IconOnlyOnWidgetTabContext = React.createContext<boolean>(false);\nIconOnlyOnWidgetTabContext.displayName = \"nz:IconOnlyOnWidgetTabContext\";\n"]}
@@ -44,6 +44,8 @@
44
44
 
45
45
  > .nz-horizontal-toolbar-container {
46
46
  width: 100%;
47
+ min-width: 0;
48
+
47
49
  @include nz-widget-opacity;
48
50
  }
49
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAW,MAAM,mBAAmB,CAAC;AAQvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAMxD;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gBAAgB;AAChB,eAAO,MAAM,MAAM,oFA+HlB,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,mCAEhB,CAAC;AAGb,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,kCAAgD,CAAC;AAM3E,gBAAgB;AAChB,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,SAAS,GAChB,SAAS,CAOX;AAED,gBAAgB;AAChB,wBAAgB,cAAc,WAO7B"}
1
+ {"version":3,"file":"Widget.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAW,MAAM,mBAAmB,CAAC;AAQvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,gBAAgB;AAChB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAMxD;AAED,gBAAgB;AAChB,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IAC1E,eAAe,CAAC,IAAI,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gBAAgB;AAChB,eAAO,MAAM,MAAM,oFAgIlB,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,mCAEhB,CAAC;AAGb,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,SAAS,CAAC;CAC1B;AAED,gBAAgB;AAChB,eAAO,MAAM,aAAa,kCAAgD,CAAC;AAM3E,gBAAgB;AAChB,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,SAAS,GAChB,SAAS,CAOX;AAED,gBAAgB;AAChB,wBAAgB,cAAc,WAO7B"}
@@ -98,10 +98,10 @@ exports.Widget = React.forwardRef(function Widget(props, forwardedRef) {
98
98
  };
99
99
  const element = elementRef.current;
100
100
  // istanbul ignore next
101
- element?.addEventListener("click", listener);
101
+ element === null || element === void 0 ? void 0 : element.addEventListener("click", listener);
102
102
  return () => {
103
103
  // istanbul ignore next
104
- element?.removeEventListener("click", listener);
104
+ element === null || element === void 0 ? void 0 : element.removeEventListener("click", listener);
105
105
  };
106
106
  }, [dispatch, floatingWidgetId]);
107
107
  const measure = React.useCallback(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,yBAAuB;AACvB,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAE7C,kDAAuD;AAEvD,qDAAoD;AACpD,+CAI0B;AAE1B,kDAA0D;AAC1D,qDAAgD;AAChD,6EAAsE;AACtE,qDAAuD;AAQvD,gBAAgB;AAChB,SAAgB,cAAc,CAAC,KAA0B;IACvD,OAAO,CACL,oBAAC,uBAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IACtC,KAAK,CAAC,QAAQ,CACU,CAC5B,CAAC;AACJ,CAAC;AAND,wCAMC;AAWD,gBAAgB;AACH,QAAA,MAAM,GAAG,KAAK,CAAC,UAAU,CACpC,SAAS,MAAM,CAAC,KAAK,EAAE,YAAY;IACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,kCAAuB,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAe,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,yBAAc,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,IAAA,oCAAmB,GAAE,CAAC;IAC/C,IAAA,qBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACrE,MAAM,MAAM,GAAG,IAAA,mCAAc,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,uBAAuB;QACvB,OAAO;YACL,2BAA2B,EAAE,GAAG,CAAC,2BAA2B;YAC5D,SAAS,EACP,GAAG,CAAC,SAAS;gBACb,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;SACvE,CAAC;IACJ,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACxE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAGnC,CAAC,QAAQ,EAAE,sBAAsB,EAAE,eAAe,EAAE,EAAE;QACpD,IAAA,qBAAM,EAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,gBAAgB,KAAK,SAAS;YAAE,OAAO;QAC3C,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAG,sBAAS,CAAC,MAAM,CAC3B,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAC3C,CAAC;QAEF,MAAM,IAAI,GAAG,yBAAyB,CACpC,MAAM,CAAC,OAAO,EAAE,EAChB,QAAQ,CAAC,OAAO,EAAE,CACnB,CAAC;QACF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,2BAA2B,EAAE;YAC/B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;SACtD;QAED,gGAAgG;QAChG,IAAI,sBAAsB,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE;YAC3C,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEnC,4CAA4C;QAC5C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QAEhE,MAAM,mBAAmB,GAAG,IAAA,sBAAW,GAAE,CAAC;QAC1C,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAE9B,IAAA,qBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACf,QAAQ,CAAC;YACP,IAAI,EAAE,yBAAyB;YAC/B,mBAAmB;YACnB,EAAE;YACF,MAAM;YACN,IAAI;YACJ,SAAS;SACV,CAAC,CAAC;IACL,CAAC,EACD;QACE,QAAQ;QACR,gBAAgB;QAChB,EAAE;QACF,IAAI;QACJ,SAAS;QACT,2BAA2B;QAC3B,SAAS;KACV,CACF,CAAC;IACF,IAAA,2BAAa,EAAC;QACZ,QAAQ;QACR,WAAW;KACZ,CAAC,CAAC;IACH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,gBAAgB;gBACd,QAAQ,CAAC;oBACP,IAAI,EAAE,gCAAgC;oBACtC,EAAE,EAAE,gBAAgB;iBACrB,CAAC,CAAC;QACP,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,uBAAuB;QACvB,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACV,uBAAuB;YACvB,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAA+B,GAAG,EAAE;QACnE,uBAAuB;QACvB,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,OAAO,IAAI,sBAAS,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC1D,OAAO,sBAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CACtC,GAAG,EAAE,CAAC,CAAC;QACL,OAAO;KACR,CAAC,EACF,CAAC,OAAO,CAAC,CACV,CAAC;IACF,MAAM,GAAG,GAAG,IAAA,oBAAO,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO,CACL,oBAAC,qBAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB;QAC/C,6BACE,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,CAAC,KAAK,oBACF,KAAK,CAAC,QAAQ,IAE7B,KAAK,CAAC,QAAQ,CACX,CACiB,CAC1B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB;AACH,QAAA,eAAe,GAAG,KAAK,CAAC,aAAa,CAEhD,SAAS,CAAC,CAAC;AACb,uBAAe,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAOnD,gBAAgB;AACH,QAAA,aAAa,GAAG,KAAK,CAAC,aAAa,CAAoB,IAAK,CAAC,CAAC;AAC3E,qBAAa,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAE/C,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,gBAAgB;AAChB,SAAgB,yBAAyB,CACvC,IAAe,EACf,MAAiB;IAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7E,OAAO;QACL,KAAK;QACL,MAAM;KACP,CAAC;AACJ,CAAC;AAVD,8DAUC;AAED,gBAAgB;AAChB,SAAgB,cAAc;IAC5B,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAe,CAAC,CAAC;IAC7C,IAAA,qBAAM,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,IAAA,mCAAc,EAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,wCAOC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
1
+ {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
@@ -13,7 +13,7 @@ const Widget_1 = require("./Widget");
13
13
  /** @internal */
14
14
  function useIsToolSettingsTab() {
15
15
  const activeTabId = (0, Widget_1.useActiveTabId)();
16
- const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => state.toolSettings?.tabId);
16
+ const toolSettingsTabId = (0, LayoutStore_1.useLayout)((state) => { var _a; return (_a = state.toolSettings) === null || _a === void 0 ? void 0 : _a.tabId; });
17
17
  return activeTabId === toolSettingsTabId;
18
18
  }
19
19
  exports.useIsToolSettingsTab = useIsToolSettingsTab;
@@ -1 +1 @@
1
- {"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC1E,OAAO,WAAW,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAJD,oDAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useActiveTabId } from \"./Widget\";\n\n/** @internal */\nexport function useIsToolSettingsTab() {\n const activeTabId = useActiveTabId();\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return activeTabId === toolSettingsTabId;\n}\n"]}
1
+ {"version":3,"file":"useIsToolSettingsTab.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/useIsToolSettingsTab.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,qDAAgD;AAChD,qCAA0C;AAE1C,gBAAgB;AAChB,SAAgB,oBAAoB;IAClC,MAAM,WAAW,GAAG,IAAA,uBAAc,GAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,KAAK,CAAA,EAAA,CAAC,CAAC;IAC1E,OAAO,WAAW,KAAK,iBAAiB,CAAC;AAC3C,CAAC;AAJD,oDAIC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useActiveTabId } from \"./Widget\";\n\n/** @internal */\nexport function useIsToolSettingsTab() {\n const activeTabId = useActiveTabId();\n const toolSettingsTabId = useLayout((state) => state.toolSettings?.tabId);\n return activeTabId === toolSettingsTabId;\n}\n"]}
@@ -58,16 +58,18 @@ function PanelSplitter() {
58
58
  }
59
59
  }, [updatePanelSize]);
60
60
  const handlePointerUp = React.useCallback((event) => {
61
+ var _a, _b;
61
62
  updatePanelSize(event);
62
63
  event.preventDefault();
63
64
  event.stopPropagation();
64
- containerRef.current?.ownerDocument.removeEventListener("pointermove", handlePointerMove);
65
- containerRef.current?.ownerDocument.removeEventListener("pointerup", handlePointerUp);
65
+ (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.removeEventListener("pointermove", handlePointerMove);
66
+ (_b = containerRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.removeEventListener("pointerup", handlePointerUp);
66
67
  }, [handlePointerMove, updatePanelSize]);
67
68
  const handlePointerDownOnSplitter = React.useCallback((event) => {
69
+ var _a, _b;
68
70
  if (containerRef.current) {
69
- containerRef.current?.ownerDocument.addEventListener("pointermove", handlePointerMove);
70
- containerRef.current?.ownerDocument.addEventListener("pointerup", handlePointerUp);
71
+ (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.addEventListener("pointermove", handlePointerMove);
72
+ (_b = containerRef.current) === null || _b === void 0 ? void 0 : _b.ownerDocument.addEventListener("pointerup", handlePointerUp);
71
73
  splitterProcessingActiveRef.current = true;
72
74
  event.preventDefault();
73
75
  event.stopPropagation();
@@ -94,7 +96,8 @@ function PanelSection({ widgetId, index, sectionLength }) {
94
96
  const side = React.useContext(Panel_1.PanelSideContext);
95
97
  (0, core_bentley_1.assert)(!!side);
96
98
  const splitterPercent = (0, LayoutStore_1.useLayout)((state) => {
97
- return state.panels[side].splitterPercent ?? 50;
99
+ var _a;
100
+ return (_a = state.panels[side].splitterPercent) !== null && _a !== void 0 ? _a : 50;
98
101
  });
99
102
  const maximizedSection = (0, useMaximizedWidget_1.useMaximizedSection)(widgetId);
100
103
  const isMaximizedPanel = !!(0, useMaximizedWidget_1.useMaximizedPanel)(side);
@@ -1 +1 @@
1
- {"version":3,"file":"PanelSections.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/PanelSections.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport \"./PanelSections.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport { PanelWidget } from \"../widget/PanelWidget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { isHorizontalPanelSide, PanelSideContext } from \"./Panel\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport {\n useMaximizedPanel,\n useMaximizedSection,\n} from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n// istanbul ignore next\nfunction PanelSplitter() {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const splitterProcessingActiveRef = React.useRef<boolean>(false);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const getPercentage = React.useCallback(\n (min: number, max: number, current: number) => {\n const range = max - min;\n const adjusted = Math.max(min, Math.min(max, current));\n if (adjusted === min) return 0;\n if (adjusted === max) return 100;\n const percent = ((adjusted - min) * 100) / range;\n return percent;\n },\n []\n );\n\n const updatePanelSize = React.useCallback(\n (event: PointerEvent) => {\n if (!containerRef.current) return;\n\n const parentPanel = containerRef.current.closest(\n \".nz-widgetPanels-panel\"\n );\n const sectionToResize = containerRef.current.parentElement as HTMLElement;\n if (parentPanel && sectionToResize) {\n const rect = parentPanel.getBoundingClientRect();\n const percent = getPercentage(\n isHorizontal ? rect.left : rect.top,\n isHorizontal ? rect.right : rect.bottom,\n isHorizontal ? event.clientX : event.clientY\n );\n\n dispatch({\n type: \"PANEL_SET_SPLITTER_VALUE\",\n side,\n percent,\n });\n }\n },\n [getPercentage, isHorizontal, side, dispatch]\n );\n\n const handlePointerMove = React.useCallback(\n (event: Event): void => {\n if (splitterProcessingActiveRef.current) {\n event.preventDefault();\n event.stopPropagation();\n updatePanelSize(event as PointerEvent);\n }\n },\n [updatePanelSize]\n );\n\n const handlePointerUp = React.useCallback(\n (event: Event) => {\n updatePanelSize(event as PointerEvent);\n event.preventDefault();\n event.stopPropagation();\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointerup\",\n handlePointerUp\n );\n },\n [handlePointerMove, updatePanelSize]\n );\n\n const handlePointerDownOnSplitter = React.useCallback(\n (event: React.PointerEvent) => {\n if (containerRef.current) {\n containerRef.current?.ownerDocument.addEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.addEventListener(\n \"pointerup\",\n handlePointerUp\n );\n splitterProcessingActiveRef.current = true;\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handlePointerMove, handlePointerUp]\n );\n\n const className = isHorizontal\n ? \"nz-horizontal-panel-splitter\"\n : \"nz-vertical-panel-splitter\";\n return (\n <div\n ref={containerRef}\n className={className}\n onPointerDown={handlePointerDownOnSplitter}\n />\n );\n}\n\n/** @internal */\nexport function PanelSections() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const widgets = useLayout((state) => {\n return state.panels[side].widgets;\n });\n\n return (\n <>\n {widgets.map((widgetId, index, array) => {\n return (\n <PanelSection\n key={widgetId}\n widgetId={widgetId}\n index={index}\n sectionLength={array.length}\n />\n );\n })}\n </>\n );\n}\n\ninterface PanelSectionProps {\n widgetId: WidgetState[\"id\"];\n index: number;\n sectionLength: number;\n}\n\nfunction PanelSection({ widgetId, index, sectionLength }: PanelSectionProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const splitterPercent = useLayout((state) => {\n return state.panels[side].splitterPercent ?? 50;\n });\n\n const maximizedSection = useMaximizedSection(widgetId);\n const isMaximizedPanel = !!useMaximizedPanel(side);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const last = index === sectionLength - 1;\n const className = classnames(\n \"nz-widgetPanels-panelSections_section\",\n `nz-panel-section-${index}`,\n isHorizontal ? \"nz-widgetPanels-horizontal\" : \"nz-widgetPanels-vertical\",\n last && 0 === index && \"nz-panel-section-full-size\",\n maximizedSection\n );\n\n const hasSplitter = !last && 0 === index && !isMaximizedPanel;\n const panelStyle = hasSplitter\n ? getSplitterStyle(isHorizontal, splitterPercent)\n : undefined;\n return (\n <div className={className} style={panelStyle}>\n <PanelWidget widgetId={widgetId} />\n {hasSplitter && <PanelSplitter />}\n </div>\n );\n}\n\nfunction getSplitterStyle(isHorizontal: boolean, splitterPercent: number) {\n if (isHorizontal) {\n return {\n width: `${splitterPercent}%`,\n } as const;\n }\n return {\n height: `${splitterPercent}%`,\n } as const;\n}\n"]}
1
+ {"version":3,"file":"PanelSections.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/PanelSections.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport \"./PanelSections.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport { PanelWidget } from \"../widget/PanelWidget\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { isHorizontalPanelSide, PanelSideContext } from \"./Panel\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport {\n useMaximizedPanel,\n useMaximizedSection,\n} from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n// istanbul ignore next\nfunction PanelSplitter() {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const containerRef = React.useRef<HTMLDivElement>(null);\n const splitterProcessingActiveRef = React.useRef<boolean>(false);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const getPercentage = React.useCallback(\n (min: number, max: number, current: number) => {\n const range = max - min;\n const adjusted = Math.max(min, Math.min(max, current));\n if (adjusted === min) return 0;\n if (adjusted === max) return 100;\n const percent = ((adjusted - min) * 100) / range;\n return percent;\n },\n []\n );\n\n const updatePanelSize = React.useCallback(\n (event: PointerEvent) => {\n if (!containerRef.current) return;\n\n const parentPanel = containerRef.current.closest(\n \".nz-widgetPanels-panel\"\n );\n const sectionToResize = containerRef.current.parentElement as HTMLElement;\n if (parentPanel && sectionToResize) {\n const rect = parentPanel.getBoundingClientRect();\n const percent = getPercentage(\n isHorizontal ? rect.left : rect.top,\n isHorizontal ? rect.right : rect.bottom,\n isHorizontal ? event.clientX : event.clientY\n );\n\n dispatch({\n type: \"PANEL_SET_SPLITTER_VALUE\",\n side,\n percent,\n });\n }\n },\n [getPercentage, isHorizontal, side, dispatch]\n );\n\n const handlePointerMove = React.useCallback(\n (event: Event): void => {\n if (splitterProcessingActiveRef.current) {\n event.preventDefault();\n event.stopPropagation();\n updatePanelSize(event as PointerEvent);\n }\n },\n [updatePanelSize]\n );\n\n const handlePointerUp = React.useCallback(\n (event: Event) => {\n updatePanelSize(event as PointerEvent);\n event.preventDefault();\n event.stopPropagation();\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.removeEventListener(\n \"pointerup\",\n handlePointerUp\n );\n },\n [handlePointerMove, updatePanelSize]\n );\n\n const handlePointerDownOnSplitter = React.useCallback(\n (event: React.PointerEvent) => {\n if (containerRef.current) {\n containerRef.current?.ownerDocument.addEventListener(\n \"pointermove\",\n handlePointerMove\n );\n containerRef.current?.ownerDocument.addEventListener(\n \"pointerup\",\n handlePointerUp\n );\n splitterProcessingActiveRef.current = true;\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handlePointerMove, handlePointerUp]\n );\n\n const className = isHorizontal\n ? \"nz-horizontal-panel-splitter\"\n : \"nz-vertical-panel-splitter\";\n return (\n <div\n ref={containerRef}\n className={className}\n onPointerDown={handlePointerDownOnSplitter}\n />\n );\n}\n\n/** @internal */\nexport function PanelSections() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const widgets = useLayout((state) => {\n return state.panels[side].widgets;\n });\n\n return (\n <>\n {widgets.map((widgetId, index, array) => {\n return (\n <PanelSection\n key={widgetId}\n widgetId={widgetId}\n index={index}\n sectionLength={array.length}\n />\n );\n })}\n </>\n );\n}\n\ninterface PanelSectionProps {\n widgetId: WidgetState[\"id\"];\n index: number;\n sectionLength: number;\n}\n\nfunction PanelSection({ widgetId, index, sectionLength }: PanelSectionProps) {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n\n const splitterPercent = useLayout((state) => {\n return state.panels[side].splitterPercent ?? 50;\n });\n\n const maximizedSection = useMaximizedSection(widgetId);\n const isMaximizedPanel = !!useMaximizedPanel(side);\n\n const isHorizontal = isHorizontalPanelSide(side);\n\n const last = index === sectionLength - 1;\n const className = classnames(\n \"nz-widgetPanels-panelSections_section\",\n `nz-panel-section-${index}`,\n isHorizontal ? \"nz-widgetPanels-horizontal\" : \"nz-widgetPanels-vertical\",\n last && 0 === index && \"nz-panel-section-full-size\",\n maximizedSection\n );\n\n const hasSplitter = !last && 0 === index && !isMaximizedPanel;\n const panelStyle = hasSplitter\n ? getSplitterStyle(isHorizontal, splitterPercent)\n : undefined;\n return (\n <div className={className} style={panelStyle}>\n <PanelWidget widgetId={widgetId} />\n {hasSplitter && <PanelSplitter />}\n </div>\n );\n}\n\nfunction getSplitterStyle(isHorizontal: boolean, splitterPercent: number) {\n if (isHorizontal) {\n return {\n width: `${splitterPercent}%`,\n } as const;\n }\n return {\n height: `${splitterPercent}%`,\n } as const;\n}\n"]}
@@ -8,6 +8,6 @@ export declare function useAnimatePanel(): {
8
8
  size: number;
9
9
  handleTransitionEnd: (e: React.TransitionEvent<HTMLDivElement>) => void;
10
10
  contentSize: number | undefined;
11
- transition: "init" | "transition" | undefined;
11
+ transition: "transition" | "init" | undefined;
12
12
  };
13
13
  //# sourceMappingURL=useAnimatePanel.d.ts.map
@@ -158,9 +158,10 @@ function useAnimatePanel() {
158
158
  setTransition(undefined);
159
159
  }, []);
160
160
  const size = React.useMemo(() => {
161
+ var _a;
161
162
  if (panelSize !== undefined)
162
163
  return panelSize;
163
- return panel.collapsed ? 0 : panel.size ?? panel.minSize;
164
+ return panel.collapsed ? 0 : (_a = panel.size) !== null && _a !== void 0 ? _a : panel.minSize;
164
165
  }, [panel.size, panel.collapsed, panel.minSize, panelSize]);
165
166
  return { ref, size, handleTransitionEnd, contentSize, transition };
166
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAnimatePanel.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/useAnimatePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { DraggedPanelSideContext } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { isHorizontalPanelSide, PanelSideContext } from \"./Panel\";\n\n/** @internal */\nexport function useAnimatePanel() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const draggedPanelSide = React.useContext(DraggedPanelSideContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const captured = draggedPanelSide === side;\n const [contentSize, setContentSize] = React.useState<number | undefined>();\n const [prepareTransition, setPrepareTransition] = React.useState(false);\n const [transition, setTransition] = React.useState<\n \"init\" | \"transition\" | undefined\n >();\n const [panelSize, setPanelSize] = React.useState<number | undefined>();\n const [initializing, setInitializing] = React.useState(false);\n const horizontal = isHorizontalPanelSide(side);\n const animateFrom = React.useRef<number | undefined>();\n const animateTo = React.useRef(0);\n const maxPanelSize = React.useRef<number | undefined>();\n const collapsing = React.useRef<\"collapsing\" | \"expanding\" | undefined>();\n const ref = React.useRef<HTMLDivElement>(null);\n\n const panel = useLayout((state) => {\n const p = state.panels[side];\n return {\n collapsed: p.collapsed,\n size: p.size,\n minSize: p.minSize,\n };\n }, true);\n\n const [prevCollapsed, setPrevCollapsed] = React.useState(panel.collapsed);\n if (prevCollapsed !== panel.collapsed) {\n setPrevCollapsed(panel.collapsed);\n let from = animateFrom.current;\n // istanbul ignore else\n if (from === undefined && ref.current) {\n const bounds = ref.current.getBoundingClientRect();\n from = getPanelSize(horizontal, bounds);\n }\n\n animateFrom.current = from;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n setPrepareTransition(true);\n if (panel.collapsed) {\n collapsing.current = \"collapsing\";\n maxPanelSize.current = from;\n } else {\n collapsing.current = \"expanding\";\n }\n }\n\n const [prevSize, setPrevSize] = React.useState(panel.size);\n if (prevSize !== panel.size) {\n setPrevSize(panel.size);\n\n if (initializing) {\n // Panel is initializing (via dispatched PANEL_INITIALIZE), need to re-measure animateTo.\n maxPanelSize.current = undefined;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n setPrepareTransition(true);\n } else if (collapsing.current === \"collapsing\") {\n // Panel is collapsing, ignore size changes.\n } else if (!captured && ref.current && prevSize !== undefined) {\n // Panel is expanding\n animateFrom.current = getPanelSize(\n horizontal,\n ref.current.getBoundingClientRect()\n );\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n setPrepareTransition(true);\n } else {\n // Panel is resizing, do not transition.\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n animateFrom.current = undefined;\n collapsing.current = undefined;\n }\n }\n\n React.useLayoutEffect(() => {\n if (panel.size !== undefined || panel.collapsed) return;\n assert(!!ref.current);\n const bounds = ref.current.getBoundingClientRect();\n const newSize = getPanelSize(horizontal, bounds);\n dispatch({\n type: \"PANEL_INITIALIZE\",\n side,\n size: newSize,\n });\n setInitializing(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [panel.size, panel.collapsed]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useLayoutEffect(() => {\n if (!prepareTransition) return;\n\n setPrepareTransition(false);\n assert(!!ref.current);\n animateTo.current = getPanelSize(\n horizontal,\n ref.current.getBoundingClientRect()\n );\n if (animateFrom.current === animateTo.current) {\n maxPanelSize.current = undefined;\n animateFrom.current = undefined;\n collapsing.current = undefined;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n return;\n }\n if (\n collapsing.current === \"expanding\" &&\n maxPanelSize.current === undefined\n ) {\n maxPanelSize.current = animateTo.current;\n }\n\n setPanelSize(animateFrom.current);\n setContentSize(maxPanelSize.current);\n setTransition(\"init\");\n });\n React.useLayoutEffect(() => {\n if (transition !== \"init\") return;\n\n const handle = window.requestAnimationFrame(() => {\n animateFrom.current = undefined;\n setTransition(\"transition\");\n setPanelSize(animateTo.current);\n });\n return () => {\n window.cancelAnimationFrame(handle);\n };\n });\n React.useEffect(() => {\n setInitializing(false);\n }, [initializing]);\n\n const handleTransitionEnd = React.useCallback(\n (e: React.TransitionEvent<HTMLDivElement>) => {\n // istanbul ignore if\n if (e.target !== ref.current) return;\n\n maxPanelSize.current = undefined;\n collapsing.current = undefined;\n animateFrom.current = undefined;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n },\n []\n );\n\n const size = React.useMemo(() => {\n if (panelSize !== undefined) return panelSize;\n return panel.collapsed ? 0 : panel.size ?? panel.minSize;\n }, [panel.size, panel.collapsed, panel.minSize, panelSize]);\n return { ref, size, handleTransitionEnd, contentSize, transition };\n}\n\nfunction getPanelSize(horizontal: boolean, size: SizeProps) {\n return horizontal ? size.height : size.width;\n}\n"]}
1
+ {"version":3,"file":"useAnimatePanel.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/useAnimatePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { DraggedPanelSideContext } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { isHorizontalPanelSide, PanelSideContext } from \"./Panel\";\n\n/** @internal */\nexport function useAnimatePanel() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const draggedPanelSide = React.useContext(DraggedPanelSideContext);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const captured = draggedPanelSide === side;\n const [contentSize, setContentSize] = React.useState<number | undefined>();\n const [prepareTransition, setPrepareTransition] = React.useState(false);\n const [transition, setTransition] = React.useState<\n \"init\" | \"transition\" | undefined\n >();\n const [panelSize, setPanelSize] = React.useState<number | undefined>();\n const [initializing, setInitializing] = React.useState(false);\n const horizontal = isHorizontalPanelSide(side);\n const animateFrom = React.useRef<number | undefined>();\n const animateTo = React.useRef(0);\n const maxPanelSize = React.useRef<number | undefined>();\n const collapsing = React.useRef<\"collapsing\" | \"expanding\" | undefined>();\n const ref = React.useRef<HTMLDivElement>(null);\n\n const panel = useLayout((state) => {\n const p = state.panels[side];\n return {\n collapsed: p.collapsed,\n size: p.size,\n minSize: p.minSize,\n };\n }, true);\n\n const [prevCollapsed, setPrevCollapsed] = React.useState(panel.collapsed);\n if (prevCollapsed !== panel.collapsed) {\n setPrevCollapsed(panel.collapsed);\n let from = animateFrom.current;\n // istanbul ignore else\n if (from === undefined && ref.current) {\n const bounds = ref.current.getBoundingClientRect();\n from = getPanelSize(horizontal, bounds);\n }\n\n animateFrom.current = from;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n setPrepareTransition(true);\n if (panel.collapsed) {\n collapsing.current = \"collapsing\";\n maxPanelSize.current = from;\n } else {\n collapsing.current = \"expanding\";\n }\n }\n\n const [prevSize, setPrevSize] = React.useState(panel.size);\n if (prevSize !== panel.size) {\n setPrevSize(panel.size);\n\n if (initializing) {\n // Panel is initializing (via dispatched PANEL_INITIALIZE), need to re-measure animateTo.\n maxPanelSize.current = undefined;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n setPrepareTransition(true);\n } else if (collapsing.current === \"collapsing\") {\n // Panel is collapsing, ignore size changes.\n } else if (!captured && ref.current && prevSize !== undefined) {\n // Panel is expanding\n animateFrom.current = getPanelSize(\n horizontal,\n ref.current.getBoundingClientRect()\n );\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n setPrepareTransition(true);\n } else {\n // Panel is resizing, do not transition.\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n animateFrom.current = undefined;\n collapsing.current = undefined;\n }\n }\n\n React.useLayoutEffect(() => {\n if (panel.size !== undefined || panel.collapsed) return;\n assert(!!ref.current);\n const bounds = ref.current.getBoundingClientRect();\n const newSize = getPanelSize(horizontal, bounds);\n dispatch({\n type: \"PANEL_INITIALIZE\",\n side,\n size: newSize,\n });\n setInitializing(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [panel.size, panel.collapsed]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useLayoutEffect(() => {\n if (!prepareTransition) return;\n\n setPrepareTransition(false);\n assert(!!ref.current);\n animateTo.current = getPanelSize(\n horizontal,\n ref.current.getBoundingClientRect()\n );\n if (animateFrom.current === animateTo.current) {\n maxPanelSize.current = undefined;\n animateFrom.current = undefined;\n collapsing.current = undefined;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n return;\n }\n if (\n collapsing.current === \"expanding\" &&\n maxPanelSize.current === undefined\n ) {\n maxPanelSize.current = animateTo.current;\n }\n\n setPanelSize(animateFrom.current);\n setContentSize(maxPanelSize.current);\n setTransition(\"init\");\n });\n React.useLayoutEffect(() => {\n if (transition !== \"init\") return;\n\n const handle = window.requestAnimationFrame(() => {\n animateFrom.current = undefined;\n setTransition(\"transition\");\n setPanelSize(animateTo.current);\n });\n return () => {\n window.cancelAnimationFrame(handle);\n };\n });\n React.useEffect(() => {\n setInitializing(false);\n }, [initializing]);\n\n const handleTransitionEnd = React.useCallback(\n (e: React.TransitionEvent<HTMLDivElement>) => {\n // istanbul ignore if\n if (e.target !== ref.current) return;\n\n maxPanelSize.current = undefined;\n collapsing.current = undefined;\n animateFrom.current = undefined;\n setPanelSize(undefined);\n setContentSize(undefined);\n setTransition(undefined);\n },\n []\n );\n\n const size = React.useMemo(() => {\n if (panelSize !== undefined) return panelSize;\n return panel.collapsed ? 0 : panel.size ?? panel.minSize;\n }, [panel.size, panel.collapsed, panel.minSize, panelSize]);\n return { ref, size, handleTransitionEnd, contentSize, transition };\n}\n\nfunction getPanelSize(horizontal: boolean, size: SizeProps) {\n return horizontal ? size.height : size.width;\n}\n"]}
@@ -28,7 +28,7 @@ class AppNotificationManager extends core_frontend_1.NotificationManager {
28
28
  /** Output a prompt, given an i18n key.
29
29
  */
30
30
  outputPromptByKey(key) {
31
- this.outputPrompt(UiFramework_1.UiFramework.localization.getLocalizedString(key));
31
+ this.outputPrompt(UiFramework_1.UiFramework.translate(key));
32
32
  }
33
33
  /** Output a prompt to the user. A 'prompt' indicates an action the user should take to proceed.
34
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AppNotificationManager.js","sourceRoot":"","sources":["../../../../src/appui-react/messages/AppNotificationManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Notification\n */\n\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport type {\n ActivityMessageDetails,\n MessageBoxIconType,\n MessageBoxType,\n MessageBoxValue,\n NotifyMessageDetails,\n ToolAssistanceInstructions,\n ToolTipOptions,\n} from \"@itwin/core-frontend\";\nimport {\n ActivityMessageEndReason,\n NotificationManager,\n ToolAssistance,\n} from \"@itwin/core-frontend\";\nimport type { RelativePosition } from \"@itwin/appui-abstract\";\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\nimport { UiFramework } from \"../UiFramework\";\nimport { MessageManager } from \"./MessageManager\";\nimport { PointerMessage } from \"./Pointer\";\n\n/** Subclass of `NotificationManager` in `@itwin/core-frontend` to be used to initialize `IModelApp`.\n *\n * This implementation uses themed react components to display alerts, messages, prompts and tooltips.\n *\n * ```ts\n * await IModelApp.startup({\n * notifications: new AppNotificationManager()\n * });\n * ```\n * @public\n */\nexport class AppNotificationManager extends NotificationManager {\n /** Output a prompt, given an i18n key.\n */\n public override outputPromptByKey(key: string): void {\n this.outputPrompt(UiFramework.localization.getLocalizedString(key));\n }\n\n /** Output a prompt to the user. A 'prompt' indicates an action the user should take to proceed.\n */\n public override outputPrompt(prompt: string): void {\n MessageManager.outputPrompt(prompt);\n\n const mainInstruction = ToolAssistance.createInstruction(\"\", prompt);\n const instructions = ToolAssistance.createInstructions(mainInstruction);\n MessageManager.setToolAssistance(instructions);\n }\n\n /** Output a message and/or alert to the user. */\n public override outputMessage(message: NotifyMessageDetails): void {\n MessageManager.outputMessage(message);\n }\n\n /** Output a MessageBox and wait for response from the user.\n * @param mbType The MessageBox type.\n * @param message The message to display.\n * @param icon The MessageBox icon type.\n * @return the response from the user.\n */\n public override async openMessageBox(\n mbType: MessageBoxType,\n message: HTMLElement | string,\n icon: MessageBoxIconType\n ): Promise<MessageBoxValue> {\n return MessageManager.openMessageBox(mbType, message, icon);\n }\n\n /**\n * Set up for activity messages.\n * @param details The activity message details.\n * @return true if the message was displayed, false if an invalid priority is specified.\n */\n public override setupActivityMessage(\n details: ActivityMessageDetails\n ): boolean {\n return MessageManager.setupActivityMessageDetails(details);\n }\n\n /**\n * Output an activity message to the user.\n * @param messageText The message text.\n * @param percentComplete The percentage of completion.\n * @return true if the message was displayed, false if the message could not be displayed.\n */\n public override outputActivityMessage(\n messageText: HTMLElement | string,\n percentComplete: number\n ): boolean {\n return MessageManager.setupActivityMessageValues(\n messageText,\n percentComplete\n );\n }\n\n /**\n * End an activity message.\n * @param reason Reason for the end of the Activity Message.\n * @return true if the message was ended successfully, false if the activityMessage could not be ended.\n */\n public override endActivityMessage(\n reason: ActivityMessageEndReason\n ): boolean {\n let result = false;\n\n switch (reason) {\n case ActivityMessageEndReason.Completed:\n result = MessageManager.endActivityMessage(true);\n break;\n case ActivityMessageEndReason.Cancelled:\n result = MessageManager.endActivityMessage(false);\n break;\n }\n\n return result;\n }\n\n /** Update message position created with [[OutputMessageType.Pointer]].\n * @param displayPoint Point at which to display the Pointer type message.\n * @param relativePosition Position relative to displayPoint at which to display the Pointer type message.\n */\n public override updatePointerMessage(\n displayPoint: XAndY,\n relativePosition: RelativePosition\n ): void {\n PointerMessage.updateMessage(displayPoint, relativePosition);\n }\n\n /** Hides the Pointer message. */\n public override closePointerMessage(): void {\n PointerMessage.hideMessage();\n }\n\n /** Return true if _showTooltip has an implementation and will display a tooltip. */\n public override get isToolTipSupported(): boolean {\n return true;\n }\n\n /** Return true if the tooltip is currently open. */\n public override get isToolTipOpen(): boolean {\n return ElementTooltip.isTooltipVisible;\n }\n\n /** Clear the ToolTip if it is currently open. If not open, does nothing. */\n public override clearToolTip(): void {\n // istanbul ignore else\n if (this.isToolTipOpen) ElementTooltip.hideTooltip();\n }\n\n /** Show a ToolTip window.\n * @param el The HTMLElement that anchors the toolTip.\n * @param message The message to display inside the ToolTip\n * @param pt An optional location, relative to the origin of el, for the ToolTip. If undefined, center of el.\n * @param options Options that supply additional information about how the ToolTip should function.\n */\n protected override _showToolTip(\n el: HTMLElement,\n message: HTMLElement | string,\n pt?: XAndY,\n options?: ToolTipOptions\n ): void {\n ElementTooltip.showTooltip(el, message, pt, options);\n }\n\n /** Hide a InputField message. */\n public override closeInputFieldMessage(): void {\n MessageManager.hideInputFieldMessage();\n }\n\n /** Setup tool assistance instructions for a tool. The instructions include the main instruction, which includes the current prompt.\n * @param instructions The tool assistance instructions.\n * @public\n */\n public override setToolAssistance(\n instructions: ToolAssistanceInstructions | undefined\n ) {\n MessageManager.outputPrompt(\n instructions\n ? instructions.mainInstruction.text\n : /* istanbul ignore next */ \"\"\n );\n MessageManager.setToolAssistance(instructions);\n }\n}\n"]}
1
+ {"version":3,"file":"AppNotificationManager.js","sourceRoot":"","sources":["../../../../src/appui-react/messages/AppNotificationManager.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Notification\n */\n\nimport type { XAndY } from \"@itwin/core-geometry\";\nimport type {\n ActivityMessageDetails,\n MessageBoxIconType,\n MessageBoxType,\n MessageBoxValue,\n NotifyMessageDetails,\n ToolAssistanceInstructions,\n ToolTipOptions,\n} from \"@itwin/core-frontend\";\nimport {\n ActivityMessageEndReason,\n NotificationManager,\n ToolAssistance,\n} from \"@itwin/core-frontend\";\nimport type { RelativePosition } from \"@itwin/appui-abstract\";\nimport { ElementTooltip } from \"../feedback/ElementTooltip\";\nimport { UiFramework } from \"../UiFramework\";\nimport { MessageManager } from \"./MessageManager\";\nimport { PointerMessage } from \"./Pointer\";\n\n/** Subclass of `NotificationManager` in `@itwin/core-frontend` to be used to initialize `IModelApp`.\n *\n * This implementation uses themed react components to display alerts, messages, prompts and tooltips.\n *\n * ```ts\n * await IModelApp.startup({\n * notifications: new AppNotificationManager()\n * });\n * ```\n * @public\n */\nexport class AppNotificationManager extends NotificationManager {\n /** Output a prompt, given an i18n key.\n */\n public override outputPromptByKey(key: string): void {\n this.outputPrompt(UiFramework.translate(key));\n }\n\n /** Output a prompt to the user. A 'prompt' indicates an action the user should take to proceed.\n */\n public override outputPrompt(prompt: string): void {\n MessageManager.outputPrompt(prompt);\n\n const mainInstruction = ToolAssistance.createInstruction(\"\", prompt);\n const instructions = ToolAssistance.createInstructions(mainInstruction);\n MessageManager.setToolAssistance(instructions);\n }\n\n /** Output a message and/or alert to the user. */\n public override outputMessage(message: NotifyMessageDetails): void {\n MessageManager.outputMessage(message);\n }\n\n /** Output a MessageBox and wait for response from the user.\n * @param mbType The MessageBox type.\n * @param message The message to display.\n * @param icon The MessageBox icon type.\n * @return the response from the user.\n */\n public override async openMessageBox(\n mbType: MessageBoxType,\n message: HTMLElement | string,\n icon: MessageBoxIconType\n ): Promise<MessageBoxValue> {\n return MessageManager.openMessageBox(mbType, message, icon);\n }\n\n /**\n * Set up for activity messages.\n * @param details The activity message details.\n * @return true if the message was displayed, false if an invalid priority is specified.\n */\n public override setupActivityMessage(\n details: ActivityMessageDetails\n ): boolean {\n return MessageManager.setupActivityMessageDetails(details);\n }\n\n /**\n * Output an activity message to the user.\n * @param messageText The message text.\n * @param percentComplete The percentage of completion.\n * @return true if the message was displayed, false if the message could not be displayed.\n */\n public override outputActivityMessage(\n messageText: HTMLElement | string,\n percentComplete: number\n ): boolean {\n return MessageManager.setupActivityMessageValues(\n messageText,\n percentComplete\n );\n }\n\n /**\n * End an activity message.\n * @param reason Reason for the end of the Activity Message.\n * @return true if the message was ended successfully, false if the activityMessage could not be ended.\n */\n public override endActivityMessage(\n reason: ActivityMessageEndReason\n ): boolean {\n let result = false;\n\n switch (reason) {\n case ActivityMessageEndReason.Completed:\n result = MessageManager.endActivityMessage(true);\n break;\n case ActivityMessageEndReason.Cancelled:\n result = MessageManager.endActivityMessage(false);\n break;\n }\n\n return result;\n }\n\n /** Update message position created with [[OutputMessageType.Pointer]].\n * @param displayPoint Point at which to display the Pointer type message.\n * @param relativePosition Position relative to displayPoint at which to display the Pointer type message.\n */\n public override updatePointerMessage(\n displayPoint: XAndY,\n relativePosition: RelativePosition\n ): void {\n PointerMessage.updateMessage(displayPoint, relativePosition);\n }\n\n /** Hides the Pointer message. */\n public override closePointerMessage(): void {\n PointerMessage.hideMessage();\n }\n\n /** Return true if _showTooltip has an implementation and will display a tooltip. */\n public override get isToolTipSupported(): boolean {\n return true;\n }\n\n /** Return true if the tooltip is currently open. */\n public override get isToolTipOpen(): boolean {\n return ElementTooltip.isTooltipVisible;\n }\n\n /** Clear the ToolTip if it is currently open. If not open, does nothing. */\n public override clearToolTip(): void {\n // istanbul ignore else\n if (this.isToolTipOpen) ElementTooltip.hideTooltip();\n }\n\n /** Show a ToolTip window.\n * @param el The HTMLElement that anchors the toolTip.\n * @param message The message to display inside the ToolTip\n * @param pt An optional location, relative to the origin of el, for the ToolTip. If undefined, center of el.\n * @param options Options that supply additional information about how the ToolTip should function.\n */\n protected override _showToolTip(\n el: HTMLElement,\n message: HTMLElement | string,\n pt?: XAndY,\n options?: ToolTipOptions\n ): void {\n ElementTooltip.showTooltip(el, message, pt, options);\n }\n\n /** Hide a InputField message. */\n public override closeInputFieldMessage(): void {\n MessageManager.hideInputFieldMessage();\n }\n\n /** Setup tool assistance instructions for a tool. The instructions include the main instruction, which includes the current prompt.\n * @param instructions The tool assistance instructions.\n * @public\n */\n public override setToolAssistance(\n instructions: ToolAssistanceInstructions | undefined\n ) {\n MessageManager.outputPrompt(\n instructions\n ? instructions.mainInstruction.text\n : /* istanbul ignore next */ \"\"\n );\n MessageManager.setToolAssistance(instructions);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/MessageManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/MessageManager.tsx"],"names":[],"mappings":"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"}
@@ -170,10 +170,11 @@ class MessageManager {
170
170
  }
171
171
  /** Handles disconnected element modal frontstages, revert to last still displayed. */
172
172
  static get animateOutToElement() {
173
+ var _a;
173
174
  if (this._animateOutToElement.length === 0) {
174
175
  return undefined;
175
176
  }
176
- if (this._animateOutToElement[0]?.isConnected) {
177
+ if ((_a = this._animateOutToElement[0]) === null || _a === void 0 ? void 0 : _a.isConnected) {
177
178
  return this._animateOutToElement[0];
178
179
  }
179
180
  this._animateOutToElement.splice(0, 1);
@@ -200,7 +201,8 @@ class MessageManager {
200
201
  this.onDisplayMessage.emit(args);
201
202
  return {
202
203
  close: () => {
203
- args.close?.();
204
+ var _a;
205
+ (_a = args.close) === null || _a === void 0 ? void 0 : _a.call(args);
204
206
  },
205
207
  };
206
208
  }
@@ -439,22 +441,20 @@ class MessageManager {
439
441
  * @return the response from the user.
440
442
  */
441
443
  static async openMessageBox(mbType, message, icon) {
442
- const title = UiFramework_1.UiFramework.translate("general.alert");
443
444
  return new Promise((onFulfilled, onRejected) => {
444
445
  const messageBoxCallbacks = new MessageBoxCallbacks(onFulfilled, onRejected);
445
446
  const messageElement = React.createElement(core_react_1.MessageRenderer, { message: message, useSpan: true });
446
- UiFramework_1.UiFramework.dialogs.modal.open(this.standardMessageBox(mbType, icon, title, messageElement, messageBoxCallbacks));
447
+ UiFramework_1.UiFramework.dialogs.modal.open(this.standardMessageBox(mbType, icon, UiFramework_1.UiFramework.translate("general.alert"), messageElement, messageBoxCallbacks));
447
448
  });
448
449
  }
449
450
  /** @internal */
450
451
  static showAlertMessageBox(messageDetails) {
451
- const title = UiFramework_1.UiFramework.translate("general.alert");
452
452
  const iconType = this.getIconType(messageDetails);
453
453
  const content = (React.createElement(React.Fragment, null,
454
454
  React.createElement(core_react_1.MessageRenderer, { message: messageDetails.briefMessage, useSpan: true }),
455
455
  messageDetails.detailedMessage && (React.createElement("p", null,
456
456
  React.createElement(core_react_1.MessageRenderer, { message: messageDetails.detailedMessage, useSpan: true })))));
457
- UiFramework_1.UiFramework.dialogs.modal.open(this.standardMessageBox(core_frontend_1.MessageBoxType.Ok, iconType, title, content));
457
+ UiFramework_1.UiFramework.dialogs.modal.open(this.standardMessageBox(core_frontend_1.MessageBoxType.Ok, iconType, UiFramework_1.UiFramework.translate("general.alert"), content));
458
458
  }
459
459
  static standardMessageBox(mbType, iconType, title, messageElement, callbacks) {
460
460
  const onResult = callbacks !== undefined ? callbacks.handleMessageBoxResult : undefined;