@itwin/appui-react 4.13.3 → 4.14.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 (1192) hide show
  1. package/CHANGELOG.md +8 -3
  2. package/lib/cjs/appui-react/UiFramework.d.ts.map +1 -1
  3. package/lib/cjs/appui-react/UiFramework.js +17 -30
  4. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  5. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.d.ts.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js +0 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js +1 -1
  10. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  11. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  12. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  13. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js +0 -6
  14. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  15. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.d.ts.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js +0 -1
  17. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  18. package/lib/cjs/appui-react/accudraw/Calculator.d.ts.map +1 -1
  19. package/lib/cjs/appui-react/accudraw/Calculator.js +0 -2
  20. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  21. package/lib/cjs/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  22. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js +0 -1
  23. package/lib/cjs/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  24. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  25. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +0 -2
  26. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  27. package/lib/cjs/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  28. package/lib/cjs/appui-react/accudraw/MenuButton.js +0 -4
  29. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  30. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.d.ts.map +1 -1
  31. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js +0 -1
  32. package/lib/cjs/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  33. package/lib/cjs/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  34. package/lib/cjs/appui-react/backstage/BackstageComposer.js +0 -1
  35. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  36. package/lib/cjs/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -1
  37. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js +2 -10
  38. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  39. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  40. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js +1 -2
  41. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  42. package/lib/cjs/appui-react/childwindow/CopyStyles.d.ts.map +1 -1
  43. package/lib/cjs/appui-react/childwindow/CopyStyles.js +0 -2
  44. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  45. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  46. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js +2 -6
  47. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  48. package/lib/cjs/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  49. package/lib/cjs/appui-react/configurableui/ActivityTracker.js +0 -2
  50. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  51. package/lib/cjs/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
  52. package/lib/cjs/appui-react/configurableui/TimeTracker.d.ts.map +1 -1
  53. package/lib/cjs/appui-react/configurableui/TimeTracker.js +0 -2
  54. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  55. package/lib/cjs/appui-react/configurableui/state.d.ts.map +1 -1
  56. package/lib/cjs/appui-react/configurableui/state.js +2 -6
  57. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  58. package/lib/cjs/appui-react/content/ContentControl.d.ts.map +1 -1
  59. package/lib/cjs/appui-react/content/ContentControl.js +0 -1
  60. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  61. package/lib/cjs/appui-react/content/ContentLayout.d.ts.map +1 -1
  62. package/lib/cjs/appui-react/content/ContentLayout.js +0 -9
  63. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  64. package/lib/cjs/appui-react/content/DefaultViewOverlay.d.ts.map +1 -1
  65. package/lib/cjs/appui-react/content/DefaultViewOverlay.js +0 -1
  66. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  67. package/lib/cjs/appui-react/content/IModelViewport.d.ts.map +1 -1
  68. package/lib/cjs/appui-react/content/IModelViewport.js +0 -2
  69. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  70. package/lib/cjs/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -1
  71. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +0 -1
  72. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  73. package/lib/cjs/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  74. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -12
  75. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  76. package/lib/cjs/appui-react/content/StageContentLayout.d.ts.map +1 -1
  77. package/lib/cjs/appui-react/content/StageContentLayout.js +0 -2
  78. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  79. package/lib/cjs/appui-react/content/ViewStateHelper.d.ts.map +1 -1
  80. package/lib/cjs/appui-react/content/ViewStateHelper.js +0 -1
  81. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  82. package/lib/cjs/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  83. package/lib/cjs/appui-react/content/ViewportContentControl.js +0 -5
  84. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  85. package/lib/cjs/appui-react/content/split-pane/Resizer.d.ts.map +1 -1
  86. package/lib/cjs/appui-react/content/split-pane/Resizer.js +0 -2
  87. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  88. package/lib/cjs/appui-react/content/split-pane/SplitPane.d.ts.map +1 -1
  89. package/lib/cjs/appui-react/content/split-pane/SplitPane.js +0 -22
  90. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  91. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  92. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js +0 -3
  93. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  94. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  95. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +0 -5
  96. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  97. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  98. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +0 -1
  99. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  100. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  101. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js +0 -1
  102. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  103. package/lib/cjs/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  104. package/lib/cjs/appui-react/dialog/ContentDialog.js +0 -4
  105. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  106. package/lib/cjs/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  107. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +0 -2
  108. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  109. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  110. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +0 -4
  111. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  112. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  113. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +0 -3
  114. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  115. package/lib/cjs/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  116. package/lib/cjs/appui-react/dialog/StandardMessageBox.js +0 -2
  117. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  118. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  119. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js +0 -1
  120. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  121. package/lib/cjs/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  122. package/lib/cjs/appui-react/feedback/ElementTooltip.js +0 -8
  123. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  124. package/lib/cjs/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  125. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +1 -5
  126. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  127. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts +1 -1
  128. package/lib/cjs/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  129. package/lib/cjs/appui-react/frontstage/FrontstageDef.js +2 -24
  130. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  131. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  132. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +0 -12
  133. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  134. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  135. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +0 -2
  136. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  137. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  138. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js +0 -1
  139. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  140. package/lib/cjs/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  141. package/lib/cjs/appui-react/hooks/useActiveViewport.js +0 -2
  142. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  143. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.d.ts.map +1 -1
  144. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js +0 -2
  145. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  146. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.d.ts.map +1 -1
  147. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js +0 -1
  148. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  149. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.d.ts.map +1 -1
  150. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js +0 -2
  151. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  152. package/lib/cjs/appui-react/hooks/useSolarDataProvider.d.ts.map +1 -1
  153. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js +0 -2
  154. package/lib/cjs/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  155. package/lib/cjs/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  156. package/lib/cjs/appui-react/hooks/useUiVisibility.js +0 -1
  157. package/lib/cjs/appui-react/hooks/useUiVisibility.js.map +1 -1
  158. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  159. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js +0 -3
  160. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  161. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  162. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +0 -2
  163. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  164. package/lib/cjs/appui-react/keyins/Keyins.d.ts.map +1 -1
  165. package/lib/cjs/appui-react/keyins/Keyins.js +0 -3
  166. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -1
  167. package/lib/cjs/appui-react/layout/base/DragManager.d.ts.map +1 -1
  168. package/lib/cjs/appui-react/layout/base/DragManager.js +0 -2
  169. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  170. package/lib/cjs/appui-react/layout/base/NineZone.d.ts.map +1 -1
  171. package/lib/cjs/appui-react/layout/base/NineZone.js +0 -1
  172. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  173. package/lib/cjs/appui-react/layout/footer/snap-mode/Panel.scss +0 -2
  174. package/lib/cjs/appui-react/layout/footer/tool-assistance/Dialog.scss +1 -2
  175. package/lib/cjs/appui-react/layout/footer/tool-assistance/Instruction.scss +0 -2
  176. package/lib/cjs/appui-react/layout/outline/SectionOutline.js +0 -2
  177. package/lib/cjs/appui-react/layout/outline/SectionOutline.js.map +1 -1
  178. package/lib/cjs/appui-react/layout/outline/TabOutline.js +0 -1
  179. package/lib/cjs/appui-react/layout/outline/TabOutline.js.map +1 -1
  180. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js +0 -1
  181. package/lib/cjs/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  182. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts +7 -1
  183. package/lib/cjs/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  184. package/lib/cjs/appui-react/layout/state/NineZoneAction.js.map +1 -1
  185. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  186. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js +6 -8
  187. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  188. package/lib/cjs/appui-react/layout/state/WidgetLocation.d.ts.map +1 -1
  189. package/lib/cjs/appui-react/layout/state/WidgetLocation.js +0 -1
  190. package/lib/cjs/appui-react/layout/state/WidgetLocation.js.map +1 -1
  191. package/lib/cjs/appui-react/layout/target/MergeTarget.d.ts.map +1 -1
  192. package/lib/cjs/appui-react/layout/target/MergeTarget.js +1 -6
  193. package/lib/cjs/appui-react/layout/target/MergeTarget.js.map +1 -1
  194. package/lib/cjs/appui-react/layout/target/PanelTarget.d.ts.map +1 -1
  195. package/lib/cjs/appui-react/layout/target/PanelTarget.js +1 -8
  196. package/lib/cjs/appui-react/layout/target/PanelTarget.js.map +1 -1
  197. package/lib/cjs/appui-react/layout/target/SectionTarget.d.ts.map +1 -1
  198. package/lib/cjs/appui-react/layout/target/SectionTarget.js +1 -5
  199. package/lib/cjs/appui-react/layout/target/SectionTarget.js.map +1 -1
  200. package/lib/cjs/appui-react/layout/target/TabTarget.d.ts.map +1 -1
  201. package/lib/cjs/appui-react/layout/target/TabTarget.js +1 -6
  202. package/lib/cjs/appui-react/layout/target/TabTarget.js.map +1 -1
  203. package/lib/cjs/appui-react/layout/target/TitleBarTarget.d.ts.map +1 -1
  204. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js +1 -4
  205. package/lib/cjs/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  206. package/lib/cjs/appui-react/layout/target/useAllowedSideTarget.d.ts.map +1 -1
  207. package/lib/cjs/appui-react/layout/target/useAllowedSideTarget.js +0 -1
  208. package/lib/cjs/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  209. package/lib/cjs/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  210. package/lib/cjs/appui-react/layout/tool-settings/Docked.js +0 -1
  211. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  212. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts +1 -1
  213. package/lib/cjs/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  214. package/lib/cjs/appui-react/layout/widget/Buttons.js +10 -0
  215. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  216. package/lib/cjs/appui-react/layout/widget/Dock.js +2 -2
  217. package/lib/cjs/appui-react/layout/widget/Dock.js.map +1 -1
  218. package/lib/cjs/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  219. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js +0 -1
  220. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  221. package/lib/cjs/appui-react/layout/widget/MenuTab.d.ts.map +1 -1
  222. package/lib/cjs/appui-react/layout/widget/MenuTab.js +1 -3
  223. package/lib/cjs/appui-react/layout/widget/MenuTab.js.map +1 -1
  224. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +0 -1
  225. package/lib/cjs/appui-react/layout/widget/PinToggle.js +3 -3
  226. package/lib/cjs/appui-react/layout/widget/PinToggle.js.map +1 -1
  227. package/lib/cjs/appui-react/layout/widget/PopoutToggle.js +2 -2
  228. package/lib/cjs/appui-react/layout/widget/PopoutToggle.js.map +1 -1
  229. package/lib/cjs/appui-react/layout/widget/SendBack.js +2 -2
  230. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  231. package/lib/cjs/appui-react/layout/widget/Tab.d.ts.map +1 -1
  232. package/lib/cjs/appui-react/layout/widget/Tab.js +1 -5
  233. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  234. package/lib/cjs/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  235. package/lib/cjs/appui-react/layout/widget/TabBar.js +0 -1
  236. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  237. package/lib/cjs/appui-react/layout/widget/Widget.d.ts.map +1 -1
  238. package/lib/cjs/appui-react/layout/widget/Widget.js +0 -4
  239. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  240. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  241. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js +0 -1
  242. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  243. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
  244. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js +0 -2
  245. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  246. package/lib/cjs/appui-react/messages/AppNotificationManager.d.ts.map +1 -1
  247. package/lib/cjs/appui-react/messages/AppNotificationManager.js +1 -4
  248. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  249. package/lib/cjs/appui-react/messages/Pointer.d.ts.map +1 -1
  250. package/lib/cjs/appui-react/messages/Pointer.js +0 -4
  251. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  252. package/lib/cjs/appui-react/messages/StatusMessageManager.d.ts.map +1 -1
  253. package/lib/cjs/appui-react/messages/StatusMessageManager.js +0 -1
  254. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  255. package/lib/cjs/appui-react/messages/getToastCategory.d.ts +1 -1
  256. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.d.ts.map +1 -1
  257. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js +0 -1
  258. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  259. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.d.ts.map +1 -1
  260. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js +0 -1
  261. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  262. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  263. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +5 -21
  264. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  265. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  266. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +0 -2
  267. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  268. package/lib/cjs/appui-react/pickers/ListPicker.d.ts.map +1 -1
  269. package/lib/cjs/appui-react/pickers/ListPicker.js +2 -9
  270. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  271. package/lib/cjs/appui-react/pickers/ListPicker.scss +0 -1
  272. package/lib/cjs/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  273. package/lib/cjs/appui-react/pickers/ViewSelector.js +0 -8
  274. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  275. package/lib/cjs/appui-react/popup/CardPopup.d.ts.map +1 -1
  276. package/lib/cjs/appui-react/popup/CardPopup.js +0 -3
  277. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  278. package/lib/cjs/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  279. package/lib/cjs/appui-react/popup/HTMLElementPopup.js +0 -1
  280. package/lib/cjs/appui-react/popup/HTMLElementPopup.js.map +1 -1
  281. package/lib/cjs/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  282. package/lib/cjs/appui-react/popup/InputEditorPopup.js +0 -2
  283. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  284. package/lib/cjs/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  285. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js +0 -20
  286. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  287. package/lib/cjs/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  288. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js +0 -2
  289. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  290. package/lib/cjs/appui-react/popup/PopupManager.d.ts.map +1 -1
  291. package/lib/cjs/appui-react/popup/PopupManager.js +1 -5
  292. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  293. package/lib/cjs/appui-react/popup/PositionPopup.d.ts.map +1 -1
  294. package/lib/cjs/appui-react/popup/PositionPopup.js +0 -2
  295. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  296. package/lib/cjs/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  297. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js +0 -2
  298. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  299. package/lib/cjs/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  300. package/lib/cjs/appui-react/popup/ToolbarPopup.js +0 -2
  301. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  302. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts +12 -7
  303. package/lib/cjs/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  304. package/lib/cjs/appui-react/preview/PreviewFeatures.js +1 -0
  305. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  306. package/lib/cjs/appui-react/preview/control-widget-visibility/AddWidgetButton.d.ts +15 -0
  307. package/lib/cjs/appui-react/preview/control-widget-visibility/AddWidgetButton.d.ts.map +1 -0
  308. package/lib/cjs/appui-react/preview/control-widget-visibility/AddWidgetButton.js +89 -0
  309. package/lib/cjs/appui-react/preview/control-widget-visibility/AddWidgetButton.js.map +1 -0
  310. package/lib/cjs/appui-react/preview/control-widget-visibility/CloseWidgetButton.d.ts +9 -0
  311. package/lib/cjs/appui-react/preview/control-widget-visibility/CloseWidgetButton.d.ts.map +1 -0
  312. package/lib/cjs/appui-react/preview/control-widget-visibility/CloseWidgetButton.js +39 -0
  313. package/lib/cjs/appui-react/preview/control-widget-visibility/CloseWidgetButton.js.map +1 -0
  314. package/lib/cjs/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +10 -0
  315. package/lib/cjs/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -0
  316. package/lib/cjs/appui-react/preview/control-widget-visibility/NavigationWidget.js +54 -0
  317. package/lib/cjs/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -0
  318. package/lib/cjs/appui-react/{layout/base/Ellipsis.scss → preview/control-widget-visibility/NavigationWidget.scss} +10 -13
  319. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +4 -4
  320. package/lib/cjs/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -1
  321. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +3 -3
  322. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  323. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  324. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.d.ts.map +1 -1
  325. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js +5 -2
  326. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  327. package/lib/cjs/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
  328. package/lib/cjs/appui-react/redux/ReducerRegistry.js +0 -2
  329. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  330. package/lib/cjs/appui-react/redux/SessionState.d.ts.map +1 -1
  331. package/lib/cjs/appui-react/redux/SessionState.js +5 -20
  332. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  333. package/lib/cjs/appui-react/redux/StateManager.d.ts.map +1 -1
  334. package/lib/cjs/appui-react/redux/StateManager.js +0 -1
  335. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  336. package/lib/cjs/appui-react/redux/connectIModel.d.ts.map +1 -1
  337. package/lib/cjs/appui-react/redux/connectIModel.js +0 -5
  338. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  339. package/lib/cjs/appui-react/redux/redux-ts.d.ts.map +1 -1
  340. package/lib/cjs/appui-react/redux/redux-ts.js +1 -3
  341. package/lib/cjs/appui-react/redux/redux-ts.js.map +1 -1
  342. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.d.ts.map +1 -1
  343. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +0 -3
  344. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  345. package/lib/cjs/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  346. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js +0 -7
  347. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  348. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  349. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js +0 -7
  350. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  351. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  352. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js +0 -3
  353. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  354. package/lib/cjs/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
  355. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +0 -1
  356. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  357. package/lib/cjs/appui-react/shared/MenuItem.d.ts.map +1 -1
  358. package/lib/cjs/appui-react/shared/MenuItem.js +0 -4
  359. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  360. package/lib/cjs/appui-react/statusbar/Field.d.ts +2 -0
  361. package/lib/cjs/appui-react/statusbar/Field.d.ts.map +1 -1
  362. package/lib/cjs/appui-react/statusbar/Field.js +4 -2
  363. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  364. package/lib/cjs/appui-react/statusbar/Field.scss +4 -93
  365. package/lib/cjs/appui-react/statusbar/Indicator.d.ts +2 -0
  366. package/lib/cjs/appui-react/statusbar/Indicator.d.ts.map +1 -1
  367. package/lib/cjs/appui-react/statusbar/Indicator.js +8 -3
  368. package/lib/cjs/appui-react/statusbar/Indicator.js.map +1 -1
  369. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts +2 -0
  370. package/lib/cjs/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  371. package/lib/cjs/appui-react/statusbar/LabelIndicator.js +8 -4
  372. package/lib/cjs/appui-react/statusbar/LabelIndicator.js.map +1 -1
  373. package/lib/cjs/appui-react/statusbar/LabelIndicator.scss +1 -26
  374. package/lib/cjs/appui-react/statusbar/Overflow.d.ts +4 -4
  375. package/lib/cjs/appui-react/statusbar/Overflow.d.ts.map +1 -1
  376. package/lib/cjs/appui-react/statusbar/Overflow.js +12 -12
  377. package/lib/cjs/appui-react/statusbar/Overflow.js.map +1 -1
  378. package/lib/cjs/appui-react/statusbar/Overflow.scss +6 -19
  379. package/lib/cjs/appui-react/statusbar/Separator.js +1 -1
  380. package/lib/cjs/appui-react/statusbar/Separator.js.map +1 -1
  381. package/lib/cjs/appui-react/statusbar/Separator.scss +3 -4
  382. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts +4 -0
  383. package/lib/cjs/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  384. package/lib/cjs/appui-react/statusbar/StatusBar.js +6 -0
  385. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  386. package/lib/cjs/appui-react/statusbar/StatusBar.scss +29 -0
  387. package/lib/cjs/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  388. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js +44 -27
  389. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  390. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -1
  391. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js +2 -9
  392. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  393. package/lib/cjs/appui-react/statusbar/dialog/Button.js +2 -2
  394. package/lib/cjs/appui-react/statusbar/dialog/Button.js.map +1 -1
  395. package/lib/cjs/appui-react/statusbar/popup/ExpandIndicator.d.ts +8 -0
  396. package/lib/cjs/appui-react/statusbar/popup/ExpandIndicator.d.ts.map +1 -0
  397. package/lib/cjs/appui-react/statusbar/popup/ExpandIndicator.js +18 -0
  398. package/lib/cjs/appui-react/statusbar/popup/ExpandIndicator.js.map +1 -0
  399. package/lib/cjs/appui-react/{layout/footer/dialog/Button.scss → statusbar/popup/ExpandIndicator.scss} +10 -16
  400. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts +1 -0
  401. package/lib/cjs/appui-react/statusbar/popup/Popup.d.ts.map +1 -1
  402. package/lib/cjs/appui-react/statusbar/popup/Popup.js +1 -0
  403. package/lib/cjs/appui-react/statusbar/popup/Popup.js.map +1 -1
  404. package/lib/cjs/appui-react/statusbar/popup/StatusBarPopover.d.ts +25 -0
  405. package/lib/cjs/appui-react/statusbar/popup/StatusBarPopover.d.ts.map +1 -0
  406. package/lib/cjs/appui-react/statusbar/popup/StatusBarPopover.js +34 -0
  407. package/lib/cjs/appui-react/statusbar/popup/StatusBarPopover.js.map +1 -0
  408. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  409. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +0 -2
  410. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  411. package/lib/cjs/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  412. package/lib/cjs/appui-react/statusfields/SectionsField.js +13 -22
  413. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  414. package/lib/cjs/appui-react/statusfields/SelectionCount.d.ts.map +1 -1
  415. package/lib/cjs/appui-react/statusfields/SelectionCount.js +1 -6
  416. package/lib/cjs/appui-react/statusfields/SelectionCount.js.map +1 -1
  417. package/lib/cjs/appui-react/statusfields/SelectionCount.scss +4 -2
  418. package/lib/cjs/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  419. package/lib/cjs/appui-react/statusfields/SelectionScope.js +2 -8
  420. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  421. package/lib/cjs/appui-react/statusfields/SelectionScope.scss +7 -32
  422. package/lib/cjs/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  423. package/lib/cjs/appui-react/statusfields/SnapMode.js +6 -5
  424. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  425. package/lib/cjs/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  426. package/lib/cjs/appui-react/statusfields/ViewAttributes.js +6 -5
  427. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  428. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -1
  429. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js +6 -5
  430. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  431. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.scss +0 -1
  432. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterMessage.scss +0 -2
  433. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  434. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -9
  435. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  436. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -5
  437. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  438. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +16 -48
  439. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  440. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -27
  441. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  442. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js +0 -11
  443. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  444. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  445. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +0 -6
  446. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  447. package/lib/cjs/appui-react/theme/ThemeManager.d.ts.map +1 -1
  448. package/lib/cjs/appui-react/theme/ThemeManager.js +0 -1
  449. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  450. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.d.ts.map +1 -1
  451. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js +0 -6
  452. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  453. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.d.ts.map +1 -1
  454. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js +0 -1
  455. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  456. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  457. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js +0 -1
  458. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  459. package/lib/cjs/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  460. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js +3 -8
  461. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  462. package/lib/cjs/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  463. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js +0 -1
  464. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  465. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
  466. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js +4 -18
  467. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  468. package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  469. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +0 -1
  470. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  471. package/lib/cjs/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  472. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +0 -2
  473. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  474. package/lib/cjs/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  475. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +0 -2
  476. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  477. package/lib/cjs/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  478. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +0 -2
  479. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  480. package/lib/cjs/appui-react/tools/ToolSettingsTools.d.ts.map +1 -1
  481. package/lib/cjs/appui-react/tools/ToolSettingsTools.js +0 -1
  482. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  483. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  484. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js +0 -2
  485. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  486. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  487. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +0 -8
  488. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  489. package/lib/cjs/appui-react/toolsettings/ToolInformation.d.ts.map +1 -1
  490. package/lib/cjs/appui-react/toolsettings/ToolInformation.js +0 -1
  491. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  492. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  493. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -3
  494. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  495. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +1 -1
  496. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  497. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  498. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +0 -1
  499. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  500. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  501. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js +0 -1
  502. package/lib/cjs/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  503. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  504. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js +0 -12
  505. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  506. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  507. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js +3 -10
  508. package/lib/cjs/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  509. package/lib/cjs/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  510. package/lib/cjs/appui-react/uistate/useUiStateStorage.js +0 -1
  511. package/lib/cjs/appui-react/uistate/useUiStateStorage.js.map +1 -1
  512. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  513. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +0 -1
  514. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  515. package/lib/cjs/appui-react/utils/PropsHelper.d.ts.map +1 -1
  516. package/lib/cjs/appui-react/utils/PropsHelper.js +0 -2
  517. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  518. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.d.ts.map +1 -1
  519. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js +0 -6
  520. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  521. package/lib/cjs/appui-react/widget-panels/Content.d.ts.map +1 -1
  522. package/lib/cjs/appui-react/widget-panels/Content.js +7 -16
  523. package/lib/cjs/appui-react/widget-panels/Content.js.map +1 -1
  524. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts +1 -4
  525. package/lib/cjs/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  526. package/lib/cjs/appui-react/widget-panels/Frontstage.js +3 -79
  527. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  528. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  529. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js +1 -3
  530. package/lib/cjs/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  531. package/lib/cjs/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  532. package/lib/cjs/appui-react/widget-panels/StatusBar.js +3 -1
  533. package/lib/cjs/appui-react/widget-panels/StatusBar.js.map +1 -1
  534. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  535. package/lib/cjs/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  536. package/lib/cjs/appui-react/widget-panels/Toolbars.d.ts.map +1 -1
  537. package/lib/cjs/appui-react/widget-panels/Toolbars.js +2 -1
  538. package/lib/cjs/appui-react/widget-panels/Toolbars.js.map +1 -1
  539. package/lib/cjs/appui-react/widget-panels/useSaveFrontstageSettings.d.ts +8 -0
  540. package/lib/cjs/appui-react/widget-panels/useSaveFrontstageSettings.d.ts.map +1 -0
  541. package/lib/cjs/appui-react/widget-panels/useSaveFrontstageSettings.js +55 -0
  542. package/lib/cjs/appui-react/widget-panels/useSaveFrontstageSettings.js.map +1 -0
  543. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  544. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js +0 -1
  545. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  546. package/lib/cjs/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  547. package/lib/cjs/appui-react/widgets/BasicToolWidget.js +0 -1
  548. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  549. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  550. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js +0 -1
  551. package/lib/cjs/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  552. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  553. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js +5 -19
  554. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  555. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  556. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js +0 -1
  557. package/lib/cjs/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  558. package/lib/cjs/appui-react/widgets/Widget.d.ts +3 -1
  559. package/lib/cjs/appui-react/widgets/Widget.d.ts.map +1 -1
  560. package/lib/cjs/appui-react/widgets/Widget.js.map +1 -1
  561. package/lib/cjs/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  562. package/lib/cjs/appui-react/widgets/WidgetDef.js +0 -5
  563. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  564. package/lib/cjs/appui-react.d.ts +1 -0
  565. package/lib/cjs/appui-react.d.ts.map +1 -1
  566. package/lib/cjs/appui-react.js +1 -0
  567. package/lib/cjs/appui-react.js.map +1 -1
  568. package/lib/esm/appui-react/UiFramework.d.ts.map +1 -1
  569. package/lib/esm/appui-react/UiFramework.js +17 -30
  570. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  571. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.d.ts.map +1 -1
  572. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js +0 -1
  573. package/lib/esm/appui-react/accudraw/AccuDrawCommandItems.js.map +1 -1
  574. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  575. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js +1 -1
  576. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  577. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts +1 -1
  578. package/lib/esm/appui-react/accudraw/AccuDrawInputField.d.ts.map +1 -1
  579. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js +0 -6
  580. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  581. package/lib/esm/appui-react/accudraw/AccuDrawWidget.d.ts.map +1 -1
  582. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js +0 -1
  583. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  584. package/lib/esm/appui-react/accudraw/Calculator.d.ts.map +1 -1
  585. package/lib/esm/appui-react/accudraw/Calculator.js +0 -2
  586. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  587. package/lib/esm/appui-react/accudraw/CalculatorPopup.d.ts.map +1 -1
  588. package/lib/esm/appui-react/accudraw/CalculatorPopup.js +0 -1
  589. package/lib/esm/appui-react/accudraw/CalculatorPopup.js.map +1 -1
  590. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.d.ts.map +1 -1
  591. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +0 -2
  592. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  593. package/lib/esm/appui-react/accudraw/MenuButton.d.ts.map +1 -1
  594. package/lib/esm/appui-react/accudraw/MenuButton.js +0 -4
  595. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  596. package/lib/esm/appui-react/accudraw/MenuButtonPopup.d.ts.map +1 -1
  597. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js +0 -1
  598. package/lib/esm/appui-react/accudraw/MenuButtonPopup.js.map +1 -1
  599. package/lib/esm/appui-react/backstage/BackstageComposer.d.ts.map +1 -1
  600. package/lib/esm/appui-react/backstage/BackstageComposer.js +0 -1
  601. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  602. package/lib/esm/appui-react/backstage/BackstageItemsManager.d.ts.map +1 -1
  603. package/lib/esm/appui-react/backstage/BackstageItemsManager.js +2 -10
  604. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  605. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.d.ts.map +1 -1
  606. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js +1 -2
  607. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  608. package/lib/esm/appui-react/childwindow/CopyStyles.d.ts.map +1 -1
  609. package/lib/esm/appui-react/childwindow/CopyStyles.js +0 -2
  610. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  611. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  612. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js +2 -6
  613. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  614. package/lib/esm/appui-react/configurableui/ActivityTracker.d.ts.map +1 -1
  615. package/lib/esm/appui-react/configurableui/ActivityTracker.js +0 -2
  616. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  617. package/lib/esm/appui-react/configurableui/ConfigurableUiContent.scss +0 -1
  618. package/lib/esm/appui-react/configurableui/TimeTracker.d.ts.map +1 -1
  619. package/lib/esm/appui-react/configurableui/TimeTracker.js +0 -2
  620. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  621. package/lib/esm/appui-react/configurableui/state.d.ts.map +1 -1
  622. package/lib/esm/appui-react/configurableui/state.js +2 -6
  623. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  624. package/lib/esm/appui-react/content/ContentControl.d.ts.map +1 -1
  625. package/lib/esm/appui-react/content/ContentControl.js +0 -1
  626. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  627. package/lib/esm/appui-react/content/ContentLayout.d.ts.map +1 -1
  628. package/lib/esm/appui-react/content/ContentLayout.js +0 -9
  629. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  630. package/lib/esm/appui-react/content/DefaultViewOverlay.d.ts.map +1 -1
  631. package/lib/esm/appui-react/content/DefaultViewOverlay.js +0 -1
  632. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  633. package/lib/esm/appui-react/content/IModelViewport.d.ts.map +1 -1
  634. package/lib/esm/appui-react/content/IModelViewport.js +0 -2
  635. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  636. package/lib/esm/appui-react/content/InternalContentLayoutManager.d.ts.map +1 -1
  637. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +0 -1
  638. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  639. package/lib/esm/appui-react/content/InternalContentViewManager.d.ts.map +1 -1
  640. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -12
  641. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  642. package/lib/esm/appui-react/content/StageContentLayout.d.ts.map +1 -1
  643. package/lib/esm/appui-react/content/StageContentLayout.js +0 -2
  644. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  645. package/lib/esm/appui-react/content/ViewStateHelper.d.ts.map +1 -1
  646. package/lib/esm/appui-react/content/ViewStateHelper.js +0 -1
  647. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  648. package/lib/esm/appui-react/content/ViewportContentControl.d.ts.map +1 -1
  649. package/lib/esm/appui-react/content/ViewportContentControl.js +0 -5
  650. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  651. package/lib/esm/appui-react/content/split-pane/Resizer.d.ts.map +1 -1
  652. package/lib/esm/appui-react/content/split-pane/Resizer.js +0 -2
  653. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  654. package/lib/esm/appui-react/content/split-pane/SplitPane.d.ts.map +1 -1
  655. package/lib/esm/appui-react/content/split-pane/SplitPane.js +0 -22
  656. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  657. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  658. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js +0 -3
  659. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  660. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.d.ts.map +1 -1
  661. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +0 -5
  662. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  663. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  664. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +0 -1
  665. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  666. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  667. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js +0 -1
  668. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  669. package/lib/esm/appui-react/dialog/ContentDialog.d.ts.map +1 -1
  670. package/lib/esm/appui-react/dialog/ContentDialog.js +0 -4
  671. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  672. package/lib/esm/appui-react/dialog/DialogManagerBase.d.ts.map +1 -1
  673. package/lib/esm/appui-react/dialog/DialogManagerBase.js +0 -2
  674. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  675. package/lib/esm/appui-react/dialog/InternalContentDialogManager.d.ts.map +1 -1
  676. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +0 -4
  677. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  678. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.d.ts.map +1 -1
  679. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +0 -3
  680. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  681. package/lib/esm/appui-react/dialog/StandardMessageBox.d.ts.map +1 -1
  682. package/lib/esm/appui-react/dialog/StandardMessageBox.js +0 -2
  683. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  684. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.d.ts.map +1 -1
  685. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js +0 -1
  686. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  687. package/lib/esm/appui-react/feedback/ElementTooltip.d.ts.map +1 -1
  688. package/lib/esm/appui-react/feedback/ElementTooltip.js +0 -8
  689. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  690. package/lib/esm/appui-react/feedback/ValidationTextbox.d.ts.map +1 -1
  691. package/lib/esm/appui-react/feedback/ValidationTextbox.js +1 -5
  692. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  693. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts +1 -1
  694. package/lib/esm/appui-react/frontstage/FrontstageDef.d.ts.map +1 -1
  695. package/lib/esm/appui-react/frontstage/FrontstageDef.js +2 -24
  696. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  697. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  698. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +0 -12
  699. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  700. package/lib/esm/appui-react/frontstage/ModalSettingsStage.d.ts.map +1 -1
  701. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +0 -2
  702. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  703. package/lib/esm/appui-react/hooks/useActiveIModelConnection.d.ts.map +1 -1
  704. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js +0 -1
  705. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  706. package/lib/esm/appui-react/hooks/useActiveViewport.d.ts.map +1 -1
  707. package/lib/esm/appui-react/hooks/useActiveViewport.js +0 -2
  708. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  709. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.d.ts.map +1 -1
  710. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js +0 -2
  711. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  712. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.d.ts.map +1 -1
  713. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js +0 -1
  714. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  715. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.d.ts.map +1 -1
  716. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js +0 -2
  717. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  718. package/lib/esm/appui-react/hooks/useSolarDataProvider.d.ts.map +1 -1
  719. package/lib/esm/appui-react/hooks/useSolarDataProvider.js +0 -2
  720. package/lib/esm/appui-react/hooks/useSolarDataProvider.js.map +1 -1
  721. package/lib/esm/appui-react/hooks/useUiVisibility.d.ts.map +1 -1
  722. package/lib/esm/appui-react/hooks/useUiVisibility.js +0 -1
  723. package/lib/esm/appui-react/hooks/useUiVisibility.js.map +1 -1
  724. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.d.ts.map +1 -1
  725. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js +0 -3
  726. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  727. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.d.ts.map +1 -1
  728. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +0 -2
  729. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  730. package/lib/esm/appui-react/keyins/Keyins.d.ts.map +1 -1
  731. package/lib/esm/appui-react/keyins/Keyins.js +0 -3
  732. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -1
  733. package/lib/esm/appui-react/layout/base/DragManager.d.ts.map +1 -1
  734. package/lib/esm/appui-react/layout/base/DragManager.js +0 -2
  735. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  736. package/lib/esm/appui-react/layout/base/NineZone.d.ts.map +1 -1
  737. package/lib/esm/appui-react/layout/base/NineZone.js +0 -1
  738. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  739. package/lib/esm/appui-react/layout/footer/snap-mode/Panel.scss +0 -2
  740. package/lib/esm/appui-react/layout/footer/tool-assistance/Dialog.scss +1 -2
  741. package/lib/esm/appui-react/layout/footer/tool-assistance/Instruction.scss +0 -2
  742. package/lib/esm/appui-react/layout/outline/SectionOutline.js +0 -2
  743. package/lib/esm/appui-react/layout/outline/SectionOutline.js.map +1 -1
  744. package/lib/esm/appui-react/layout/outline/TabOutline.js +0 -1
  745. package/lib/esm/appui-react/layout/outline/TabOutline.js.map +1 -1
  746. package/lib/esm/appui-react/layout/outline/WidgetOutline.js +0 -1
  747. package/lib/esm/appui-react/layout/outline/WidgetOutline.js.map +1 -1
  748. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts +7 -1
  749. package/lib/esm/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  750. package/lib/esm/appui-react/layout/state/NineZoneAction.js.map +1 -1
  751. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  752. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js +6 -8
  753. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  754. package/lib/esm/appui-react/layout/state/WidgetLocation.d.ts.map +1 -1
  755. package/lib/esm/appui-react/layout/state/WidgetLocation.js +0 -1
  756. package/lib/esm/appui-react/layout/state/WidgetLocation.js.map +1 -1
  757. package/lib/esm/appui-react/layout/target/MergeTarget.d.ts.map +1 -1
  758. package/lib/esm/appui-react/layout/target/MergeTarget.js +1 -6
  759. package/lib/esm/appui-react/layout/target/MergeTarget.js.map +1 -1
  760. package/lib/esm/appui-react/layout/target/PanelTarget.d.ts.map +1 -1
  761. package/lib/esm/appui-react/layout/target/PanelTarget.js +1 -8
  762. package/lib/esm/appui-react/layout/target/PanelTarget.js.map +1 -1
  763. package/lib/esm/appui-react/layout/target/SectionTarget.d.ts.map +1 -1
  764. package/lib/esm/appui-react/layout/target/SectionTarget.js +1 -5
  765. package/lib/esm/appui-react/layout/target/SectionTarget.js.map +1 -1
  766. package/lib/esm/appui-react/layout/target/TabTarget.d.ts.map +1 -1
  767. package/lib/esm/appui-react/layout/target/TabTarget.js +1 -6
  768. package/lib/esm/appui-react/layout/target/TabTarget.js.map +1 -1
  769. package/lib/esm/appui-react/layout/target/TitleBarTarget.d.ts.map +1 -1
  770. package/lib/esm/appui-react/layout/target/TitleBarTarget.js +1 -4
  771. package/lib/esm/appui-react/layout/target/TitleBarTarget.js.map +1 -1
  772. package/lib/esm/appui-react/layout/target/useAllowedSideTarget.d.ts.map +1 -1
  773. package/lib/esm/appui-react/layout/target/useAllowedSideTarget.js +0 -1
  774. package/lib/esm/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  775. package/lib/esm/appui-react/layout/tool-settings/Docked.d.ts.map +1 -1
  776. package/lib/esm/appui-react/layout/tool-settings/Docked.js +0 -1
  777. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  778. package/lib/esm/appui-react/layout/widget/Buttons.d.ts +1 -1
  779. package/lib/esm/appui-react/layout/widget/Buttons.d.ts.map +1 -1
  780. package/lib/esm/appui-react/layout/widget/Buttons.js +10 -0
  781. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  782. package/lib/esm/appui-react/layout/widget/Dock.js +2 -2
  783. package/lib/esm/appui-react/layout/widget/Dock.js.map +1 -1
  784. package/lib/esm/appui-react/layout/widget/FloatingWidget.d.ts.map +1 -1
  785. package/lib/esm/appui-react/layout/widget/FloatingWidget.js +0 -1
  786. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  787. package/lib/esm/appui-react/layout/widget/MenuTab.d.ts.map +1 -1
  788. package/lib/esm/appui-react/layout/widget/MenuTab.js +1 -3
  789. package/lib/esm/appui-react/layout/widget/MenuTab.js.map +1 -1
  790. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +0 -1
  791. package/lib/esm/appui-react/layout/widget/PinToggle.js +3 -3
  792. package/lib/esm/appui-react/layout/widget/PinToggle.js.map +1 -1
  793. package/lib/esm/appui-react/layout/widget/PopoutToggle.js +2 -2
  794. package/lib/esm/appui-react/layout/widget/PopoutToggle.js.map +1 -1
  795. package/lib/esm/appui-react/layout/widget/SendBack.js +2 -2
  796. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  797. package/lib/esm/appui-react/layout/widget/Tab.d.ts.map +1 -1
  798. package/lib/esm/appui-react/layout/widget/Tab.js +1 -5
  799. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  800. package/lib/esm/appui-react/layout/widget/TabBar.d.ts.map +1 -1
  801. package/lib/esm/appui-react/layout/widget/TabBar.js +0 -1
  802. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  803. package/lib/esm/appui-react/layout/widget/Widget.d.ts.map +1 -1
  804. package/lib/esm/appui-react/layout/widget/Widget.js +0 -4
  805. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  806. package/lib/esm/appui-react/layout/widget-panels/PanelSections.d.ts.map +1 -1
  807. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js +0 -1
  808. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  809. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.d.ts.map +1 -1
  810. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js +0 -2
  811. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  812. package/lib/esm/appui-react/messages/AppNotificationManager.d.ts.map +1 -1
  813. package/lib/esm/appui-react/messages/AppNotificationManager.js +1 -4
  814. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  815. package/lib/esm/appui-react/messages/Pointer.d.ts.map +1 -1
  816. package/lib/esm/appui-react/messages/Pointer.js +0 -4
  817. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  818. package/lib/esm/appui-react/messages/StatusMessageManager.d.ts.map +1 -1
  819. package/lib/esm/appui-react/messages/StatusMessageManager.js +0 -1
  820. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  821. package/lib/esm/appui-react/messages/getToastCategory.d.ts +1 -1
  822. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.d.ts.map +1 -1
  823. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js +0 -1
  824. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  825. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.d.ts.map +1 -1
  826. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js +0 -1
  827. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  828. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.d.ts.map +1 -1
  829. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +5 -21
  830. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  831. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.d.ts.map +1 -1
  832. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +0 -2
  833. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  834. package/lib/esm/appui-react/pickers/ListPicker.d.ts.map +1 -1
  835. package/lib/esm/appui-react/pickers/ListPicker.js +2 -9
  836. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  837. package/lib/esm/appui-react/pickers/ListPicker.scss +0 -1
  838. package/lib/esm/appui-react/pickers/ViewSelector.d.ts.map +1 -1
  839. package/lib/esm/appui-react/pickers/ViewSelector.js +0 -8
  840. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  841. package/lib/esm/appui-react/popup/CardPopup.d.ts.map +1 -1
  842. package/lib/esm/appui-react/popup/CardPopup.js +0 -3
  843. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  844. package/lib/esm/appui-react/popup/HTMLElementPopup.d.ts.map +1 -1
  845. package/lib/esm/appui-react/popup/HTMLElementPopup.js +0 -1
  846. package/lib/esm/appui-react/popup/HTMLElementPopup.js.map +1 -1
  847. package/lib/esm/appui-react/popup/InputEditorPopup.d.ts.map +1 -1
  848. package/lib/esm/appui-react/popup/InputEditorPopup.js +0 -2
  849. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  850. package/lib/esm/appui-react/popup/KeyinPalettePanel.d.ts.map +1 -1
  851. package/lib/esm/appui-react/popup/KeyinPalettePanel.js +0 -20
  852. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  853. package/lib/esm/appui-react/popup/KeyinPalettePopup.d.ts.map +1 -1
  854. package/lib/esm/appui-react/popup/KeyinPalettePopup.js +0 -2
  855. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  856. package/lib/esm/appui-react/popup/PopupManager.d.ts.map +1 -1
  857. package/lib/esm/appui-react/popup/PopupManager.js +1 -5
  858. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  859. package/lib/esm/appui-react/popup/PositionPopup.d.ts.map +1 -1
  860. package/lib/esm/appui-react/popup/PositionPopup.js +0 -2
  861. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  862. package/lib/esm/appui-react/popup/ToolSettingsPopup.d.ts.map +1 -1
  863. package/lib/esm/appui-react/popup/ToolSettingsPopup.js +0 -2
  864. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  865. package/lib/esm/appui-react/popup/ToolbarPopup.d.ts.map +1 -1
  866. package/lib/esm/appui-react/popup/ToolbarPopup.js +0 -2
  867. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  868. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts +12 -7
  869. package/lib/esm/appui-react/preview/PreviewFeatures.d.ts.map +1 -1
  870. package/lib/esm/appui-react/preview/PreviewFeatures.js +1 -0
  871. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  872. package/lib/esm/appui-react/preview/control-widget-visibility/AddWidgetButton.d.ts +15 -0
  873. package/lib/esm/appui-react/preview/control-widget-visibility/AddWidgetButton.d.ts.map +1 -0
  874. package/lib/esm/appui-react/preview/control-widget-visibility/AddWidgetButton.js +83 -0
  875. package/lib/esm/appui-react/preview/control-widget-visibility/AddWidgetButton.js.map +1 -0
  876. package/lib/esm/appui-react/preview/control-widget-visibility/CloseWidgetButton.d.ts +9 -0
  877. package/lib/esm/appui-react/preview/control-widget-visibility/CloseWidgetButton.d.ts.map +1 -0
  878. package/lib/esm/appui-react/preview/control-widget-visibility/CloseWidgetButton.js +34 -0
  879. package/lib/esm/appui-react/preview/control-widget-visibility/CloseWidgetButton.js.map +1 -0
  880. package/lib/esm/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts +10 -0
  881. package/lib/esm/appui-react/preview/control-widget-visibility/NavigationWidget.d.ts.map +1 -0
  882. package/lib/esm/appui-react/preview/control-widget-visibility/NavigationWidget.js +50 -0
  883. package/lib/esm/appui-react/preview/control-widget-visibility/NavigationWidget.js.map +1 -0
  884. package/lib/esm/appui-react/{layout/base/Ellipsis.scss → preview/control-widget-visibility/NavigationWidget.scss} +10 -13
  885. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js +4 -4
  886. package/lib/esm/appui-react/preview/enable-maximized-widget/MaximizeToggle.js.map +1 -1
  887. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js +3 -3
  888. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  889. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts +1 -1
  890. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.d.ts.map +1 -1
  891. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js +5 -2
  892. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  893. package/lib/esm/appui-react/redux/ReducerRegistry.d.ts.map +1 -1
  894. package/lib/esm/appui-react/redux/ReducerRegistry.js +0 -2
  895. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  896. package/lib/esm/appui-react/redux/SessionState.d.ts.map +1 -1
  897. package/lib/esm/appui-react/redux/SessionState.js +5 -20
  898. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  899. package/lib/esm/appui-react/redux/StateManager.d.ts.map +1 -1
  900. package/lib/esm/appui-react/redux/StateManager.js +0 -1
  901. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  902. package/lib/esm/appui-react/redux/connectIModel.d.ts.map +1 -1
  903. package/lib/esm/appui-react/redux/connectIModel.js +0 -5
  904. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  905. package/lib/esm/appui-react/redux/redux-ts.d.ts.map +1 -1
  906. package/lib/esm/appui-react/redux/redux-ts.js +1 -3
  907. package/lib/esm/appui-react/redux/redux-ts.js.map +1 -1
  908. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.d.ts.map +1 -1
  909. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +0 -3
  910. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  911. package/lib/esm/appui-react/selection/SelectionContextItemDef.d.ts.map +1 -1
  912. package/lib/esm/appui-react/selection/SelectionContextItemDef.js +0 -7
  913. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  914. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.d.ts.map +1 -1
  915. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js +0 -7
  916. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  917. package/lib/esm/appui-react/settings/ui/UiSettingsPage.d.ts.map +1 -1
  918. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js +0 -3
  919. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  920. package/lib/esm/appui-react/shared/ActionButtonItemDef.d.ts.map +1 -1
  921. package/lib/esm/appui-react/shared/ActionButtonItemDef.js +0 -1
  922. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  923. package/lib/esm/appui-react/shared/MenuItem.d.ts.map +1 -1
  924. package/lib/esm/appui-react/shared/MenuItem.js +0 -4
  925. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  926. package/lib/esm/appui-react/statusbar/Field.d.ts +2 -0
  927. package/lib/esm/appui-react/statusbar/Field.d.ts.map +1 -1
  928. package/lib/esm/appui-react/statusbar/Field.js +4 -2
  929. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  930. package/lib/esm/appui-react/statusbar/Field.scss +4 -93
  931. package/lib/esm/appui-react/statusbar/Indicator.d.ts +2 -0
  932. package/lib/esm/appui-react/statusbar/Indicator.d.ts.map +1 -1
  933. package/lib/esm/appui-react/statusbar/Indicator.js +8 -3
  934. package/lib/esm/appui-react/statusbar/Indicator.js.map +1 -1
  935. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts +2 -0
  936. package/lib/esm/appui-react/statusbar/LabelIndicator.d.ts.map +1 -1
  937. package/lib/esm/appui-react/statusbar/LabelIndicator.js +8 -4
  938. package/lib/esm/appui-react/statusbar/LabelIndicator.js.map +1 -1
  939. package/lib/esm/appui-react/statusbar/LabelIndicator.scss +1 -26
  940. package/lib/esm/appui-react/statusbar/Overflow.d.ts +4 -4
  941. package/lib/esm/appui-react/statusbar/Overflow.d.ts.map +1 -1
  942. package/lib/esm/appui-react/statusbar/Overflow.js +12 -13
  943. package/lib/esm/appui-react/statusbar/Overflow.js.map +1 -1
  944. package/lib/esm/appui-react/statusbar/Overflow.scss +6 -19
  945. package/lib/esm/appui-react/statusbar/Separator.js +1 -1
  946. package/lib/esm/appui-react/statusbar/Separator.js.map +1 -1
  947. package/lib/esm/appui-react/statusbar/Separator.scss +3 -4
  948. package/lib/esm/appui-react/statusbar/StatusBar.d.ts +4 -0
  949. package/lib/esm/appui-react/statusbar/StatusBar.d.ts.map +1 -1
  950. package/lib/esm/appui-react/statusbar/StatusBar.js +6 -0
  951. package/lib/esm/appui-react/statusbar/StatusBar.js.map +1 -1
  952. package/lib/esm/appui-react/statusbar/StatusBar.scss +29 -0
  953. package/lib/esm/appui-react/statusbar/StatusBarComposer.d.ts.map +1 -1
  954. package/lib/esm/appui-react/statusbar/StatusBarComposer.js +44 -27
  955. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  956. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.d.ts.map +1 -1
  957. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js +2 -9
  958. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  959. package/lib/esm/appui-react/statusbar/dialog/Button.js +2 -2
  960. package/lib/esm/appui-react/statusbar/dialog/Button.js.map +1 -1
  961. package/lib/esm/appui-react/statusbar/popup/ExpandIndicator.d.ts +8 -0
  962. package/lib/esm/appui-react/statusbar/popup/ExpandIndicator.d.ts.map +1 -0
  963. package/lib/esm/appui-react/statusbar/popup/ExpandIndicator.js +14 -0
  964. package/lib/esm/appui-react/statusbar/popup/ExpandIndicator.js.map +1 -0
  965. package/lib/esm/appui-react/{layout/footer/dialog/Button.scss → statusbar/popup/ExpandIndicator.scss} +10 -16
  966. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts +1 -0
  967. package/lib/esm/appui-react/statusbar/popup/Popup.d.ts.map +1 -1
  968. package/lib/esm/appui-react/statusbar/popup/Popup.js +1 -0
  969. package/lib/esm/appui-react/statusbar/popup/Popup.js.map +1 -1
  970. package/lib/esm/appui-react/statusbar/popup/StatusBarPopover.d.ts +25 -0
  971. package/lib/esm/appui-react/statusbar/popup/StatusBarPopover.d.ts.map +1 -0
  972. package/lib/esm/appui-react/statusbar/popup/StatusBarPopover.js +30 -0
  973. package/lib/esm/appui-react/statusbar/popup/StatusBarPopover.js.map +1 -0
  974. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.d.ts.map +1 -1
  975. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js +0 -2
  976. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  977. package/lib/esm/appui-react/statusfields/SectionsField.d.ts.map +1 -1
  978. package/lib/esm/appui-react/statusfields/SectionsField.js +14 -23
  979. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  980. package/lib/esm/appui-react/statusfields/SelectionCount.d.ts.map +1 -1
  981. package/lib/esm/appui-react/statusfields/SelectionCount.js +1 -6
  982. package/lib/esm/appui-react/statusfields/SelectionCount.js.map +1 -1
  983. package/lib/esm/appui-react/statusfields/SelectionCount.scss +4 -2
  984. package/lib/esm/appui-react/statusfields/SelectionScope.d.ts.map +1 -1
  985. package/lib/esm/appui-react/statusfields/SelectionScope.js +3 -9
  986. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  987. package/lib/esm/appui-react/statusfields/SelectionScope.scss +7 -32
  988. package/lib/esm/appui-react/statusfields/SnapMode.d.ts.map +1 -1
  989. package/lib/esm/appui-react/statusfields/SnapMode.js +6 -5
  990. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  991. package/lib/esm/appui-react/statusfields/ViewAttributes.d.ts.map +1 -1
  992. package/lib/esm/appui-react/statusfields/ViewAttributes.js +7 -6
  993. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  994. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.d.ts.map +1 -1
  995. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js +7 -6
  996. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  997. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.scss +0 -1
  998. package/lib/esm/appui-react/statusfields/message-center/MessageCenterMessage.scss +0 -2
  999. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.d.ts.map +1 -1
  1000. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js +1 -9
  1001. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  1002. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +1 -5
  1003. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  1004. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +17 -49
  1005. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  1006. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.scss +8 -27
  1007. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.d.ts.map +1 -1
  1008. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js +0 -11
  1009. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  1010. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.d.ts.map +1 -1
  1011. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +0 -6
  1012. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  1013. package/lib/esm/appui-react/theme/ThemeManager.d.ts.map +1 -1
  1014. package/lib/esm/appui-react/theme/ThemeManager.js +0 -1
  1015. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  1016. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.d.ts.map +1 -1
  1017. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js +0 -6
  1018. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  1019. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.d.ts.map +1 -1
  1020. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js +0 -1
  1021. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  1022. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.d.ts.map +1 -1
  1023. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js +0 -1
  1024. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  1025. package/lib/esm/appui-react/toolbar/ToolbarComposer.d.ts.map +1 -1
  1026. package/lib/esm/appui-react/toolbar/ToolbarComposer.js +3 -8
  1027. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  1028. package/lib/esm/appui-react/toolbar/ToolbarHelper.d.ts.map +1 -1
  1029. package/lib/esm/appui-react/toolbar/ToolbarHelper.js +0 -1
  1030. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  1031. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.d.ts.map +1 -1
  1032. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js +4 -18
  1033. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  1034. package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
  1035. package/lib/esm/appui-react/tools/CoreToolDefinitions.js +0 -1
  1036. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  1037. package/lib/esm/appui-react/tools/KeyinPaletteTools.d.ts.map +1 -1
  1038. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +0 -2
  1039. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  1040. package/lib/esm/appui-react/tools/OpenSettingsTool.d.ts.map +1 -1
  1041. package/lib/esm/appui-react/tools/OpenSettingsTool.js +0 -2
  1042. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  1043. package/lib/esm/appui-react/tools/RestoreLayoutTool.d.ts.map +1 -1
  1044. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +0 -2
  1045. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  1046. package/lib/esm/appui-react/tools/ToolSettingsTools.d.ts.map +1 -1
  1047. package/lib/esm/appui-react/tools/ToolSettingsTools.js +0 -1
  1048. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  1049. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.d.ts.map +1 -1
  1050. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js +0 -2
  1051. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  1052. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.d.ts.map +1 -1
  1053. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +0 -8
  1054. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  1055. package/lib/esm/appui-react/toolsettings/ToolInformation.d.ts.map +1 -1
  1056. package/lib/esm/appui-react/toolsettings/ToolInformation.js +0 -1
  1057. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  1058. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.d.ts.map +1 -1
  1059. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js +1 -3
  1060. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  1061. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js +1 -1
  1062. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  1063. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.d.ts.map +1 -1
  1064. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +0 -1
  1065. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  1066. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.d.ts.map +1 -1
  1067. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js +0 -1
  1068. package/lib/esm/appui-react/uiadmin/FrameworkUiAdmin.js.map +1 -1
  1069. package/lib/esm/appui-react/uiprovider/ComponentGenerator.d.ts.map +1 -1
  1070. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js +0 -12
  1071. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  1072. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.d.ts.map +1 -1
  1073. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js +3 -10
  1074. package/lib/esm/appui-react/uiprovider/DefaultDialogGridContainer.js.map +1 -1
  1075. package/lib/esm/appui-react/uistate/useUiStateStorage.d.ts.map +1 -1
  1076. package/lib/esm/appui-react/uistate/useUiStateStorage.js +0 -1
  1077. package/lib/esm/appui-react/uistate/useUiStateStorage.js.map +1 -1
  1078. package/lib/esm/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  1079. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +0 -1
  1080. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  1081. package/lib/esm/appui-react/utils/PropsHelper.d.ts.map +1 -1
  1082. package/lib/esm/appui-react/utils/PropsHelper.js +0 -2
  1083. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  1084. package/lib/esm/appui-react/utils/ToolbarButtonHelper.d.ts.map +1 -1
  1085. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js +0 -6
  1086. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  1087. package/lib/esm/appui-react/widget-panels/Content.d.ts.map +1 -1
  1088. package/lib/esm/appui-react/widget-panels/Content.js +7 -16
  1089. package/lib/esm/appui-react/widget-panels/Content.js.map +1 -1
  1090. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts +1 -4
  1091. package/lib/esm/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  1092. package/lib/esm/appui-react/widget-panels/Frontstage.js +1 -76
  1093. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  1094. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.d.ts.map +1 -1
  1095. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js +1 -3
  1096. package/lib/esm/appui-react/widget-panels/ModalFrontstageComposer.js.map +1 -1
  1097. package/lib/esm/appui-react/widget-panels/StatusBar.d.ts.map +1 -1
  1098. package/lib/esm/appui-react/widget-panels/StatusBar.js +3 -1
  1099. package/lib/esm/appui-react/widget-panels/StatusBar.js.map +1 -1
  1100. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts +1 -1
  1101. package/lib/esm/appui-react/widget-panels/ToolSettings.d.ts.map +1 -1
  1102. package/lib/esm/appui-react/widget-panels/Toolbars.d.ts.map +1 -1
  1103. package/lib/esm/appui-react/widget-panels/Toolbars.js +2 -1
  1104. package/lib/esm/appui-react/widget-panels/Toolbars.js.map +1 -1
  1105. package/lib/esm/appui-react/widget-panels/useSaveFrontstageSettings.d.ts +8 -0
  1106. package/lib/esm/appui-react/widget-panels/useSaveFrontstageSettings.d.ts.map +1 -0
  1107. package/lib/esm/appui-react/widget-panels/useSaveFrontstageSettings.js +51 -0
  1108. package/lib/esm/appui-react/widget-panels/useSaveFrontstageSettings.js.map +1 -0
  1109. package/lib/esm/appui-react/widgets/BasicNavigationWidget.d.ts.map +1 -1
  1110. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js +0 -1
  1111. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  1112. package/lib/esm/appui-react/widgets/BasicToolWidget.d.ts.map +1 -1
  1113. package/lib/esm/appui-react/widgets/BasicToolWidget.js +0 -1
  1114. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  1115. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.d.ts.map +1 -1
  1116. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js +0 -1
  1117. package/lib/esm/appui-react/widgets/ContentToolWidgetComposer.js.map +1 -1
  1118. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.d.ts.map +1 -1
  1119. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js +5 -19
  1120. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  1121. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.d.ts.map +1 -1
  1122. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js +0 -1
  1123. package/lib/esm/appui-react/widgets/ViewToolWidgetComposer.js.map +1 -1
  1124. package/lib/esm/appui-react/widgets/Widget.d.ts +3 -1
  1125. package/lib/esm/appui-react/widgets/Widget.d.ts.map +1 -1
  1126. package/lib/esm/appui-react/widgets/Widget.js.map +1 -1
  1127. package/lib/esm/appui-react/widgets/WidgetDef.d.ts.map +1 -1
  1128. package/lib/esm/appui-react/widgets/WidgetDef.js +0 -5
  1129. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  1130. package/lib/esm/appui-react.d.ts +1 -0
  1131. package/lib/esm/appui-react.d.ts.map +1 -1
  1132. package/lib/esm/appui-react.js +1 -0
  1133. package/lib/esm/appui-react.js.map +1 -1
  1134. package/package.json +15 -17
  1135. package/lib/cjs/appui-react/layout/base/Ellipsis.d.ts +0 -11
  1136. package/lib/cjs/appui-react/layout/base/Ellipsis.d.ts.map +0 -1
  1137. package/lib/cjs/appui-react/layout/base/Ellipsis.js +0 -25
  1138. package/lib/cjs/appui-react/layout/base/Ellipsis.js.map +0 -1
  1139. package/lib/cjs/appui-react/layout/footer/Indicator.d.ts +0 -23
  1140. package/lib/cjs/appui-react/layout/footer/Indicator.d.ts.map +0 -1
  1141. package/lib/cjs/appui-react/layout/footer/Indicator.js +0 -23
  1142. package/lib/cjs/appui-react/layout/footer/Indicator.js.map +0 -1
  1143. package/lib/cjs/appui-react/layout/footer/Indicator.scss +0 -39
  1144. package/lib/cjs/appui-react/layout/footer/_variables.scss +0 -41
  1145. package/lib/cjs/appui-react/layout/footer/dialog/Button.d.ts +0 -23
  1146. package/lib/cjs/appui-react/layout/footer/dialog/Button.d.ts.map +0 -1
  1147. package/lib/cjs/appui-react/layout/footer/dialog/Button.js +0 -25
  1148. package/lib/cjs/appui-react/layout/footer/dialog/Button.js.map +0 -1
  1149. package/lib/cjs/appui-react/layout/footer/snap-mode/Indicator.d.ts +0 -27
  1150. package/lib/cjs/appui-react/layout/footer/snap-mode/Indicator.d.ts.map +0 -1
  1151. package/lib/cjs/appui-react/layout/footer/snap-mode/Indicator.js +0 -29
  1152. package/lib/cjs/appui-react/layout/footer/snap-mode/Indicator.js.map +0 -1
  1153. package/lib/cjs/appui-react/layout/footer/snap-mode/Indicator.scss +0 -44
  1154. package/lib/cjs/appui-react/layout/footer/tool-assistance/Indicator.d.ts +0 -27
  1155. package/lib/cjs/appui-react/layout/footer/tool-assistance/Indicator.d.ts.map +0 -1
  1156. package/lib/cjs/appui-react/layout/footer/tool-assistance/Indicator.js +0 -30
  1157. package/lib/cjs/appui-react/layout/footer/tool-assistance/Indicator.js.map +0 -1
  1158. package/lib/cjs/appui-react/layout/footer/tool-assistance/Indicator.scss +0 -80
  1159. package/lib/cjs/appui-react/statusbar/OverflowPanel.d.ts +0 -21
  1160. package/lib/cjs/appui-react/statusbar/OverflowPanel.d.ts.map +0 -1
  1161. package/lib/cjs/appui-react/statusbar/OverflowPanel.js +0 -23
  1162. package/lib/cjs/appui-react/statusbar/OverflowPanel.js.map +0 -1
  1163. package/lib/cjs/appui-react/statusbar/OverflowPanel.scss +0 -23
  1164. package/lib/esm/appui-react/layout/base/Ellipsis.d.ts +0 -11
  1165. package/lib/esm/appui-react/layout/base/Ellipsis.d.ts.map +0 -1
  1166. package/lib/esm/appui-react/layout/base/Ellipsis.js +0 -21
  1167. package/lib/esm/appui-react/layout/base/Ellipsis.js.map +0 -1
  1168. package/lib/esm/appui-react/layout/footer/Indicator.d.ts +0 -23
  1169. package/lib/esm/appui-react/layout/footer/Indicator.d.ts.map +0 -1
  1170. package/lib/esm/appui-react/layout/footer/Indicator.js +0 -20
  1171. package/lib/esm/appui-react/layout/footer/Indicator.js.map +0 -1
  1172. package/lib/esm/appui-react/layout/footer/Indicator.scss +0 -39
  1173. package/lib/esm/appui-react/layout/footer/_variables.scss +0 -41
  1174. package/lib/esm/appui-react/layout/footer/dialog/Button.d.ts +0 -23
  1175. package/lib/esm/appui-react/layout/footer/dialog/Button.d.ts.map +0 -1
  1176. package/lib/esm/appui-react/layout/footer/dialog/Button.js +0 -21
  1177. package/lib/esm/appui-react/layout/footer/dialog/Button.js.map +0 -1
  1178. package/lib/esm/appui-react/layout/footer/snap-mode/Indicator.d.ts +0 -27
  1179. package/lib/esm/appui-react/layout/footer/snap-mode/Indicator.d.ts.map +0 -1
  1180. package/lib/esm/appui-react/layout/footer/snap-mode/Indicator.js +0 -25
  1181. package/lib/esm/appui-react/layout/footer/snap-mode/Indicator.js.map +0 -1
  1182. package/lib/esm/appui-react/layout/footer/snap-mode/Indicator.scss +0 -44
  1183. package/lib/esm/appui-react/layout/footer/tool-assistance/Indicator.d.ts +0 -27
  1184. package/lib/esm/appui-react/layout/footer/tool-assistance/Indicator.d.ts.map +0 -1
  1185. package/lib/esm/appui-react/layout/footer/tool-assistance/Indicator.js +0 -26
  1186. package/lib/esm/appui-react/layout/footer/tool-assistance/Indicator.js.map +0 -1
  1187. package/lib/esm/appui-react/layout/footer/tool-assistance/Indicator.scss +0 -80
  1188. package/lib/esm/appui-react/statusbar/OverflowPanel.d.ts +0 -21
  1189. package/lib/esm/appui-react/statusbar/OverflowPanel.d.ts.map +0 -1
  1190. package/lib/esm/appui-react/statusbar/OverflowPanel.js +0 -19
  1191. package/lib/esm/appui-react/statusbar/OverflowPanel.js.map +0 -1
  1192. package/lib/esm/appui-react/statusbar/OverflowPanel.scss +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"SendBack.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/SendBack.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport * as React from \"react\";\nimport { create } from \"zustand\";\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n SvgDockBottom,\n SvgDockLeft,\n SvgDockRight,\n SvgDockTop,\n} from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId, useWidgetAllowedToDock } from \"./FloatingWidget\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { getWidgetPanelSectionId } from \"../state/PanelState\";\nimport type { NineZoneState } from \"../state/NineZoneState\";\nimport { useIsToolSettingsTab } from \"./useIsToolSettingsTab\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport const useActiveSendBackWidgetIdStore = create<\n WidgetState[\"id\"] | undefined\n>(() => undefined);\n\n/** @internal */\nexport function getSendBackHomeState(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"]\n) {\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n const home = floatingWidget.home;\n const panel = state.panels[home.side];\n const destinationWidgetId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(panel.side, home.widgetIndex);\n\n let destinationWidget = state.widgets[destinationWidgetId];\n\n if (!destinationWidget && panel.widgets.length === panel.maxWidgetCount) {\n const id = panel.widgets[home.widgetIndex];\n destinationWidget = state.widgets[id];\n }\n\n // Widget would be added to an existing panel widget.\n if (destinationWidget) {\n return {\n side: home.side,\n widgetId: destinationWidget.id,\n };\n }\n\n // Widget would be added to a panel as it's first panel widget.\n if (panel.widgets.length === 0) {\n return {\n side: home.side,\n };\n }\n\n // Widget would be added to a panel with an existing panel widget as a separate panel widget.\n return {\n side: home.side,\n sectionIndex: destinationWidgetId.endsWith(\"End\") ? 1 : 0,\n };\n}\n\n/** @internal */\nexport function useSendBackHomeState() {\n const widgetId = useActiveSendBackWidgetIdStore((state) => state);\n return useLayout((state) =>\n widgetId ? getSendBackHomeState(state, widgetId) : undefined\n );\n}\n\nfunction Icon() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const home = useLayout((state) => state.floatingWidgets.byId[id].home);\n return home.side === \"left\" ? (\n <SvgDockLeft />\n ) : home.side === \"right\" ? (\n <SvgDockRight />\n ) : home.side === \"top\" ? (\n <SvgDockTop />\n ) : (\n <SvgDockBottom />\n );\n}\n\n/** @internal */\nexport function SendBack() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const title = useLabel(\"sendWidgetHomeTitle\");\n const setActiveWidgetId = (newId: WidgetState[\"id\"] | undefined) =>\n useActiveSendBackWidgetIdStore.setState(newId);\n\n const onClick = () => {\n setActiveWidgetId(undefined);\n dispatch({\n type: \"FLOATING_WIDGET_SEND_BACK\",\n id,\n });\n };\n const onMouseOver = () => {\n setActiveWidgetId(id);\n };\n const onFocus = () => {\n setActiveWidgetId(id);\n };\n const onMouseOut = () => {\n setActiveWidgetId(undefined);\n };\n const onBlur = () => {\n setActiveWidgetId(undefined);\n };\n const eventHandlers = { onMouseOver, onFocus, onMouseOut, onBlur };\n return (\n <ActionButton\n icon={<Icon />}\n title={title}\n onClick={onClick}\n buttonProps={eventHandlers}\n // TODO: can not pass down event handlers due to iTwinUI type issues.\n menuProps={eventHandlers as any}\n />\n );\n}\n\n/** @internal */\nexport function useSendBack() {\n const maximizedWidget = useIsMaximizedWidget();\n const isToolSettings = useIsToolSettingsTab();\n const isFloatingWidget = !!useFloatingWidgetId();\n const canBeDocked = useWidgetAllowedToDock();\n\n return !maximizedWidget && isFloatingWidget && !isToolSettings && canBeDocked;\n}\n"]}
1
+ {"version":3,"file":"SendBack.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/SendBack.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport * as React from \"react\";\nimport { create } from \"zustand\";\nimport { assert } from \"@itwin/core-bentley\";\nimport {\n SvgDockBottom,\n SvgDockLeft,\n SvgDockRight,\n SvgDockTop,\n} from \"@itwin/itwinui-icons-react\";\nimport { NineZoneDispatchContext, useLabel } from \"../base/NineZone\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useFloatingWidgetId, useWidgetAllowedToDock } from \"./FloatingWidget\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { getWidgetPanelSectionId } from \"../state/PanelState\";\nimport type { NineZoneState } from \"../state/NineZoneState\";\nimport { useIsToolSettingsTab } from \"./useIsToolSettingsTab\";\nimport { ActionButton } from \"../../preview/widget-action-dropdown/Button\";\nimport { useIsMaximizedWidget } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport const useActiveSendBackWidgetIdStore = create<\n WidgetState[\"id\"] | undefined\n>(() => undefined);\n\n/** @internal */\nexport function getSendBackHomeState(\n state: NineZoneState,\n widgetId: WidgetState[\"id\"]\n) {\n const floatingWidget = state.floatingWidgets.byId[widgetId];\n const home = floatingWidget.home;\n const panel = state.panels[home.side];\n const destinationWidgetId = home.widgetId\n ? home.widgetId\n : getWidgetPanelSectionId(panel.side, home.widgetIndex);\n\n let destinationWidget = state.widgets[destinationWidgetId];\n\n if (!destinationWidget && panel.widgets.length === panel.maxWidgetCount) {\n const id = panel.widgets[home.widgetIndex];\n destinationWidget = state.widgets[id];\n }\n\n // Widget would be added to an existing panel widget.\n if (destinationWidget) {\n return {\n side: home.side,\n widgetId: destinationWidget.id,\n };\n }\n\n // Widget would be added to a panel as it's first panel widget.\n if (panel.widgets.length === 0) {\n return {\n side: home.side,\n };\n }\n\n // Widget would be added to a panel with an existing panel widget as a separate panel widget.\n return {\n side: home.side,\n sectionIndex: destinationWidgetId.endsWith(\"End\") ? 1 : 0,\n };\n}\n\n/** @internal */\nexport function useSendBackHomeState() {\n const widgetId = useActiveSendBackWidgetIdStore((state) => state);\n return useLayout((state) =>\n widgetId ? getSendBackHomeState(state, widgetId) : undefined\n );\n}\n\nfunction Icon() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const home = useLayout((state) => state.floatingWidgets.byId[id].home);\n return home.side === \"left\" ? (\n <SvgDockLeft />\n ) : home.side === \"right\" ? (\n <SvgDockRight />\n ) : home.side === \"top\" ? (\n <SvgDockTop />\n ) : (\n <SvgDockBottom />\n );\n}\n\n/** @internal */\nexport function SendBack() {\n const id = useFloatingWidgetId();\n assert(!!id);\n const dispatch = React.useContext(NineZoneDispatchContext);\n const label = useLabel(\"sendWidgetHomeTitle\");\n const setActiveWidgetId = (newId: WidgetState[\"id\"] | undefined) =>\n useActiveSendBackWidgetIdStore.setState(newId);\n\n const onClick = () => {\n setActiveWidgetId(undefined);\n dispatch({\n type: \"FLOATING_WIDGET_SEND_BACK\",\n id,\n });\n };\n const onMouseOver = () => {\n setActiveWidgetId(id);\n };\n const onFocus = () => {\n setActiveWidgetId(id);\n };\n const onMouseOut = () => {\n setActiveWidgetId(undefined);\n };\n const onBlur = () => {\n setActiveWidgetId(undefined);\n };\n const eventHandlers = { onMouseOver, onFocus, onMouseOut, onBlur };\n return (\n <ActionButton\n icon={<Icon />}\n label={label}\n onClick={onClick}\n buttonProps={eventHandlers}\n // TODO: can not pass down event handlers due to iTwinUI type issues.\n menuProps={eventHandlers as any}\n />\n );\n}\n\n/** @internal */\nexport function useSendBack() {\n const maximizedWidget = useIsMaximizedWidget();\n const isToolSettings = useIsToolSettingsTab();\n const isFloatingWidget = !!useFloatingWidgetId();\n const canBeDocked = useWidgetAllowedToDock();\n\n return !maximizedWidget && isFloatingWidget && !isToolSettings && canBeDocked;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAsBlD,gBAAgB;AAChB,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,aAAa,EACb,IAAI,EACJ,eAAe,GAChB,EAAE,sBAAsB,qBAmBxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAK9C;AAkED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,EACxD,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,4CAwLxB;AAED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,uCAE9B,CAAC;AAGF,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,wBAAsC,CAAC"}
1
+ {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Tab.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,YAAY,CAAC;AAEpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAsBlD,gBAAgB;AAChB,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,gBAAgB;AAChB,wBAAgB,iBAAiB,CAAC,EAChC,EAAE,EACF,KAAK,EACL,aAAa,EACb,IAAI,EACJ,eAAe,GAChB,EAAE,sBAAsB,qBAmBxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,qBAK9C;AAkED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,WAAW,EAAE,EACxD,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,GACV,EAAE,sBAAsB,4CAoLxB;AAED,gBAAgB;AAChB,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,uCAE9B,CAAC;AAGF,gBAAgB;AAChB,eAAO,MAAM,0BAA0B,wBAAsC,CAAC"}
@@ -107,7 +107,6 @@ export function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickO
107
107
  onClick?.();
108
108
  }, [dispatch, widgetId, id, side, onClick]);
109
109
  const handleDoubleClick = React.useCallback(() => {
110
- // istanbul ignore next (preview)
111
110
  if (clickOnly)
112
111
  return;
113
112
  dispatch({
@@ -131,7 +130,6 @@ export function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickO
131
130
  tabId: id,
132
131
  });
133
132
  const handleDragStart = React.useCallback((pointerPosition) => {
134
- // istanbul ignore next (preview)
135
133
  if (clickOnly)
136
134
  return;
137
135
  assert(!!ref.current);
@@ -142,8 +140,7 @@ export function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickO
142
140
  bounds = bounds.offset(nzOffset);
143
141
  const tab = tabRef.current;
144
142
  const userSized = tab.userSized ||
145
- (tab.isFloatingWidgetResizable &&
146
- /* istanbul ignore next */ !!tab.preferredFloatingWidgetSize);
143
+ (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize);
147
144
  let position = bounds.topLeft();
148
145
  const widgetBounds = widgetContext.measure();
149
146
  const widgetSize = restrainInitialWidgetSize(widgetBounds.getSize(), nzBounds.getSize());
@@ -192,7 +189,6 @@ export function useTabInteractions({ onClick, onDoubleClick, onDragStart, clickO
192
189
  initialPointerPosition.current = new Point(args.clientX, args.clientY);
193
190
  }, [dispatch, floatingWidgetId]);
194
191
  const handlePointerMove = React.useCallback((args) => {
195
- // istanbul ignore next
196
192
  if (!initialPointerPosition.current)
197
193
  return;
198
194
  const pointerPosition = new Point(args.clientX, args.clientY);
@@ -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 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 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 && !!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 if (!initialPointerPosition.current) return;\n\n const pointerPosition = new Point(args.clientX, args.clientY);\n const distance =\n initialPointerPosition.current.getDistanceTo(pointerPosition);\n if (distance < 10) return;\n handleDragStart(pointerPosition);\n },\n [handleDragStart]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n initialPointerPosition.current = undefined;\n doubleClickTimer.current.start();\n }, []);\n\n const pointerCaptorRef = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n const ref = React.useRef<T>();\n const refs = useRefs(pointerCaptorRef, ref);\n\n React.useEffect(() => {\n const timer = doubleClickTimer.current;\n timer.setOnExecute(() => {\n if (clickCount.current === 1) handleClick();\n else handleDoubleClick();\n clickCount.current = 0;\n });\n const keydown = (e: KeyboardEvent) => {\n if (e.key === \" \" || e.key === Key.Enter.valueOf()) {\n handleClick();\n }\n };\n const instance = ref.current;\n instance && instance.addEventListener(\"keydown\", keydown);\n return () => {\n timer.setOnExecute(undefined);\n instance && instance.removeEventListener(\"keydown\", keydown);\n };\n }, [handleClick, handleDoubleClick]);\n return refs;\n}\n\n/** @internal */\nexport interface TabPositionContextArgs {\n first?: boolean;\n last?: boolean;\n firstInactive?: boolean;\n}\n\n/** @internal */\nexport const TabPositionContext = React.createContext<TabPositionContextArgs>(\n undefined!\n);\nTabPositionContext.displayName = \"nz:TabPositionContext\";\n\n/** @internal */\nexport const IconOnlyOnWidgetTabContext = React.createContext<boolean>(false);\nIconOnlyOnWidgetTabContext.displayName = \"nz:IconOnlyOnWidgetTabContext\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAC;AAgBjD,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAmFpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,EAC3C,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,KAAK,IAAI,EAC7E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,EAClC,SAAS,CAAC,EAAE,MAAM,IAAI,EACtB,YAAY,CAAC,EAAE,MAAM,IAAI,EACzB,aAAa,CAAC,EAAE,MAAM,IAAI,gCAqD3B"}
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAEvB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,KAAK,EAAS,MAAM,mBAAmB,CAAC;AAgBjD,gBAAgB;AAChB,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAmFpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,EAC3C,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,KAAK,IAAI,EAC7E,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,EAClC,SAAS,CAAC,EAAE,MAAM,IAAI,EACtB,YAAY,CAAC,EAAE,MAAM,IAAI,EACzB,aAAa,CAAC,EAAE,MAAM,IAAI,gCAoD3B"}
@@ -89,7 +89,6 @@ export function useDrag(onDragStart, onDrag, onDragEnd, onTouchStart, onDoubleCl
89
89
  const initialPointerPosition = React.useRef();
90
90
  React.useEffect(() => {
91
91
  const handleExecute = () => {
92
- // istanbul ignore else
93
92
  if (clickCount.current === 2)
94
93
  onDoubleClick && onDoubleClick();
95
94
  clickCount.current = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./TabBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Point, Timer } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { TabBarButtons } from \"./Buttons\";\nimport { WidgetTabs } from \"./Tabs\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useDoubleClick } from \"../widget-panels/Grip\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { useMaximizedWidgetTabBarHandle } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabBarProps {\n separator?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabBar(props: WidgetTabBarProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = React.useContext(WidgetIdContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const handleDoubleClick = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const handleActionAreaClick = useDoubleClick(handleDoubleClick);\n\n const onDrag = React.useCallback<NonNullable<UseDragWidgetArgs[\"onDrag\"]>>(\n (dragBy) => {\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG\",\n dragBy,\n floatingWidgetId,\n });\n },\n [dispatch, floatingWidgetId]\n );\n const onDragEnd = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragEnd\"]>\n >(\n (target) => {\n floatingWidgetId !== undefined && handleActionAreaClick();\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG_END\",\n floatingWidgetId,\n target,\n });\n },\n [dispatch, floatingWidgetId, handleActionAreaClick]\n );\n const handleWidgetDragStart = useDragWidget({\n widgetId,\n onDrag,\n onDragEnd,\n });\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point, pointerPosition: Point) => {\n handleWidgetDragStart({\n initialPointerPosition,\n pointerPosition,\n });\n },\n [handleWidgetDragStart]\n );\n const handleTouchStart = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const ref = useDrag(\n handleDragStart,\n undefined,\n undefined,\n handleTouchStart,\n handleDoubleClick\n );\n const maximizedWidgetHandle = useMaximizedWidgetTabBarHandle();\n const className = classnames(\n \"nz-widget-tabBar\",\n props.separator && \"nz-separator\"\n );\n const handleClassName = classnames(\"nz-handle\", maximizedWidgetHandle);\n return (\n <div ref={containerRef} className={className}>\n <div className={handleClassName} ref={ref} />\n <WidgetTabs />\n <TabBarButtons />\n </div>\n );\n}\n\n/** Hook to control drag interactions.\n * Starts drag interaction after pointer moves or after timeout.\n * @internal\n */\nexport function useDrag<T extends HTMLElement>(\n onDragStart?: (initialPointerPosition: Point, pointerPosition: Point) => void,\n onDrag?: (position: Point) => void,\n onDragEnd?: () => void,\n onTouchStart?: () => void,\n onDoubleClick?: () => void\n) {\n const doubleClickTimer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n const initialPointerPosition = React.useRef<Point>();\n\n React.useEffect(() => {\n const handleExecute = () => {\n // istanbul ignore else\n if (clickCount.current === 2) onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n };\n const timer = doubleClickTimer.current;\n timer.setOnExecute(handleExecute);\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [onDoubleClick]);\n\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n e.type === \"touchstart\" && onTouchStart && onTouchStart();\n },\n [onTouchStart]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (initialPointerPosition.current) {\n onDragStart &&\n onDragStart(\n initialPointerPosition.current,\n new Point(args.clientX, args.clientY)\n );\n initialPointerPosition.current = undefined;\n return;\n }\n onDrag && onDrag(new Point(args.clientX, args.clientY));\n },\n [onDragStart, onDrag]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n doubleClickTimer.current.start();\n initialPointerPosition.current = undefined;\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const ref = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n return ref;\n}\n"]}
1
+ {"version":3,"file":"TabBar.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/TabBar.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./TabBar.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { Point, Timer } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport { NineZoneDispatchContext } from \"../base/NineZone\";\nimport type {\n PointerCaptorArgs,\n PointerCaptorEvent,\n} from \"../base/usePointerCaptor\";\nimport { usePointerCaptor } from \"../base/usePointerCaptor\";\nimport { TabBarButtons } from \"./Buttons\";\nimport { WidgetTabs } from \"./Tabs\";\nimport { WidgetIdContext } from \"./Widget\";\nimport { useDoubleClick } from \"../widget-panels/Grip\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\nimport { useMaximizedWidgetTabBarHandle } from \"../../preview/enable-maximized-widget/useMaximizedWidget\";\n\n/** @internal */\nexport interface WidgetTabBarProps {\n separator?: boolean;\n}\n\n/** @internal */\nexport function WidgetTabBar(props: WidgetTabBarProps) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const id = React.useContext(WidgetIdContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const handleDoubleClick = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const handleActionAreaClick = useDoubleClick(handleDoubleClick);\n\n const onDrag = React.useCallback<NonNullable<UseDragWidgetArgs[\"onDrag\"]>>(\n (dragBy) => {\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG\",\n dragBy,\n floatingWidgetId,\n });\n },\n [dispatch, floatingWidgetId]\n );\n const onDragEnd = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragEnd\"]>\n >(\n (target) => {\n floatingWidgetId !== undefined && handleActionAreaClick();\n floatingWidgetId !== undefined &&\n dispatch({\n type: \"WIDGET_DRAG_END\",\n floatingWidgetId,\n target,\n });\n },\n [dispatch, floatingWidgetId, handleActionAreaClick]\n );\n const handleWidgetDragStart = useDragWidget({\n widgetId,\n onDrag,\n onDragEnd,\n });\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n const handleDragStart = React.useCallback(\n (initialPointerPosition: Point, pointerPosition: Point) => {\n handleWidgetDragStart({\n initialPointerPosition,\n pointerPosition,\n });\n },\n [handleWidgetDragStart]\n );\n const handleTouchStart = React.useCallback(() => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n }, [dispatch, floatingWidgetId]);\n const ref = useDrag(\n handleDragStart,\n undefined,\n undefined,\n handleTouchStart,\n handleDoubleClick\n );\n const maximizedWidgetHandle = useMaximizedWidgetTabBarHandle();\n const className = classnames(\n \"nz-widget-tabBar\",\n props.separator && \"nz-separator\"\n );\n const handleClassName = classnames(\"nz-handle\", maximizedWidgetHandle);\n return (\n <div ref={containerRef} className={className}>\n <div className={handleClassName} ref={ref} />\n <WidgetTabs />\n <TabBarButtons />\n </div>\n );\n}\n\n/** Hook to control drag interactions.\n * Starts drag interaction after pointer moves or after timeout.\n * @internal\n */\nexport function useDrag<T extends HTMLElement>(\n onDragStart?: (initialPointerPosition: Point, pointerPosition: Point) => void,\n onDrag?: (position: Point) => void,\n onDragEnd?: () => void,\n onTouchStart?: () => void,\n onDoubleClick?: () => void\n) {\n const doubleClickTimer = React.useRef(new Timer(300));\n const clickCount = React.useRef(0);\n const initialPointerPosition = React.useRef<Point>();\n\n React.useEffect(() => {\n const handleExecute = () => {\n if (clickCount.current === 2) onDoubleClick && onDoubleClick();\n clickCount.current = 0;\n };\n const timer = doubleClickTimer.current;\n timer.setOnExecute(handleExecute);\n return () => {\n timer.setOnExecute(undefined);\n };\n }, [onDoubleClick]);\n\n const handlePointerDown = React.useCallback(\n (args: PointerCaptorArgs, e: PointerCaptorEvent) => {\n initialPointerPosition.current = new Point(args.clientX, args.clientY);\n e.type === \"touchstart\" && onTouchStart && onTouchStart();\n },\n [onTouchStart]\n );\n const handlePointerMove = React.useCallback(\n (args: PointerCaptorArgs) => {\n if (initialPointerPosition.current) {\n onDragStart &&\n onDragStart(\n initialPointerPosition.current,\n new Point(args.clientX, args.clientY)\n );\n initialPointerPosition.current = undefined;\n return;\n }\n onDrag && onDrag(new Point(args.clientX, args.clientY));\n },\n [onDragStart, onDrag]\n );\n const handlePointerUp = React.useCallback(() => {\n clickCount.current++;\n doubleClickTimer.current.start();\n initialPointerPosition.current = undefined;\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const ref = usePointerCaptor<T>(\n handlePointerDown,\n handlePointerMove,\n handlePointerUp\n );\n return ref;\n}\n"]}
@@ -1 +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,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"}
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,oFA4HlB,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"}
@@ -31,7 +31,6 @@ export const Widget = React.forwardRef(function Widget(props, forwardedRef) {
31
31
  const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {
32
32
  const widget = getWidgetState(state, id);
33
33
  const tab = state.tabs[widget.activeTabId];
34
- // istanbul ignore next
35
34
  return {
36
35
  preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,
37
36
  userSized: tab.userSized ||
@@ -93,15 +92,12 @@ export const Widget = React.forwardRef(function Widget(props, forwardedRef) {
93
92
  });
94
93
  };
95
94
  const element = elementRef.current;
96
- // istanbul ignore next
97
95
  element?.addEventListener("click", listener);
98
96
  return () => {
99
- // istanbul ignore next
100
97
  element?.removeEventListener("click", listener);
101
98
  };
102
99
  }, [dispatch, floatingWidgetId]);
103
100
  const measure = React.useCallback(() => {
104
- // istanbul ignore next
105
101
  if (!elementRef.current)
106
102
  return new Rectangle();
107
103
  const bounds = elementRef.current.getBoundingClientRect();
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n // istanbul ignore next\n return {\n preferredFloatingWidgetSize: tab.preferredFloatingWidgetSize,\n userSized:\n tab.userSized ||\n (tab.isFloatingWidgetResizable && !!tab.preferredFloatingWidgetSize),\n };\n }, true);\n const elementRef = React.useRef<HTMLDivElement>(null);\n const widgetId = floatingWidgetId === undefined ? id : floatingWidgetId;\n const onDragStart = React.useCallback<\n NonNullable<UseDragWidgetArgs[\"onDragStart\"]>\n >(\n (updateId, initialPointerPosition, pointerPosition) => {\n assert(!!elementRef.current);\n if (floatingWidgetId !== undefined) return;\n const nzBounds = measureNz();\n let bounds = Rectangle.create(\n elementRef.current.getBoundingClientRect()\n );\n\n const size = restrainInitialWidgetSize(\n bounds.getSize(),\n nzBounds.getSize()\n );\n bounds = bounds.setSize(size);\n\n if (preferredFloatingWidgetSize) {\n bounds = bounds.setSize(preferredFloatingWidgetSize);\n }\n\n // Pointer is outside of tab area. Need to re-adjust widget bounds so that tab is behind pointer\n if (initialPointerPosition.x > bounds.right) {\n const offset = initialPointerPosition.x - bounds.right + 20;\n bounds = bounds.offsetX(offset);\n }\n\n const dragOffset = initialPointerPosition.getOffsetTo(pointerPosition);\n bounds = bounds.offset(dragOffset);\n\n // Adjust bounds to be relative to 9z origin\n bounds = bounds.offset({ x: -nzBounds.left, y: -nzBounds.top });\n\n const newFloatingWidgetId = getUniqueId();\n updateId(newFloatingWidgetId);\n\n assert(!!side);\n dispatch({\n type: \"PANEL_WIDGET_DRAG_START\",\n newFloatingWidgetId,\n id,\n bounds,\n side,\n userSized,\n });\n },\n [\n dispatch,\n floatingWidgetId,\n id,\n side,\n measureNz,\n preferredFloatingWidgetSize,\n userSized,\n ]\n );\n useDragWidget({\n widgetId,\n onDragStart,\n });\n React.useEffect(() => {\n const listener = () => {\n floatingWidgetId &&\n dispatch({\n type: \"FLOATING_WIDGET_BRING_TO_FRONT\",\n id: floatingWidgetId,\n });\n };\n const element = elementRef.current;\n // istanbul ignore next\n element?.addEventListener(\"click\", listener);\n return () => {\n // istanbul ignore next\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n // istanbul ignore next\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
1
+ {"version":3,"file":"Widget.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget/Widget.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Widget\n */\n\nimport \"./Widget.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport type { CommonProps, SizeProps } from \"@itwin/core-react\";\nimport { Rectangle, useRefs } from \"@itwin/core-react\";\nimport type { UseDragWidgetArgs } from \"../base/DragManager\";\nimport { useDragWidget } from \"../base/DragManager\";\nimport {\n getUniqueId,\n MeasureContext,\n NineZoneDispatchContext,\n} from \"../base/NineZone\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport { PanelSideContext } from \"../widget-panels/Panel\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { getWidgetState } from \"../state/internal/WidgetStateHelpers\";\nimport { useFloatingWidgetId } from \"./FloatingWidget\";\n\n/** @internal */\nexport interface WidgetProviderProps {\n id: WidgetState[\"id\"];\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function WidgetProvider(props: WidgetProviderProps) {\n return (\n <WidgetIdContext.Provider value={props.id}>\n {props.children}\n </WidgetIdContext.Provider>\n );\n}\n\n/** @internal */\nexport interface WidgetProps extends CommonProps {\n children?: React.ReactNode;\n onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onMouseLeave?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;\n onTransitionEnd?(): void;\n widgetId?: string;\n}\n\n/** @internal */\nexport const Widget = React.forwardRef<HTMLDivElement, WidgetProps>(\n function Widget(props, forwardedRef) {\n const dispatch = React.useContext(NineZoneDispatchContext);\n const side = React.useContext(PanelSideContext);\n const id = React.useContext(WidgetIdContext);\n const measureNz = React.useContext(MeasureContext);\n const floatingWidgetId = useFloatingWidgetId();\n assert(!!id);\n const { preferredFloatingWidgetSize, userSized } = useLayout((state) => {\n const widget = getWidgetState(state, id);\n const tab = state.tabs[widget.activeTabId];\n 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 element?.addEventListener(\"click\", listener);\n return () => {\n element?.removeEventListener(\"click\", listener);\n };\n }, [dispatch, floatingWidgetId]);\n const measure = React.useCallback<WidgetContextArgs[\"measure\"]>(() => {\n if (!elementRef.current) return new Rectangle();\n const bounds = elementRef.current.getBoundingClientRect();\n return Rectangle.create(bounds);\n }, []);\n const widgetContextValue = React.useMemo<WidgetContextArgs>(\n () => ({\n measure,\n }),\n [measure]\n );\n\n const ref = useRefs(forwardedRef, elementRef);\n const className = classnames(\"nz-widget-widget\", props.className);\n return (\n <WidgetContext.Provider value={widgetContextValue}>\n <div\n className={className}\n onMouseEnter={props.onMouseEnter}\n onMouseLeave={props.onMouseLeave}\n onTransitionEnd={props.onTransitionEnd}\n ref={ref}\n style={props.style}\n data-widget-id={props.widgetId}\n >\n {props.children}\n </div>\n </WidgetContext.Provider>\n );\n }\n);\n\n/** @internal */\nexport const WidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nWidgetIdContext.displayName = \"nz:WidgetIdContext\";\n\n/** @internal */\nexport interface WidgetContextArgs {\n measure: () => Rectangle;\n}\n\n/** @internal */\nexport const WidgetContext = React.createContext<WidgetContextArgs>(null!);\nWidgetContext.displayName = \"nz:WidgetContext\";\n\nconst minWidth = 200;\nconst minHeight = 200;\n\n/** @internal */\nexport function restrainInitialWidgetSize(\n size: SizeProps,\n nzSize: SizeProps\n): SizeProps {\n const width = Math.max(Math.min(nzSize.width / 3, size.width), minWidth);\n const height = Math.max(Math.min(nzSize.height / 3, size.height), minHeight);\n return {\n width,\n height,\n };\n}\n\n/** @internal */\nexport function useActiveTabId() {\n const id = React.useContext(WidgetIdContext);\n assert(!!id);\n return useLayout((state) => {\n const widget = getWidgetState(state, id);\n return widget.activeTabId;\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelSections.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/PanelSections.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuH/B,gBAAgB;AAChB,wBAAgB,aAAa,sBAsB5B"}
1
+ {"version":3,"file":"PanelSections.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/PanelSections.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsH/B,gBAAgB;AAChB,wBAAgB,aAAa,sBAsB5B"}
@@ -14,7 +14,6 @@ import { PanelWidget } from "../widget/PanelWidget";
14
14
  import { useLayout } from "../base/LayoutStore";
15
15
  import { isHorizontalPanelSide, PanelSideContext } from "./Panel";
16
16
  import { useMaximizedPanel, useMaximizedSection, } from "../../preview/enable-maximized-widget/useMaximizedWidget";
17
- // istanbul ignore next
18
17
  function PanelSplitter() {
19
18
  const dispatch = React.useContext(NineZoneDispatchContext);
20
19
  const side = React.useContext(PanelSideContext);
@@ -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\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 +1 @@
1
- {"version":3,"file":"useAnimatePanel.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/useAnimatePanel.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,gBAAgB;AAChB,wBAAgB,eAAe;;;6BAiJvB,qBAAqB,CAAC,cAAc,CAAC;;;EAmB5C"}
1
+ {"version":3,"file":"useAnimatePanel.d.ts","sourceRoot":"","sources":["../../../../../src/appui-react/layout/widget-panels/useAnimatePanel.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,gBAAgB;AAChB,wBAAgB,eAAe;;;6BAgJvB,qBAAqB,CAAC,cAAc,CAAC;;;EAkB5C"}
@@ -41,7 +41,6 @@ export function useAnimatePanel() {
41
41
  if (prevCollapsed !== panel.collapsed) {
42
42
  setPrevCollapsed(panel.collapsed);
43
43
  let from = animateFrom.current;
44
- // istanbul ignore else
45
44
  if (from === undefined && ref.current) {
46
45
  const bounds = ref.current.getBoundingClientRect();
47
46
  from = getPanelSize(horizontal, bounds);
@@ -144,7 +143,6 @@ export function useAnimatePanel() {
144
143
  setInitializing(false);
145
144
  }, [initializing]);
146
145
  const handleTransitionEnd = React.useCallback((e) => {
147
- // istanbul ignore if
148
146
  if (e.target !== ref.current)
149
147
  return;
150
148
  maxPanelSize.current = undefined;
@@ -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 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 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 +1 @@
1
- {"version":3,"file":"AppNotificationManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/AppNotificationManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D;OACG;IACa,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpD;OACG;IACa,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQlD,iDAAiD;IACjC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIlE;;;;;OAKG;IACmB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,WAAW,GAAG,MAAM,EAC7B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,eAAe,CAAC;IAI3B;;;;OAIG;IACa,oBAAoB,CAClC,OAAO,EAAE,sBAAsB,GAC9B,OAAO;IAIV;;;;;OAKG;IACa,qBAAqB,CACnC,WAAW,EAAE,WAAW,GAAG,MAAM,EACjC,eAAe,EAAE,MAAM,GACtB,OAAO;IAOV;;;;OAIG;IACa,kBAAkB,CAChC,MAAM,EAAE,wBAAwB,GAC/B,OAAO;IAeV;;;OAGG;IACa,oBAAoB,CAClC,YAAY,EAAE,KAAK,EACnB,gBAAgB,EAAE,gBAAgB,GACjC,IAAI;IAIP,iCAAiC;IACjB,mBAAmB,IAAI,IAAI;IAI3C,oFAAoF;IACpF,IAAoB,kBAAkB,IAAI,OAAO,CAEhD;IAED,oDAAoD;IACpD,IAAoB,aAAa,IAAI,OAAO,CAE3C;IAED,4EAA4E;IAC5D,YAAY,IAAI,IAAI;IAKpC;;;;;OAKG;cACgB,YAAY,CAC7B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,WAAW,GAAG,MAAM,EAC7B,EAAE,CAAC,EAAE,KAAK,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI;IAIP,iCAAiC;IACjB,sBAAsB,IAAI,IAAI;IAI9C;;;OAGG;IACa,iBAAiB,CAC/B,YAAY,EAAE,0BAA0B,GAAG,SAAS;CASvD"}
1
+ {"version":3,"file":"AppNotificationManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/messages/AppNotificationManager.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EACV,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D;OACG;IACa,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpD;OACG;IACa,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQlD,iDAAiD;IACjC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIlE;;;;;OAKG;IACmB,cAAc,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,WAAW,GAAG,MAAM,EAC7B,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,eAAe,CAAC;IAI3B;;;;OAIG;IACa,oBAAoB,CAClC,OAAO,EAAE,sBAAsB,GAC9B,OAAO;IAIV;;;;;OAKG;IACa,qBAAqB,CACnC,WAAW,EAAE,WAAW,GAAG,MAAM,EACjC,eAAe,EAAE,MAAM,GACtB,OAAO;IAOV;;;;OAIG;IACa,kBAAkB,CAChC,MAAM,EAAE,wBAAwB,GAC/B,OAAO;IAeV;;;OAGG;IACa,oBAAoB,CAClC,YAAY,EAAE,KAAK,EACnB,gBAAgB,EAAE,gBAAgB,GACjC,IAAI;IAIP,iCAAiC;IACjB,mBAAmB,IAAI,IAAI;IAI3C,oFAAoF;IACpF,IAAoB,kBAAkB,IAAI,OAAO,CAEhD;IAED,oDAAoD;IACpD,IAAoB,aAAa,IAAI,OAAO,CAE3C;IAED,4EAA4E;IAC5D,YAAY,IAAI,IAAI;IAIpC;;;;;OAKG;cACgB,YAAY,CAC7B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,WAAW,GAAG,MAAM,EAC7B,EAAE,CAAC,EAAE,KAAK,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,IAAI;IAIP,iCAAiC;IACjB,sBAAsB,IAAI,IAAI;IAI9C;;;OAGG;IACa,iBAAiB,CAC/B,YAAY,EAAE,0BAA0B,GAAG,SAAS;CAOvD"}
@@ -103,7 +103,6 @@ export class AppNotificationManager extends NotificationManager {
103
103
  }
104
104
  /** Clear the ToolTip if it is currently open. If not open, does nothing. */
105
105
  clearToolTip() {
106
- // istanbul ignore else
107
106
  if (this.isToolTipOpen)
108
107
  ElementTooltip.hideTooltip();
109
108
  }
@@ -125,9 +124,7 @@ export class AppNotificationManager extends NotificationManager {
125
124
  * @public
126
125
  */
127
126
  setToolAssistance(instructions) {
128
- MessageManager.outputPrompt(instructions
129
- ? instructions.mainInstruction.text
130
- : /* istanbul ignore next */ "");
127
+ MessageManager.outputPrompt(instructions ? instructions.mainInstruction.text : "");
131
128
  MessageManager.setToolAssistance(instructions);
132
129
  }
133
130
  }