@itwin/appui-react 4.13.1 → 4.13.3

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 (586) hide show
  1. package/CHANGELOG.md +15 -1
  2. package/lib/cjs/appui-react/UiFramework.js +1 -1
  3. package/lib/cjs/appui-react/UiFramework.js.map +1 -1
  4. package/lib/cjs/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  5. package/lib/cjs/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  6. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js +1 -1
  7. package/lib/cjs/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  8. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js +1 -1
  9. package/lib/cjs/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  10. package/lib/cjs/appui-react/accudraw/Calculator.js +1 -1
  11. package/lib/cjs/appui-react/accudraw/Calculator.js.map +1 -1
  12. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js +2 -2
  13. package/lib/cjs/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  14. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js +1 -1
  15. package/lib/cjs/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  16. package/lib/cjs/appui-react/accudraw/MenuButton.js.map +1 -1
  17. package/lib/cjs/appui-react/backstage/BackstageComposer.js.map +1 -1
  18. package/lib/cjs/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  19. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js +1 -1
  20. package/lib/cjs/appui-react/backstage/BackstageItemUtilities.js.map +1 -1
  21. package/lib/cjs/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  22. package/lib/cjs/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  23. package/lib/cjs/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  24. package/lib/cjs/appui-react/childwindow/ChildWindowWidget.js.map +1 -1
  25. package/lib/cjs/appui-react/childwindow/CopyStyles.js.map +1 -1
  26. package/lib/cjs/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  27. package/lib/cjs/appui-react/configurableui/ActivityTracker.js.map +1 -1
  28. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js +1 -1
  29. package/lib/cjs/appui-react/configurableui/ConfigurableUiControl.js.map +1 -1
  30. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js +1 -1
  31. package/lib/cjs/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  32. package/lib/cjs/appui-react/configurableui/TimeTracker.js.map +1 -1
  33. package/lib/cjs/appui-react/configurableui/state.js +1 -1
  34. package/lib/cjs/appui-react/configurableui/state.js.map +1 -1
  35. package/lib/cjs/appui-react/content/ContentControl.js.map +1 -1
  36. package/lib/cjs/appui-react/content/ContentGroup.js +1 -1
  37. package/lib/cjs/appui-react/content/ContentGroup.js.map +1 -1
  38. package/lib/cjs/appui-react/content/ContentLayout.js.map +1 -1
  39. package/lib/cjs/appui-react/content/DefaultViewOverlay.js.map +1 -1
  40. package/lib/cjs/appui-react/content/FloatingViewportContent.js.map +1 -1
  41. package/lib/cjs/appui-react/content/IModelViewport.js.map +1 -1
  42. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js +1 -1
  43. package/lib/cjs/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  44. package/lib/cjs/appui-react/content/InternalContentViewManager.js +1 -1
  45. package/lib/cjs/appui-react/content/InternalContentViewManager.js.map +1 -1
  46. package/lib/cjs/appui-react/content/StageContentLayout.js.map +1 -1
  47. package/lib/cjs/appui-react/content/ViewStateHelper.js.map +1 -1
  48. package/lib/cjs/appui-react/content/ViewportContentControl.js.map +1 -1
  49. package/lib/cjs/appui-react/content/split-pane/Pane.js.map +1 -1
  50. package/lib/cjs/appui-react/content/split-pane/Resizer.js.map +1 -1
  51. package/lib/cjs/appui-react/content/split-pane/SplitPane.js.map +1 -1
  52. package/lib/cjs/appui-react/cursor/CursorInformation.js +3 -3
  53. package/lib/cjs/appui-react/cursor/CursorInformation.js.map +1 -1
  54. package/lib/cjs/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  55. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js +2 -2
  56. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  57. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js +1 -1
  58. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  59. package/lib/cjs/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  60. package/lib/cjs/appui-react/dialog/ContentDialog.js.map +1 -1
  61. package/lib/cjs/appui-react/dialog/DialogManagerBase.js +1 -1
  62. package/lib/cjs/appui-react/dialog/DialogManagerBase.js.map +1 -1
  63. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js +1 -1
  64. package/lib/cjs/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  65. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js +1 -1
  66. package/lib/cjs/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  67. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js +1 -1
  68. package/lib/cjs/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  69. package/lib/cjs/appui-react/dialog/StandardMessageBox.js.map +1 -1
  70. package/lib/cjs/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  71. package/lib/cjs/appui-react/feedback/ElementTooltip.js +1 -1
  72. package/lib/cjs/appui-react/feedback/ElementTooltip.js.map +1 -1
  73. package/lib/cjs/appui-react/feedback/ValidationTextbox.js +1 -1
  74. package/lib/cjs/appui-react/feedback/ValidationTextbox.js.map +1 -1
  75. package/lib/cjs/appui-react/frontstage/FrontstageDef.js.map +1 -1
  76. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js +1 -1
  77. package/lib/cjs/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  78. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js +1 -1
  79. package/lib/cjs/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  80. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js +1 -1
  81. package/lib/cjs/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  82. package/lib/cjs/appui-react/frontstage/StageUsage.js +1 -1
  83. package/lib/cjs/appui-react/frontstage/StageUsage.js.map +1 -1
  84. package/lib/cjs/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  85. package/lib/cjs/appui-react/hooks/useActiveViewport.js.map +1 -1
  86. package/lib/cjs/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  87. package/lib/cjs/appui-react/hooks/useConditionalValue.js.map +1 -1
  88. package/lib/cjs/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  89. package/lib/cjs/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  90. package/lib/cjs/appui-react/hooks/useTranslation.js.map +1 -1
  91. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -1
  92. package/lib/cjs/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  93. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  94. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -1
  95. package/lib/cjs/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  96. package/lib/cjs/appui-react/keyins/Keyins.js +1 -1
  97. package/lib/cjs/appui-react/keyins/Keyins.js.map +1 -1
  98. package/lib/cjs/appui-react/layout/backstage/Backstage.js +1 -1
  99. package/lib/cjs/appui-react/layout/backstage/Backstage.js.map +1 -1
  100. package/lib/cjs/appui-react/layout/base/DragManager.js.map +1 -1
  101. package/lib/cjs/appui-react/layout/base/NineZone.js.map +1 -1
  102. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js +1 -1
  103. package/lib/cjs/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  104. package/lib/cjs/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  105. package/lib/cjs/appui-react/layout/footer/Indicator.js +1 -1
  106. package/lib/cjs/appui-react/layout/footer/Indicator.js.map +1 -1
  107. package/lib/cjs/appui-react/layout/outline/PanelOutline.js.map +1 -1
  108. package/lib/cjs/appui-react/layout/popup/Tooltip.js +1 -1
  109. package/lib/cjs/appui-react/layout/popup/Tooltip.js.map +1 -1
  110. package/lib/cjs/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  111. package/lib/cjs/appui-react/layout/state/TabLocation.js.map +1 -1
  112. package/lib/cjs/appui-react/layout/state/WidgetLocation.js.map +1 -1
  113. package/lib/cjs/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  114. package/lib/cjs/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  115. package/lib/cjs/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  116. package/lib/cjs/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  117. package/lib/cjs/appui-react/layout/target/PanelTargets.js.map +1 -1
  118. package/lib/cjs/appui-react/layout/target/SectionTarget.js.map +1 -1
  119. package/lib/cjs/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  120. package/lib/cjs/appui-react/layout/target/useAllowedWidgetTarget.js.map +1 -1
  121. package/lib/cjs/appui-react/layout/tool-settings/Docked.js.map +1 -1
  122. package/lib/cjs/appui-react/layout/widget/Buttons.js.map +1 -1
  123. package/lib/cjs/appui-react/layout/widget/ContentManager.js.map +1 -1
  124. package/lib/cjs/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  125. package/lib/cjs/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  126. package/lib/cjs/appui-react/layout/widget/Overflow.js.map +1 -1
  127. package/lib/cjs/appui-react/layout/widget/PanelWidget.js.map +1 -1
  128. package/lib/cjs/appui-react/layout/widget/SendBack.js.map +1 -1
  129. package/lib/cjs/appui-react/layout/widget/Tab.js.map +1 -1
  130. package/lib/cjs/appui-react/layout/widget/TabBar.js.map +1 -1
  131. package/lib/cjs/appui-react/layout/widget/Tabs.js.map +1 -1
  132. package/lib/cjs/appui-react/layout/widget/Widget.js.map +1 -1
  133. package/lib/cjs/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  134. package/lib/cjs/appui-react/layout/widget-panels/Expander.js.map +1 -1
  135. package/lib/cjs/appui-react/layout/widget-panels/Grip.js.map +1 -1
  136. package/lib/cjs/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  137. package/lib/cjs/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  138. package/lib/cjs/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -1
  139. package/lib/cjs/appui-react/messages/AppNotificationManager.js.map +1 -1
  140. package/lib/cjs/appui-react/messages/InputField.js.map +1 -1
  141. package/lib/cjs/appui-react/messages/MessageManager.js +1 -1
  142. package/lib/cjs/appui-react/messages/MessageManager.js.map +1 -1
  143. package/lib/cjs/appui-react/messages/MessageRenderer.js.map +1 -1
  144. package/lib/cjs/appui-react/messages/Pointer.js +1 -1
  145. package/lib/cjs/appui-react/messages/Pointer.js.map +1 -1
  146. package/lib/cjs/appui-react/messages/StatusMessageManager.js.map +1 -1
  147. package/lib/cjs/appui-react/messages/getToastCategory.js.map +1 -1
  148. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js +1 -1
  149. package/lib/cjs/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  150. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -1
  151. package/lib/cjs/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  152. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js +1 -1
  153. package/lib/cjs/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  154. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js +1 -1
  155. package/lib/cjs/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  156. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -1
  157. package/lib/cjs/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  158. package/lib/cjs/appui-react/pickers/ListPicker.js +1 -1
  159. package/lib/cjs/appui-react/pickers/ListPicker.js.map +1 -1
  160. package/lib/cjs/appui-react/pickers/ViewSelector.js +1 -1
  161. package/lib/cjs/appui-react/pickers/ViewSelector.js.map +1 -1
  162. package/lib/cjs/appui-react/popup/CardPopup.js +1 -1
  163. package/lib/cjs/appui-react/popup/CardPopup.js.map +1 -1
  164. package/lib/cjs/appui-react/popup/ComponentPopup.js.map +1 -1
  165. package/lib/cjs/appui-react/popup/InputEditorPopup.js.map +1 -1
  166. package/lib/cjs/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  167. package/lib/cjs/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  168. package/lib/cjs/appui-react/popup/PopupManager.js +2 -2
  169. package/lib/cjs/appui-react/popup/PopupManager.js.map +1 -1
  170. package/lib/cjs/appui-react/popup/PositionPopup.js.map +1 -1
  171. package/lib/cjs/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  172. package/lib/cjs/appui-react/popup/ToolbarPopup.js +1 -1
  173. package/lib/cjs/appui-react/popup/ToolbarPopup.js.map +1 -1
  174. package/lib/cjs/appui-react/preview/PreviewFeatures.js.map +1 -1
  175. package/lib/cjs/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -1
  176. package/lib/cjs/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  177. package/lib/cjs/appui-react/preview/new-toolbars/ActionItem.js.map +1 -1
  178. package/lib/cjs/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  179. package/lib/cjs/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  180. package/lib/cjs/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  181. package/lib/cjs/appui-react/preview/new-toolbars/Toolbar.js.map +1 -1
  182. package/lib/cjs/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  183. package/lib/cjs/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -1
  184. package/lib/cjs/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -1
  185. package/lib/cjs/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  186. package/lib/cjs/appui-react/redux/ReducerRegistry.js.map +1 -1
  187. package/lib/cjs/appui-react/redux/SessionState.js +2 -2
  188. package/lib/cjs/appui-react/redux/SessionState.js.map +1 -1
  189. package/lib/cjs/appui-react/redux/StateManager.js +1 -1
  190. package/lib/cjs/appui-react/redux/StateManager.js.map +1 -1
  191. package/lib/cjs/appui-react/redux/connectIModel.js +3 -3
  192. package/lib/cjs/appui-react/redux/connectIModel.js.map +1 -1
  193. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js +1 -1
  194. package/lib/cjs/appui-react/safearea/SafeAreaInsets.js.map +1 -1
  195. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js +3 -3
  196. package/lib/cjs/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  197. package/lib/cjs/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  198. package/lib/cjs/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  199. package/lib/cjs/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  200. package/lib/cjs/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  201. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js +1 -1
  202. package/lib/cjs/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  203. package/lib/cjs/appui-react/shared/CommandItemDef.js +1 -1
  204. package/lib/cjs/appui-react/shared/CommandItemDef.js.map +1 -1
  205. package/lib/cjs/appui-react/shared/CustomItemDef.js +1 -1
  206. package/lib/cjs/appui-react/shared/CustomItemDef.js.map +1 -1
  207. package/lib/cjs/appui-react/shared/MenuItem.js.map +1 -1
  208. package/lib/cjs/appui-react/shared/SelectionScope.js +1 -1
  209. package/lib/cjs/appui-react/shared/SelectionScope.js.map +1 -1
  210. package/lib/cjs/appui-react/shared/ToolItemDef.js.map +1 -1
  211. package/lib/cjs/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  212. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js +1 -1
  213. package/lib/cjs/appui-react/stagepanels/StagePanelLocation.js.map +1 -1
  214. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js +1 -1
  215. package/lib/cjs/appui-react/stagepanels/StagePanelSection.js.map +1 -1
  216. package/lib/cjs/appui-react/stagepanels/StagePanelState.js +1 -1
  217. package/lib/cjs/appui-react/stagepanels/StagePanelState.js.map +1 -1
  218. package/lib/cjs/appui-react/statusbar/Field.js +2 -4
  219. package/lib/cjs/appui-react/statusbar/Field.js.map +1 -1
  220. package/lib/cjs/appui-react/statusbar/StatusBar.js +1 -1
  221. package/lib/cjs/appui-react/statusbar/StatusBar.js.map +1 -1
  222. package/lib/cjs/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  223. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts +3 -3
  224. package/lib/cjs/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  225. package/lib/cjs/appui-react/statusbar/StatusBarItem.js +2 -2
  226. package/lib/cjs/appui-react/statusbar/StatusBarItem.js.map +1 -1
  227. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js +1 -1
  228. package/lib/cjs/appui-react/statusbar/StatusBarItemUtilities.js.map +1 -1
  229. package/lib/cjs/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  230. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js +1 -1
  231. package/lib/cjs/appui-react/statusbar/dialog/Dialog.js.map +1 -1
  232. package/lib/cjs/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  233. package/lib/cjs/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  234. package/lib/cjs/appui-react/statusfields/SectionsField.js.map +1 -1
  235. package/lib/cjs/appui-react/statusfields/SelectionCount.js.map +1 -1
  236. package/lib/cjs/appui-react/statusfields/SelectionScope.js.map +1 -1
  237. package/lib/cjs/appui-react/statusfields/SnapMode.js.map +1 -1
  238. package/lib/cjs/appui-react/statusfields/ViewAttributes.js.map +1 -1
  239. package/lib/cjs/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  240. package/lib/cjs/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  241. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -1
  242. package/lib/cjs/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  243. package/lib/cjs/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  244. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js +2 -2
  245. package/lib/cjs/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  246. package/lib/cjs/appui-react/theme/ThemeManager.js +1 -1
  247. package/lib/cjs/appui-react/theme/ThemeManager.js.map +1 -1
  248. package/lib/cjs/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  249. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js +1 -1
  250. package/lib/cjs/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  251. package/lib/cjs/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  252. package/lib/cjs/appui-react/toolbar/GroupItem.js +1 -1
  253. package/lib/cjs/appui-react/toolbar/GroupItem.js.map +1 -1
  254. package/lib/cjs/appui-react/toolbar/Toolbar.js.map +1 -1
  255. package/lib/cjs/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  256. package/lib/cjs/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  257. package/lib/cjs/appui-react/toolbar/ToolbarItem.js +2 -2
  258. package/lib/cjs/appui-react/toolbar/ToolbarItem.js.map +1 -1
  259. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js +1 -1
  260. package/lib/cjs/appui-react/toolbar/ToolbarItemUtilities.js.map +1 -1
  261. package/lib/cjs/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  262. package/lib/cjs/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  263. package/lib/cjs/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -1
  264. package/lib/cjs/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -1
  265. package/lib/cjs/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  266. package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  267. package/lib/cjs/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  268. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js +1 -1
  269. package/lib/cjs/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  270. package/lib/cjs/appui-react/tools/OpenSettingsTool.js +1 -1
  271. package/lib/cjs/appui-react/tools/OpenSettingsTool.js.map +1 -1
  272. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js +2 -2
  273. package/lib/cjs/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  274. package/lib/cjs/appui-react/tools/ToolSettingsTools.js +2 -2
  275. package/lib/cjs/appui-react/tools/ToolSettingsTools.js.map +1 -1
  276. package/lib/cjs/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  277. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js +1 -1
  278. package/lib/cjs/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  279. package/lib/cjs/appui-react/toolsettings/ToolInformation.js.map +1 -1
  280. package/lib/cjs/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  281. package/lib/cjs/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  282. package/lib/cjs/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  283. package/lib/cjs/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  284. package/lib/cjs/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  285. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js +1 -1
  286. package/lib/cjs/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  287. package/lib/cjs/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  288. package/lib/cjs/appui-react/uistate/AppUiSettings.js +1 -1
  289. package/lib/cjs/appui-react/uistate/AppUiSettings.js.map +1 -1
  290. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js +2 -2
  291. package/lib/cjs/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  292. package/lib/cjs/appui-react/utils/PropsHelper.js.map +1 -1
  293. package/lib/cjs/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  294. package/lib/cjs/appui-react/utils/matchesWords.js.map +1 -1
  295. package/lib/cjs/appui-react/widget-panels/DockedBar.scss +1 -0
  296. package/lib/cjs/appui-react/widget-panels/Frontstage.js.map +1 -1
  297. package/lib/cjs/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  298. package/lib/cjs/appui-react/widgets/BackstageAppButton.js.map +1 -1
  299. package/lib/cjs/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  300. package/lib/cjs/appui-react/widgets/BasicToolWidget.js.map +1 -1
  301. package/lib/cjs/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  302. package/lib/cjs/appui-react/widgets/StableWidgetDef.js.map +1 -1
  303. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -1
  304. package/lib/cjs/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  305. package/lib/cjs/appui-react/widgets/WidgetDef.js +2 -2
  306. package/lib/cjs/appui-react/widgets/WidgetDef.js.map +1 -1
  307. package/lib/cjs/appui-react/widgets/WidgetHost.js.map +1 -1
  308. package/lib/cjs/appui-react/widgets/WidgetManager.js.map +1 -1
  309. package/lib/cjs/appui-react/widgets/WidgetState.js +1 -1
  310. package/lib/cjs/appui-react/widgets/WidgetState.js.map +1 -1
  311. package/lib/cjs/appui-react/widgets/useWidget.js.map +1 -1
  312. package/lib/esm/appui-react/UiFramework.js +1 -2
  313. package/lib/esm/appui-react/UiFramework.js.map +1 -1
  314. package/lib/esm/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  315. package/lib/esm/appui-react/accudraw/AccuDrawInputField.js.map +1 -1
  316. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js +1 -2
  317. package/lib/esm/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  318. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js +1 -2
  319. package/lib/esm/appui-react/accudraw/AccuDrawWidget.js.map +1 -1
  320. package/lib/esm/appui-react/accudraw/Calculator.js +1 -2
  321. package/lib/esm/appui-react/accudraw/Calculator.js.map +1 -1
  322. package/lib/esm/appui-react/accudraw/CalculatorEngine.js.map +1 -1
  323. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js +1 -2
  324. package/lib/esm/appui-react/accudraw/FrameworkAccuDraw.js.map +1 -1
  325. package/lib/esm/appui-react/accudraw/MenuButton.js.map +1 -1
  326. package/lib/esm/appui-react/backstage/BackstageComposer.js.map +1 -1
  327. package/lib/esm/appui-react/backstage/BackstageComposerItem.js.map +1 -1
  328. package/lib/esm/appui-react/backstage/BackstageItemsManager.js.map +1 -1
  329. package/lib/esm/appui-react/backstage/useDefaultBackstageItems.js.map +1 -1
  330. package/lib/esm/appui-react/backstage/useUiItemsProviderBackstageItems.js.map +1 -1
  331. package/lib/esm/appui-react/childwindow/ChildWindowWidget.js.map +1 -1
  332. package/lib/esm/appui-react/childwindow/CopyStyles.js.map +1 -1
  333. package/lib/esm/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  334. package/lib/esm/appui-react/configurableui/ActivityTracker.js.map +1 -1
  335. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js +1 -2
  336. package/lib/esm/appui-react/configurableui/InternalConfigurableUiManager.js.map +1 -1
  337. package/lib/esm/appui-react/configurableui/TimeTracker.js.map +1 -1
  338. package/lib/esm/appui-react/configurableui/state.js.map +1 -1
  339. package/lib/esm/appui-react/content/ContentControl.js.map +1 -1
  340. package/lib/esm/appui-react/content/ContentGroup.js +1 -2
  341. package/lib/esm/appui-react/content/ContentGroup.js.map +1 -1
  342. package/lib/esm/appui-react/content/ContentLayout.js.map +1 -1
  343. package/lib/esm/appui-react/content/DefaultViewOverlay.js.map +1 -1
  344. package/lib/esm/appui-react/content/FloatingViewportContent.js.map +1 -1
  345. package/lib/esm/appui-react/content/IModelViewport.js.map +1 -1
  346. package/lib/esm/appui-react/content/InternalContentLayoutManager.js +1 -2
  347. package/lib/esm/appui-react/content/InternalContentLayoutManager.js.map +1 -1
  348. package/lib/esm/appui-react/content/InternalContentViewManager.js +1 -2
  349. package/lib/esm/appui-react/content/InternalContentViewManager.js.map +1 -1
  350. package/lib/esm/appui-react/content/StageContentLayout.js.map +1 -1
  351. package/lib/esm/appui-react/content/ViewStateHelper.js.map +1 -1
  352. package/lib/esm/appui-react/content/ViewportContentControl.js.map +1 -1
  353. package/lib/esm/appui-react/content/split-pane/Pane.js.map +1 -1
  354. package/lib/esm/appui-react/content/split-pane/Resizer.js.map +1 -1
  355. package/lib/esm/appui-react/content/split-pane/SplitPane.js.map +1 -1
  356. package/lib/esm/appui-react/cursor/CursorInformation.js +1 -2
  357. package/lib/esm/appui-react/cursor/CursorInformation.js.map +1 -1
  358. package/lib/esm/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  359. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js +1 -2
  360. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.js.map +1 -1
  361. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js +1 -2
  362. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  363. package/lib/esm/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  364. package/lib/esm/appui-react/dialog/ContentDialog.js.map +1 -1
  365. package/lib/esm/appui-react/dialog/DialogManagerBase.js +1 -2
  366. package/lib/esm/appui-react/dialog/DialogManagerBase.js.map +1 -1
  367. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js +1 -2
  368. package/lib/esm/appui-react/dialog/InternalContentDialogManager.js.map +1 -1
  369. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js +1 -2
  370. package/lib/esm/appui-react/dialog/InternalModalDialogManager.js.map +1 -1
  371. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js +1 -2
  372. package/lib/esm/appui-react/dialog/InternalModelessDialogManager.js.map +1 -1
  373. package/lib/esm/appui-react/dialog/StandardMessageBox.js.map +1 -1
  374. package/lib/esm/appui-react/dialog/UiDataProvidedDialog.js.map +1 -1
  375. package/lib/esm/appui-react/feedback/ElementTooltip.js +1 -2
  376. package/lib/esm/appui-react/feedback/ElementTooltip.js.map +1 -1
  377. package/lib/esm/appui-react/feedback/ValidationTextbox.js.map +1 -1
  378. package/lib/esm/appui-react/frontstage/FrontstageDef.js.map +1 -1
  379. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js +1 -2
  380. package/lib/esm/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  381. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js +1 -2
  382. package/lib/esm/appui-react/frontstage/ModalSettingsStage.js.map +1 -1
  383. package/lib/esm/appui-react/frontstage/NestedFrontstage.js +1 -2
  384. package/lib/esm/appui-react/frontstage/NestedFrontstage.js.map +1 -1
  385. package/lib/esm/appui-react/hooks/useActiveIModelConnection.js.map +1 -1
  386. package/lib/esm/appui-react/hooks/useActiveViewport.js.map +1 -1
  387. package/lib/esm/appui-react/hooks/useAnalysisAnimationDataProvider.js.map +1 -1
  388. package/lib/esm/appui-react/hooks/useConditionalValue.js.map +1 -1
  389. package/lib/esm/appui-react/hooks/useEscapeSetFocusToHome.js.map +1 -1
  390. package/lib/esm/appui-react/hooks/useScheduleAnimationDataProvider.js.map +1 -1
  391. package/lib/esm/appui-react/hooks/useTranslation.js.map +1 -1
  392. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js +1 -2
  393. package/lib/esm/appui-react/keyboardshortcut/InternalKeyboardShortcut.js.map +1 -1
  394. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcut.js.map +1 -1
  395. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js +1 -2
  396. package/lib/esm/appui-react/keyboardshortcut/KeyboardShortcutMenu.js.map +1 -1
  397. package/lib/esm/appui-react/keyins/Keyins.js.map +1 -1
  398. package/lib/esm/appui-react/layout/backstage/Backstage.js +1 -2
  399. package/lib/esm/appui-react/layout/backstage/Backstage.js.map +1 -1
  400. package/lib/esm/appui-react/layout/base/DragManager.js.map +1 -1
  401. package/lib/esm/appui-react/layout/base/NineZone.js.map +1 -1
  402. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js +1 -2
  403. package/lib/esm/appui-react/layout/base/SafeAreaInsets.js.map +1 -1
  404. package/lib/esm/appui-react/layout/base/usePointerCaptor.js.map +1 -1
  405. package/lib/esm/appui-react/layout/footer/Indicator.js +1 -1
  406. package/lib/esm/appui-react/layout/footer/Indicator.js.map +1 -1
  407. package/lib/esm/appui-react/layout/outline/PanelOutline.js.map +1 -1
  408. package/lib/esm/appui-react/layout/popup/Tooltip.js +1 -2
  409. package/lib/esm/appui-react/layout/popup/Tooltip.js.map +1 -1
  410. package/lib/esm/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  411. package/lib/esm/appui-react/layout/state/TabLocation.js.map +1 -1
  412. package/lib/esm/appui-react/layout/state/WidgetLocation.js.map +1 -1
  413. package/lib/esm/appui-react/layout/state/internal/NineZoneStateHelpers.js.map +1 -1
  414. package/lib/esm/appui-react/layout/state/internal/PanelStateHelpers.js.map +1 -1
  415. package/lib/esm/appui-react/layout/state/internal/TabStateHelpers.js.map +1 -1
  416. package/lib/esm/appui-react/layout/state/internal/WidgetStateHelpers.js.map +1 -1
  417. package/lib/esm/appui-react/layout/target/PanelTargets.js.map +1 -1
  418. package/lib/esm/appui-react/layout/target/SectionTarget.js.map +1 -1
  419. package/lib/esm/appui-react/layout/target/useAllowedSideTarget.js.map +1 -1
  420. package/lib/esm/appui-react/layout/target/useAllowedWidgetTarget.js.map +1 -1
  421. package/lib/esm/appui-react/layout/tool-settings/Docked.js.map +1 -1
  422. package/lib/esm/appui-react/layout/widget/Buttons.js.map +1 -1
  423. package/lib/esm/appui-react/layout/widget/ContentManager.js.map +1 -1
  424. package/lib/esm/appui-react/layout/widget/ContentRenderer.js.map +1 -1
  425. package/lib/esm/appui-react/layout/widget/FloatingWidget.js.map +1 -1
  426. package/lib/esm/appui-react/layout/widget/Overflow.js.map +1 -1
  427. package/lib/esm/appui-react/layout/widget/PanelWidget.js.map +1 -1
  428. package/lib/esm/appui-react/layout/widget/SendBack.js.map +1 -1
  429. package/lib/esm/appui-react/layout/widget/Tab.js.map +1 -1
  430. package/lib/esm/appui-react/layout/widget/TabBar.js.map +1 -1
  431. package/lib/esm/appui-react/layout/widget/Tabs.js.map +1 -1
  432. package/lib/esm/appui-react/layout/widget/Widget.js.map +1 -1
  433. package/lib/esm/appui-react/layout/widget/tools/button/Button.js.map +1 -1
  434. package/lib/esm/appui-react/layout/widget-panels/Expander.js.map +1 -1
  435. package/lib/esm/appui-react/layout/widget-panels/Grip.js.map +1 -1
  436. package/lib/esm/appui-react/layout/widget-panels/PanelSections.js.map +1 -1
  437. package/lib/esm/appui-react/layout/widget-panels/useAnimatePanel.js.map +1 -1
  438. package/lib/esm/appui-react/layout/widget-panels/usePanelsAutoCollapse.js.map +1 -1
  439. package/lib/esm/appui-react/messages/AppNotificationManager.js.map +1 -1
  440. package/lib/esm/appui-react/messages/InputField.js.map +1 -1
  441. package/lib/esm/appui-react/messages/MessageManager.js +1 -2
  442. package/lib/esm/appui-react/messages/MessageManager.js.map +1 -1
  443. package/lib/esm/appui-react/messages/MessageRenderer.js.map +1 -1
  444. package/lib/esm/appui-react/messages/Pointer.js +1 -2
  445. package/lib/esm/appui-react/messages/Pointer.js.map +1 -1
  446. package/lib/esm/appui-react/messages/StatusMessageManager.js.map +1 -1
  447. package/lib/esm/appui-react/messages/getToastCategory.js.map +1 -1
  448. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js +1 -2
  449. package/lib/esm/appui-react/navigationaids/CubeNavigationAidControl.js.map +1 -1
  450. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js +1 -2
  451. package/lib/esm/appui-react/navigationaids/DrawingNavigationAidControl.js.map +1 -1
  452. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js +1 -2
  453. package/lib/esm/appui-react/navigationaids/SheetNavigationAid.js.map +1 -1
  454. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js +1 -2
  455. package/lib/esm/appui-react/navigationaids/SheetsModalFrontstage.js.map +1 -1
  456. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js +1 -2
  457. package/lib/esm/appui-react/navigationaids/StandardRotationNavigationAid.js.map +1 -1
  458. package/lib/esm/appui-react/pickers/ListPicker.js.map +1 -1
  459. package/lib/esm/appui-react/pickers/ViewSelector.js +1 -2
  460. package/lib/esm/appui-react/pickers/ViewSelector.js.map +1 -1
  461. package/lib/esm/appui-react/popup/CardPopup.js +1 -2
  462. package/lib/esm/appui-react/popup/CardPopup.js.map +1 -1
  463. package/lib/esm/appui-react/popup/ComponentPopup.js.map +1 -1
  464. package/lib/esm/appui-react/popup/InputEditorPopup.js.map +1 -1
  465. package/lib/esm/appui-react/popup/KeyinPalettePanel.js.map +1 -1
  466. package/lib/esm/appui-react/popup/KeyinPalettePopup.js.map +1 -1
  467. package/lib/esm/appui-react/popup/PopupManager.js +2 -4
  468. package/lib/esm/appui-react/popup/PopupManager.js.map +1 -1
  469. package/lib/esm/appui-react/popup/PositionPopup.js.map +1 -1
  470. package/lib/esm/appui-react/popup/ToolSettingsPopup.js.map +1 -1
  471. package/lib/esm/appui-react/popup/ToolbarPopup.js +1 -2
  472. package/lib/esm/appui-react/popup/ToolbarPopup.js.map +1 -1
  473. package/lib/esm/appui-react/preview/PreviewFeatures.js.map +1 -1
  474. package/lib/esm/appui-react/preview/activate-dropped-tab/activateDroppedTab.js.map +1 -1
  475. package/lib/esm/appui-react/preview/horizontal-panel-alignment/PreviewHorizontalPanelAlign.js.map +1 -1
  476. package/lib/esm/appui-react/preview/new-toolbars/ActionItem.js.map +1 -1
  477. package/lib/esm/appui-react/preview/new-toolbars/CustomItem.js.map +1 -1
  478. package/lib/esm/appui-react/preview/new-toolbars/GroupItem.js.map +1 -1
  479. package/lib/esm/appui-react/preview/new-toolbars/ToolGroup.js.map +1 -1
  480. package/lib/esm/appui-react/preview/new-toolbars/Toolbar.js.map +1 -1
  481. package/lib/esm/appui-react/preview/new-toolbars/useOverflow.js.map +1 -1
  482. package/lib/esm/appui-react/preview/reparent-popout-widgets/usePopoutsStore.js.map +1 -1
  483. package/lib/esm/appui-react/preview/reparent-popout-widgets/useReparentPopoutWidget.js.map +1 -1
  484. package/lib/esm/appui-react/preview/widget-action-dropdown/Button.js.map +1 -1
  485. package/lib/esm/appui-react/redux/ReducerRegistry.js.map +1 -1
  486. package/lib/esm/appui-react/redux/SessionState.js +1 -1
  487. package/lib/esm/appui-react/redux/SessionState.js.map +1 -1
  488. package/lib/esm/appui-react/redux/StateManager.js +1 -2
  489. package/lib/esm/appui-react/redux/StateManager.js.map +1 -1
  490. package/lib/esm/appui-react/redux/connectIModel.js +3 -3
  491. package/lib/esm/appui-react/redux/connectIModel.js.map +1 -1
  492. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js +2 -4
  493. package/lib/esm/appui-react/selection/HideIsolateEmphasizeManager.js.map +1 -1
  494. package/lib/esm/appui-react/selection/SelectionContextItemDef.js.map +1 -1
  495. package/lib/esm/appui-react/settings/quantityformatting/QuantityFormat.js.map +1 -1
  496. package/lib/esm/appui-react/settings/quantityformatting/UnitSystemSelector.js.map +1 -1
  497. package/lib/esm/appui-react/settings/ui/UiSettingsPage.js.map +1 -1
  498. package/lib/esm/appui-react/shared/ActionButtonItemDef.js +1 -2
  499. package/lib/esm/appui-react/shared/ActionButtonItemDef.js.map +1 -1
  500. package/lib/esm/appui-react/shared/CommandItemDef.js +1 -2
  501. package/lib/esm/appui-react/shared/CommandItemDef.js.map +1 -1
  502. package/lib/esm/appui-react/shared/CustomItemDef.js +1 -2
  503. package/lib/esm/appui-react/shared/CustomItemDef.js.map +1 -1
  504. package/lib/esm/appui-react/shared/MenuItem.js.map +1 -1
  505. package/lib/esm/appui-react/shared/ToolItemDef.js.map +1 -1
  506. package/lib/esm/appui-react/stagepanels/StagePanelDef.js.map +1 -1
  507. package/lib/esm/appui-react/statusbar/Field.js +2 -4
  508. package/lib/esm/appui-react/statusbar/Field.js.map +1 -1
  509. package/lib/esm/appui-react/statusbar/StatusBarComposer.js.map +1 -1
  510. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts +3 -3
  511. package/lib/esm/appui-react/statusbar/StatusBarItem.d.ts.map +1 -1
  512. package/lib/esm/appui-react/statusbar/StatusBarItemsManager.js.map +1 -1
  513. package/lib/esm/appui-react/statusbar/useDefaultStatusBarItems.js.map +1 -1
  514. package/lib/esm/appui-react/statusbar/useUiItemsProviderStatusBarItems.js.map +1 -1
  515. package/lib/esm/appui-react/statusfields/SectionsField.js.map +1 -1
  516. package/lib/esm/appui-react/statusfields/SelectionCount.js.map +1 -1
  517. package/lib/esm/appui-react/statusfields/SelectionScope.js.map +1 -1
  518. package/lib/esm/appui-react/statusfields/SnapMode.js.map +1 -1
  519. package/lib/esm/appui-react/statusfields/ViewAttributes.js.map +1 -1
  520. package/lib/esm/appui-react/statusfields/message-center/MessageCenterField.js.map +1 -1
  521. package/lib/esm/appui-react/statusfields/tileloading/TileLoadingIndicator.js.map +1 -1
  522. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js +1 -2
  523. package/lib/esm/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  524. package/lib/esm/appui-react/syncui/InternalSyncUiEventDispatcher.js.map +1 -1
  525. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js +1 -2
  526. package/lib/esm/appui-react/syncui/SyncUiEventDispatcher.js.map +1 -1
  527. package/lib/esm/appui-react/theme/ThemeManager.js.map +1 -1
  528. package/lib/esm/appui-react/timeline/AnalysisAnimationProvider.js.map +1 -1
  529. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js +1 -1
  530. package/lib/esm/appui-react/timeline/ScheduleAnimationProvider.js.map +1 -1
  531. package/lib/esm/appui-react/timeline/SolarTimelineDataProvider.js.map +1 -1
  532. package/lib/esm/appui-react/toolbar/GroupItem.js +1 -2
  533. package/lib/esm/appui-react/toolbar/GroupItem.js.map +1 -1
  534. package/lib/esm/appui-react/toolbar/Toolbar.js.map +1 -1
  535. package/lib/esm/appui-react/toolbar/ToolbarComposer.js.map +1 -1
  536. package/lib/esm/appui-react/toolbar/ToolbarHelper.js.map +1 -1
  537. package/lib/esm/appui-react/toolbar/ToolbarItemsManager.js.map +1 -1
  538. package/lib/esm/appui-react/toolbar/toUIAToolbarItem.js.map +1 -1
  539. package/lib/esm/appui-react/toolbar/useActiveStageProvidedToolbarItems.js.map +1 -1
  540. package/lib/esm/appui-react/toolbar/useActiveToolIdSynchedItems.js.map +1 -1
  541. package/lib/esm/appui-react/toolbar/useDefaultToolbarItems.js.map +1 -1
  542. package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
  543. package/lib/esm/appui-react/tools/FrameworkToolAdmin.js.map +1 -1
  544. package/lib/esm/appui-react/tools/KeyinPaletteTools.js +1 -2
  545. package/lib/esm/appui-react/tools/KeyinPaletteTools.js.map +1 -1
  546. package/lib/esm/appui-react/tools/OpenSettingsTool.js +1 -2
  547. package/lib/esm/appui-react/tools/OpenSettingsTool.js.map +1 -1
  548. package/lib/esm/appui-react/tools/RestoreLayoutTool.js +2 -4
  549. package/lib/esm/appui-react/tools/RestoreLayoutTool.js.map +1 -1
  550. package/lib/esm/appui-react/tools/ToolSettingsTools.js +2 -4
  551. package/lib/esm/appui-react/tools/ToolSettingsTools.js.map +1 -1
  552. package/lib/esm/appui-react/toolsettings/DefaultToolSettingsProvider.js.map +1 -1
  553. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js +1 -2
  554. package/lib/esm/appui-react/toolsettings/InternalToolSettingsManager.js.map +1 -1
  555. package/lib/esm/appui-react/toolsettings/ToolInformation.js.map +1 -1
  556. package/lib/esm/appui-react/ui-items-provider/AbstractUiItemsManager.js.map +1 -1
  557. package/lib/esm/appui-react/ui-items-provider/BaseUiItemsProvider.js.map +1 -1
  558. package/lib/esm/appui-react/ui-items-provider/StandardContentToolsUiItemsProvider.js.map +1 -1
  559. package/lib/esm/appui-react/ui-items-provider/StandardNavigationToolsUiItemsProvider.js.map +1 -1
  560. package/lib/esm/appui-react/ui-items-provider/StandardStatusbarUiItemsProvider.js.map +1 -1
  561. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js +1 -2
  562. package/lib/esm/appui-react/ui-items-provider/UiItemsManager.js.map +1 -1
  563. package/lib/esm/appui-react/uiprovider/ComponentGenerator.js.map +1 -1
  564. package/lib/esm/appui-react/uistate/AppUiSettings.js +1 -2
  565. package/lib/esm/appui-react/uistate/AppUiSettings.js.map +1 -1
  566. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js +2 -4
  567. package/lib/esm/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  568. package/lib/esm/appui-react/utils/PropsHelper.js.map +1 -1
  569. package/lib/esm/appui-react/utils/ToolbarButtonHelper.js.map +1 -1
  570. package/lib/esm/appui-react/utils/matchesWords.js.map +1 -1
  571. package/lib/esm/appui-react/widget-panels/DockedBar.scss +1 -0
  572. package/lib/esm/appui-react/widget-panels/Frontstage.js.map +1 -1
  573. package/lib/esm/appui-react/widget-panels/useWidgetDirection.js.map +1 -1
  574. package/lib/esm/appui-react/widgets/BackstageAppButton.js.map +1 -1
  575. package/lib/esm/appui-react/widgets/BasicNavigationWidget.js.map +1 -1
  576. package/lib/esm/appui-react/widgets/BasicToolWidget.js.map +1 -1
  577. package/lib/esm/appui-react/widgets/NavigationWidgetComposer.js.map +1 -1
  578. package/lib/esm/appui-react/widgets/StableWidgetDef.js.map +1 -1
  579. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js +1 -2
  580. package/lib/esm/appui-react/widgets/StatusBarWidgetComposerControl.js.map +1 -1
  581. package/lib/esm/appui-react/widgets/WidgetDef.js +1 -2
  582. package/lib/esm/appui-react/widgets/WidgetDef.js.map +1 -1
  583. package/lib/esm/appui-react/widgets/WidgetHost.js.map +1 -1
  584. package/lib/esm/appui-react/widgets/WidgetManager.js.map +1 -1
  585. package/lib/esm/appui-react/widgets/useWidget.js.map +1 -1
  586. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"DragManager.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/DragManager.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 Base\n */\nimport * as React from \"react\";\nimport { isEqual } from \"lodash\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { Point } from \"@itwin/core-react\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes\";\nimport type { FloatingWidgetResizeHandle } from \"../widget/FloatingWidget\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport type { TabState } from \"../state/TabState\";\nimport { getUniqueId } from \"./NineZone\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers\";\nimport type {\n DropTargetState,\n PanelDropTargetState,\n TabDragDropTargetState,\n TabDropTargetState,\n WidgetDragDropTargetState,\n} from \"../state/DropTargetState\";\nimport {\n isTabDragDropTargetState,\n isWidgetDragDropTargetState,\n} from \"../state/DropTargetState\";\n\n/** @internal */\nexport interface DragStartArgs {\n initialPointerPosition: Point;\n pointerPosition: Point;\n}\n\n/** @internal */\nexport interface TabDragStartArgs extends DragStartArgs {\n widgetSize: SizeProps;\n}\n\n/** @internal */\nexport interface UseDragTabArgs {\n tabId: TabState[\"id\"];\n onDrag?: (dragBy: XAndY) => void;\n onDragEnd?: (target: TabDragDropTargetState) => void;\n}\n\n/** @internal */\nexport function useDragTab(args: UseDragTabArgs) {\n const { tabId, onDrag, onDragEnd } = args;\n const item = React.useMemo<TabDragItem>(() => {\n return {\n type: \"tab\",\n id: tabId,\n };\n }, [tabId]);\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n const dragBy = info.lastPointerPosition.getOffsetTo(info.pointerPosition);\n onDrag && onDrag(dragBy);\n },\n [onDrag]\n );\n const handleDragEnd = React.useCallback<DragEventHandler>(\n (_item, info, target) => {\n // istanbul ignore next\n if (!onDragEnd) return;\n\n let tabTarget: TabDragDropTargetState;\n if (target && isTabDragDropTargetState(target)) {\n tabTarget = target;\n } else {\n const tabInfo = info as TabDragInfo;\n const newFloatingWidgetId = getUniqueId();\n const size = tabInfo.widgetSize;\n tabTarget = {\n type: \"floatingWidget\",\n newFloatingWidgetId,\n size,\n };\n }\n onDragEnd(tabTarget);\n },\n [onDragEnd]\n );\n const onDragStart = useDragItem({\n item,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n });\n const handleDragStart = React.useCallback(\n ({\n initialPointerPosition,\n pointerPosition,\n widgetSize,\n }: TabDragStartArgs) => {\n onDragStart({\n initialPointerPosition,\n pointerPosition,\n lastPointerPosition: initialPointerPosition,\n widgetSize,\n });\n },\n [onDragStart]\n );\n return handleDragStart;\n}\n\ntype UpdateWidgetDragItemFn = (id: WidgetDragItem[\"id\"]) => void;\n\n/** @internal */\nexport interface UseDragWidgetArgs {\n widgetId: WidgetState[\"id\"];\n onDragStart?: (\n updateWidget: UpdateWidgetDragItemFn,\n initialPointerPosition: Point,\n pointerPosition: Point\n ) => void;\n onDrag?: (dragBy: Point) => void;\n onDragEnd?: (target: WidgetDragDropTargetState) => void;\n}\n\n/** @internal */\nexport function useDragWidget(args: UseDragWidgetArgs) {\n const { widgetId, onDragStart, onDrag, onDragEnd } = args;\n const dragManager = React.useContext(DragManagerContext);\n const widgetItem = React.useMemo<WidgetDragItem>(() => {\n return {\n type: \"widget\",\n id: widgetId,\n };\n }, [widgetId]);\n const handleDragStart = React.useCallback<DragEventHandler>(\n (_item, info) => {\n onDragStart &&\n onDragStart(\n (id) => {\n dragManager.handleDragUpdate({\n type: \"widget\",\n id,\n });\n },\n info.initialPointerPosition,\n info.pointerPosition\n );\n },\n [dragManager, onDragStart]\n );\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n const dragBy = info.lastPointerPosition.getOffsetTo(info.pointerPosition);\n onDrag && onDrag(dragBy);\n },\n [onDrag]\n );\n const handleDragEnd = React.useCallback<DragEventHandler>(\n (_item, _info, target) => {\n if (!onDragEnd) return;\n\n let widgetTarget: WidgetDragDropTargetState;\n if (target && isWidgetDragDropTargetState(target)) {\n widgetTarget = target;\n } else {\n widgetTarget = {\n type: \"window\",\n };\n }\n onDragEnd(widgetTarget);\n },\n [onDragEnd]\n );\n const isDragItem = React.useCallback<\n NonNullable<UseDragItemArgs<WidgetDragItem>[\"isDragItem\"]>\n >((item, dragged) => {\n return !!item && defaultIsDragItem(item, dragged);\n }, []);\n const onItemDragStart = useDragItem({\n item: widgetItem,\n isDragItem,\n onDragStart: handleDragStart,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n });\n const handleWidgetDragStart = React.useCallback(\n ({ initialPointerPosition, pointerPosition }: DragStartArgs) => {\n onItemDragStart({\n initialPointerPosition,\n pointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onItemDragStart]\n );\n return handleWidgetDragStart;\n}\n\n/** @internal */\nexport interface UseDragPanelGripArgs {\n side: PanelSide;\n onDrag?: (pointerPosition: Point, lastPointerPosition: Point) => void;\n onDragEnd?: () => void;\n}\n\n/** @internal */\nexport function useDragPanelGrip(args: UseDragPanelGripArgs) {\n const { side, onDrag, onDragEnd } = args;\n const gripItem = React.useMemo<PanelGripDragItem>(() => {\n return {\n type: \"panelGrip\",\n id: side,\n };\n }, [side]);\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n onDrag && onDrag(info.pointerPosition, info.lastPointerPosition);\n },\n [onDrag]\n );\n const handleDragEnd = React.useCallback<DragEventHandler>(() => {\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const onItemDragStart = useDragItem({\n item: gripItem,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n });\n const handleDragStart = React.useCallback(\n ({ initialPointerPosition }: DragStartArgs) => {\n onItemDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onItemDragStart]\n );\n return handleDragStart;\n}\n\n/** @internal */\nexport interface UseDragResizeHandleArgs {\n widgetId: WidgetState[\"id\"];\n handle: FloatingWidgetResizeHandle;\n onDrag?: (pointerPosition: Point) => void;\n}\n\n/** @internal */\nexport function useDragResizeHandle(args: UseDragResizeHandleArgs) {\n const { handle, onDrag, widgetId } = args;\n const resizeHandleItem = React.useMemo<ResizeHandleDragItem>(() => {\n return {\n type: \"resizeHandle\",\n id: handle,\n widgetId,\n };\n }, [handle, widgetId]);\n const isDragItem = React.useCallback<\n NonNullable<UseDragItemArgs<ResizeHandleDragItem>[\"isDragItem\"]>\n >((item, draggedItem) => {\n return (\n !!item &&\n isResizeHandleDragItem(draggedItem) &&\n defaultIsDragItem(item, draggedItem) &&\n item.widgetId === draggedItem.widgetId\n );\n }, []);\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n onDrag && onDrag(info.pointerPosition);\n },\n [onDrag]\n );\n const onItemDragStart = useDragItem<ResizeHandleDragItem>({\n item: resizeHandleItem,\n isDragItem,\n onDrag: handleDrag,\n });\n const handleDragStart = React.useCallback(\n ({ initialPointerPosition }: DragStartArgs) => {\n onItemDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onItemDragStart]\n );\n return handleDragStart;\n}\n\n/** @internal */\nexport interface UseDragToolSettingsArgs {\n newFloatingWidgetId: WidgetDragItem[\"id\"];\n}\n\n/** @internal */\nexport function useDragToolSettings(args: UseDragToolSettingsArgs) {\n const { newFloatingWidgetId } = args;\n const item = React.useMemo<WidgetDragItem>(() => {\n return {\n type: \"widget\",\n id: newFloatingWidgetId,\n };\n }, [newFloatingWidgetId]);\n const onDragStart = useDragItem({\n item,\n });\n const handleDragStart = React.useCallback(\n ({ initialPointerPosition }: DragStartArgs) => {\n onDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onDragStart]\n );\n return handleDragStart;\n}\n\n/** @internal */\nexport function useTarget<T extends Element>(\n target: DropTargetState\n): [\n React.Ref<T>,\n boolean // targeted\n] {\n const dragManager = React.useContext(DragManagerContext);\n const [targeted, setTargeted] = React.useState(false);\n const targetedRef = React.useRef(false);\n const onTargeted = React.useCallback(\n (doTarget: boolean) => {\n const isTargeted = dragManager.isTargeted(target);\n if (doTarget && !isTargeted) {\n dragManager.handleTargetChanged(target);\n } else if (!doTarget && isTargeted) {\n dragManager.handleTargetChanged(undefined);\n }\n setTargeted(doTarget);\n },\n [dragManager, target]\n );\n const ref = React.useRef<T>(null);\n React.useEffect(() => {\n return dragManager.onDrag.addListener((_item, info) => {\n const targetedElement = document.elementFromPoint(\n info.pointerPosition.x,\n info.pointerPosition.y\n );\n const newTargeted = targetedElement === ref.current;\n newTargeted !== targetedRef.current && onTargeted(newTargeted);\n targetedRef.current = newTargeted;\n });\n }, [onTargeted, dragManager]);\n React.useEffect(() => {\n return dragManager.onDragEnd.addListener(() => {\n targetedRef.current && onTargeted(false);\n targetedRef.current = false;\n });\n }, [onTargeted, dragManager]);\n return [ref, targeted];\n}\n\n/** @internal */\nexport interface UseTabTargetArgs {\n widgetId: WidgetState[\"id\"];\n tabIndex: number;\n}\n\n/** @internal */\nexport function useTabTarget<T extends Element>(\n args: UseTabTargetArgs\n): [\n React.Ref<T>,\n boolean // targeted\n] {\n const { tabIndex, widgetId } = args;\n const target = React.useMemo<TabDropTargetState>(\n () => ({\n type: \"tab\",\n tabIndex,\n widgetId,\n }),\n [tabIndex, widgetId]\n );\n return useTarget(target);\n}\n\n/** @internal */\nexport interface UsePanelTargetArgs {\n side: PanelSide;\n newWidgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport function usePanelTarget<T extends Element>(\n args: UsePanelTargetArgs\n): [\n React.Ref<T>,\n boolean // targeted\n] {\n const { side, newWidgetId } = args;\n const target = React.useMemo<PanelDropTargetState>(\n () => ({\n type: \"panel\",\n side,\n newWidgetId,\n }),\n [side, newWidgetId]\n );\n return useTarget(target);\n}\n\n/** @internal */\nexport interface UseDragItemArgs<T extends DragItem> {\n item: T;\n isDragItem?: (item: T | undefined, dragged: DragItem) => boolean;\n onDragStart?: DragEventHandler;\n onDrag?: DragEventHandler;\n onDragEnd?: DragEventHandler;\n}\n\nfunction defaultIsDragItem(item: DragItem, dragged: DragItem) {\n return dragged.type === item.type && dragged.id === item.id;\n}\n\n/** @internal */\nexport function useDragItem<T extends DragItem>(args: UseDragItemArgs<T>) {\n const dragManager = React.useContext(DragManagerContext);\n const { item, isDragItem, onDragStart, onDrag, onDragEnd } = args;\n const handleDragStart = React.useCallback(\n (info: DragInfo) => {\n item &&\n dragManager.handleDragStart({\n item,\n info,\n });\n },\n [dragManager, item]\n );\n React.useEffect(() => {\n return dragManager.onDragStart.addListener((draggedItem, info, target) => {\n const handleEvent = isDragItem\n ? isDragItem(item, draggedItem)\n : defaultIsDragItem(item, draggedItem);\n if (!handleEvent) return;\n onDragStart && onDragStart(draggedItem, info, target);\n });\n }, [dragManager, onDragStart, item, isDragItem]);\n React.useEffect(() => {\n return dragManager.onDrag.addListener((draggedItem, info, target) => {\n const handleEvent = isDragItem\n ? isDragItem(item, draggedItem)\n : defaultIsDragItem(item, draggedItem);\n if (!handleEvent) return;\n onDrag && onDrag(draggedItem, info, target);\n });\n }, [dragManager, onDrag, item, isDragItem]);\n React.useEffect(() => {\n return dragManager.onDragEnd.addListener((draggedItem, info, target) => {\n const handleEvent = isDragItem\n ? isDragItem(item, draggedItem)\n : defaultIsDragItem(item, draggedItem);\n if (!handleEvent) return;\n onDragEnd && onDragEnd(draggedItem, info, target);\n });\n }, [dragManager, onDragEnd, item, isDragItem]);\n return handleDragStart;\n}\n\n/** @internal */\nexport function useDraggedItem() {\n const dragManager = React.useContext(DragManagerContext);\n const [draggedItem, setDraggedItem] = React.useState<DragItem | undefined>(\n dragManager.draggedItem?.item\n );\n React.useEffect(() => {\n return dragManager.onDragStart.addListener((item) => {\n setDraggedItem(item);\n });\n }, [dragManager]);\n React.useEffect(() => {\n return dragManager.onDragUpdate.addListener((item) => {\n setDraggedItem(item);\n });\n }, [dragManager]);\n React.useEffect(() => {\n return dragManager.onDragEnd.addListener(() => {\n setDraggedItem(undefined);\n });\n }, [dragManager]);\n return draggedItem;\n}\n\n/** @internal */\nexport function useIsDraggedItem(item: DragItem) {\n const draggedItem = useDraggedItem();\n return (\n !!draggedItem &&\n draggedItem.id === item.id &&\n draggedItem.type === item.type\n );\n}\n\n/** @internal */\nexport function useIsDraggedType(type: DragItem[\"type\"]) {\n const draggedItem = useDraggedItem();\n return !!draggedItem && draggedItem.type === type;\n}\n\n/** @internal */\nexport function useDraggedItemId<T extends DragItem>(\n type: T[\"type\"]\n): T[\"id\"] | undefined {\n const draggedItem = useDraggedItem();\n\n if (draggedItem && draggedItem.type === type) {\n return draggedItem.id;\n }\n return undefined;\n}\n\n/** @internal */\nexport interface DragProviderProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function DragProvider(props: DragProviderProps) {\n const dragManager = React.useRef(new DragManager());\n React.useEffect(() => {\n const mouseMove = (e: MouseEvent) => {\n dragManager.current.handleDrag(e.clientX, e.clientY);\n };\n document.addEventListener(\"mousemove\", mouseMove);\n return () => {\n document.removeEventListener(\"mousemove\", mouseMove);\n };\n }, []);\n React.useEffect(() => {\n const mouseUp = () => {\n dragManager.current.handleDragEnd();\n };\n document.addEventListener(\"mouseup\", mouseUp);\n return () => {\n document.removeEventListener(\"mouseup\", mouseUp);\n };\n }, []);\n return (\n <DragManagerContext.Provider value={dragManager.current}>\n <DraggedWidgetIdProvider>\n <DraggedPanelSideProvider>\n <DraggedResizeHandleProvider>\n {props.children}\n </DraggedResizeHandleProvider>\n </DraggedPanelSideProvider>\n </DraggedWidgetIdProvider>\n </DragManagerContext.Provider>\n );\n}\n\nfunction DraggedWidgetIdProvider(props: { children?: React.ReactNode }) {\n const draggedWidgetId = useDraggedItemId<WidgetDragItem>(\"widget\");\n return (\n <DraggedWidgetIdContext.Provider value={draggedWidgetId}>\n {props.children}\n </DraggedWidgetIdContext.Provider>\n );\n}\n\nfunction DraggedPanelSideProvider(props: { children?: React.ReactNode }) {\n const draggedSide = useDraggedItemId<PanelGripDragItem>(\"panelGrip\");\n return (\n <DraggedPanelSideContext.Provider value={draggedSide}>\n {props.children}\n </DraggedPanelSideContext.Provider>\n );\n}\n\nfunction DraggedResizeHandleProvider(props: { children?: React.ReactNode }) {\n const draggedHandle = useDraggedItemId<ResizeHandleDragItem>(\"resizeHandle\");\n return (\n <DraggedResizeHandleContext.Provider value={draggedHandle}>\n {props.children}\n </DraggedResizeHandleContext.Provider>\n );\n}\n\ninterface TabDragItem {\n type: \"tab\";\n id: TabState[\"id\"];\n}\n\ninterface WidgetDragItem {\n type: \"widget\";\n id: WidgetState[\"id\"];\n}\n\ninterface PanelGripDragItem {\n type: \"panelGrip\";\n id: PanelSide;\n}\n\ninterface ResizeHandleDragItem {\n type: \"resizeHandle\";\n id: FloatingWidgetResizeHandle;\n widgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport type DragItem =\n | TabDragItem\n | WidgetDragItem\n | PanelGripDragItem\n | ResizeHandleDragItem;\n\nfunction isResizeHandleDragItem(item: DragItem): item is ResizeHandleDragItem {\n return item.type === \"resizeHandle\";\n}\n\ninterface BaseDragInfo {\n initialPointerPosition: Point;\n lastPointerPosition: Point;\n pointerPosition: Point;\n}\n\ninterface TabDragInfo extends BaseDragInfo {\n widgetSize: SizeProps;\n}\n\ntype DragInfo = BaseDragInfo | TabDragInfo;\n\ninterface HandleDragStartArgs {\n item: DragItem;\n info: DragInfo;\n}\n\ninterface Dragged {\n item: DragItem;\n info: DragInfo;\n target: DropTargetState | undefined;\n}\n\ntype DragEventHandler = (\n item: DragItem,\n info: DragInfo,\n target: DropTargetState | undefined\n) => void;\ntype DropTargetChangedEventHandler = (\n target: DropTargetState | undefined\n) => void;\n\n/** @internal */\nexport class DragManager {\n private _dragged: Dragged | undefined;\n private _onDragStartEmitter = new BeEvent<DragEventHandler>();\n private _onDragUpdateEmitter = new BeEvent<DragEventHandler>();\n private _onDragEmitter = new BeEvent<DragEventHandler>();\n private _onDragEndEmitter = new BeEvent<DragEventHandler>();\n private _onTargetChangedEmitter =\n new BeEvent<DropTargetChangedEventHandler>();\n\n public get draggedItem() {\n return this._dragged;\n }\n\n public isTargeted(target: DropTargetState) {\n if (!this._dragged) return false;\n\n if (!this._dragged.target) return false;\n\n return isEqual(this._dragged.target, target);\n }\n\n public get onDragStart() {\n return this._onDragStartEmitter;\n }\n\n public get onDragUpdate() {\n return this._onDragUpdateEmitter;\n }\n\n public get onDrag() {\n return this._onDragEmitter;\n }\n\n public get onDragEnd() {\n return this._onDragEndEmitter;\n }\n\n public get onTargetChanged() {\n return this._onTargetChangedEmitter;\n }\n\n public handleDragStart({ item, info }: HandleDragStartArgs) {\n this._dragged = {\n item,\n info,\n target: undefined,\n };\n this._onDragStartEmitter.raiseEvent(\n this._dragged.item,\n this._dragged.info,\n this._dragged.target\n );\n }\n\n public handleDragUpdate(item: DragItem) {\n // istanbul ignore next\n if (!this._dragged) return;\n\n this._dragged.item = item;\n this._onDragUpdateEmitter.raiseEvent(\n this._dragged.item,\n this._dragged.info,\n this._dragged.target\n );\n }\n\n public handleDrag(x: number, y: number) {\n if (!this._dragged) return;\n\n this._dragged.info.lastPointerPosition = this._dragged.info.pointerPosition;\n this._dragged.info.pointerPosition = new Point(x, y);\n\n this._onDragEmitter.raiseEvent(\n this._dragged.item,\n this._dragged.info,\n this._dragged.target\n );\n }\n\n public handleDragEnd() {\n if (!this._dragged) return;\n\n const item = this._dragged.item;\n const info = this._dragged.info;\n const target = this._dragged.target;\n this._dragged = undefined;\n this._onDragEndEmitter.raiseEvent(item, info, target);\n target && this._onTargetChangedEmitter.raiseEvent(undefined);\n }\n\n public handleTargetChanged(target: DropTargetState | undefined) {\n if (!this._dragged) return;\n this._dragged.target = target;\n this._onTargetChangedEmitter.raiseEvent(target);\n }\n}\n\n/** @internal */\nexport const DragManagerContext = React.createContext<DragManager>(null!);\nDragManagerContext.displayName = \"nz:DragManagerContext\";\n\n/** @internal */\nexport const DraggedWidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nDraggedWidgetIdContext.displayName = \"nz:DraggedWidgetIdContext\";\n\n/** @internal */\nexport const DraggedPanelSideContext = React.createContext<\n PanelSide | undefined\n>(undefined);\nDraggedPanelSideContext.displayName = \"nz:DraggedPanelSideContext\";\n\n/** @internal */\nexport const DraggedResizeHandleContext = React.createContext<\n FloatingWidgetResizeHandle | undefined\n>(undefined);\nDraggedResizeHandleContext.displayName = \"nz:DraggedResizeHandleContext\";\n\n/** @internal */\nexport function useTargeted() {\n const dragManager = React.useContext(DragManagerContext);\n const [targeted, setTargeted] = React.useState<DropTargetState>();\n React.useEffect(() => {\n return dragManager.onTargetChanged.addListener((t) => {\n setTargeted(t);\n });\n }, [dragManager]);\n return targeted;\n}\n"]}
1
+ {"version":3,"file":"DragManager.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/DragManager.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 Base\n */\nimport * as React from \"react\";\nimport { isEqual } from \"lodash\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport type { SizeProps } from \"@itwin/core-react\";\nimport { Point } from \"@itwin/core-react\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes\";\nimport type { FloatingWidgetResizeHandle } from \"../widget/FloatingWidget\";\nimport type { WidgetState } from \"../state/WidgetState\";\nimport type { TabState } from \"../state/TabState\";\nimport { getUniqueId } from \"./NineZone\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers\";\nimport type {\n DropTargetState,\n PanelDropTargetState,\n TabDragDropTargetState,\n TabDropTargetState,\n WidgetDragDropTargetState,\n} from \"../state/DropTargetState\";\nimport {\n isTabDragDropTargetState,\n isWidgetDragDropTargetState,\n} from \"../state/DropTargetState\";\n\n/** @internal */\nexport interface DragStartArgs {\n initialPointerPosition: Point;\n pointerPosition: Point;\n}\n\n/** @internal */\nexport interface TabDragStartArgs extends DragStartArgs {\n widgetSize: SizeProps;\n}\n\n/** @internal */\nexport interface UseDragTabArgs {\n tabId: TabState[\"id\"];\n onDrag?: (dragBy: XAndY) => void;\n onDragEnd?: (target: TabDragDropTargetState) => void;\n}\n\n/** @internal */\nexport function useDragTab(args: UseDragTabArgs) {\n const { tabId, onDrag, onDragEnd } = args;\n const item = React.useMemo<TabDragItem>(() => {\n return {\n type: \"tab\",\n id: tabId,\n };\n }, [tabId]);\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n const dragBy = info.lastPointerPosition.getOffsetTo(info.pointerPosition);\n onDrag && onDrag(dragBy);\n },\n [onDrag]\n );\n const handleDragEnd = React.useCallback<DragEventHandler>(\n (_item, info, target) => {\n // istanbul ignore next\n if (!onDragEnd) return;\n\n let tabTarget: TabDragDropTargetState;\n if (target && isTabDragDropTargetState(target)) {\n tabTarget = target;\n } else {\n const tabInfo = info as TabDragInfo;\n const newFloatingWidgetId = getUniqueId();\n const size = tabInfo.widgetSize;\n tabTarget = {\n type: \"floatingWidget\",\n newFloatingWidgetId,\n size,\n };\n }\n onDragEnd(tabTarget);\n },\n [onDragEnd]\n );\n const onDragStart = useDragItem({\n item,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n });\n const handleDragStart = React.useCallback(\n ({\n initialPointerPosition,\n pointerPosition,\n widgetSize,\n }: TabDragStartArgs) => {\n onDragStart({\n initialPointerPosition,\n pointerPosition,\n lastPointerPosition: initialPointerPosition,\n widgetSize,\n });\n },\n [onDragStart]\n );\n return handleDragStart;\n}\n\ntype UpdateWidgetDragItemFn = (id: WidgetDragItem[\"id\"]) => void;\n\n/** @internal */\nexport interface UseDragWidgetArgs {\n widgetId: WidgetState[\"id\"];\n onDragStart?: (\n updateWidget: UpdateWidgetDragItemFn,\n initialPointerPosition: Point,\n pointerPosition: Point\n ) => void;\n onDrag?: (dragBy: Point) => void;\n onDragEnd?: (target: WidgetDragDropTargetState) => void;\n}\n\n/** @internal */\nexport function useDragWidget(args: UseDragWidgetArgs) {\n const { widgetId, onDragStart, onDrag, onDragEnd } = args;\n const dragManager = React.useContext(DragManagerContext);\n const widgetItem = React.useMemo<WidgetDragItem>(() => {\n return {\n type: \"widget\",\n id: widgetId,\n };\n }, [widgetId]);\n const handleDragStart = React.useCallback<DragEventHandler>(\n (_item, info) => {\n onDragStart &&\n onDragStart(\n (id) => {\n dragManager.handleDragUpdate({\n type: \"widget\",\n id,\n });\n },\n info.initialPointerPosition,\n info.pointerPosition\n );\n },\n [dragManager, onDragStart]\n );\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n const dragBy = info.lastPointerPosition.getOffsetTo(info.pointerPosition);\n onDrag && onDrag(dragBy);\n },\n [onDrag]\n );\n const handleDragEnd = React.useCallback<DragEventHandler>(\n (_item, _info, target) => {\n if (!onDragEnd) return;\n\n let widgetTarget: WidgetDragDropTargetState;\n if (target && isWidgetDragDropTargetState(target)) {\n widgetTarget = target;\n } else {\n widgetTarget = {\n type: \"window\",\n };\n }\n onDragEnd(widgetTarget);\n },\n [onDragEnd]\n );\n const isDragItem = React.useCallback<\n NonNullable<UseDragItemArgs<WidgetDragItem>[\"isDragItem\"]>\n >((item, dragged) => {\n return !!item && defaultIsDragItem(item, dragged);\n }, []);\n const onItemDragStart = useDragItem({\n item: widgetItem,\n isDragItem,\n onDragStart: handleDragStart,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n });\n const handleWidgetDragStart = React.useCallback(\n ({ initialPointerPosition, pointerPosition }: DragStartArgs) => {\n onItemDragStart({\n initialPointerPosition,\n pointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onItemDragStart]\n );\n return handleWidgetDragStart;\n}\n\n/** @internal */\nexport interface UseDragPanelGripArgs {\n side: PanelSide;\n onDrag?: (pointerPosition: Point, lastPointerPosition: Point) => void;\n onDragEnd?: () => void;\n}\n\n/** @internal */\nexport function useDragPanelGrip(args: UseDragPanelGripArgs) {\n const { side, onDrag, onDragEnd } = args;\n const gripItem = React.useMemo<PanelGripDragItem>(() => {\n return {\n type: \"panelGrip\",\n id: side,\n };\n }, [side]);\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n onDrag && onDrag(info.pointerPosition, info.lastPointerPosition);\n },\n [onDrag]\n );\n const handleDragEnd = React.useCallback<DragEventHandler>(() => {\n onDragEnd && onDragEnd();\n }, [onDragEnd]);\n const onItemDragStart = useDragItem({\n item: gripItem,\n onDrag: handleDrag,\n onDragEnd: handleDragEnd,\n });\n const handleDragStart = React.useCallback(\n ({ initialPointerPosition }: DragStartArgs) => {\n onItemDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onItemDragStart]\n );\n return handleDragStart;\n}\n\n/** @internal */\nexport interface UseDragResizeHandleArgs {\n widgetId: WidgetState[\"id\"];\n handle: FloatingWidgetResizeHandle;\n onDrag?: (pointerPosition: Point) => void;\n}\n\n/** @internal */\nexport function useDragResizeHandle(args: UseDragResizeHandleArgs) {\n const { handle, onDrag, widgetId } = args;\n const resizeHandleItem = React.useMemo<ResizeHandleDragItem>(() => {\n return {\n type: \"resizeHandle\",\n id: handle,\n widgetId,\n };\n }, [handle, widgetId]);\n const isDragItem = React.useCallback<\n NonNullable<UseDragItemArgs<ResizeHandleDragItem>[\"isDragItem\"]>\n >((item, draggedItem) => {\n return (\n !!item &&\n isResizeHandleDragItem(draggedItem) &&\n defaultIsDragItem(item, draggedItem) &&\n item.widgetId === draggedItem.widgetId\n );\n }, []);\n const handleDrag = React.useCallback<DragEventHandler>(\n (_item, info) => {\n onDrag && onDrag(info.pointerPosition);\n },\n [onDrag]\n );\n const onItemDragStart = useDragItem<ResizeHandleDragItem>({\n item: resizeHandleItem,\n isDragItem,\n onDrag: handleDrag,\n });\n const handleDragStart = React.useCallback(\n ({ initialPointerPosition }: DragStartArgs) => {\n onItemDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onItemDragStart]\n );\n return handleDragStart;\n}\n\n/** @internal */\nexport interface UseDragToolSettingsArgs {\n newFloatingWidgetId: WidgetDragItem[\"id\"];\n}\n\n/** @internal */\nexport function useDragToolSettings(args: UseDragToolSettingsArgs) {\n const { newFloatingWidgetId } = args;\n const item = React.useMemo<WidgetDragItem>(() => {\n return {\n type: \"widget\",\n id: newFloatingWidgetId,\n };\n }, [newFloatingWidgetId]);\n const onDragStart = useDragItem({\n item,\n });\n const handleDragStart = React.useCallback(\n ({ initialPointerPosition }: DragStartArgs) => {\n onDragStart({\n initialPointerPosition,\n pointerPosition: initialPointerPosition,\n lastPointerPosition: initialPointerPosition,\n });\n },\n [onDragStart]\n );\n return handleDragStart;\n}\n\n/** @internal */\nexport function useTarget<T extends Element>(\n target: DropTargetState\n): [\n React.Ref<T>,\n boolean // targeted\n] {\n const dragManager = React.useContext(DragManagerContext);\n const [targeted, setTargeted] = React.useState(false);\n const targetedRef = React.useRef(false);\n const onTargeted = React.useCallback(\n (doTarget: boolean) => {\n const isTargeted = dragManager.isTargeted(target);\n if (doTarget && !isTargeted) {\n dragManager.handleTargetChanged(target);\n } else if (!doTarget && isTargeted) {\n dragManager.handleTargetChanged(undefined);\n }\n setTargeted(doTarget);\n },\n [dragManager, target]\n );\n const ref = React.useRef<T>(null);\n React.useEffect(() => {\n return dragManager.onDrag.addListener((_item, info) => {\n const targetedElement = document.elementFromPoint(\n info.pointerPosition.x,\n info.pointerPosition.y\n );\n const newTargeted = targetedElement === ref.current;\n newTargeted !== targetedRef.current && onTargeted(newTargeted);\n targetedRef.current = newTargeted;\n });\n }, [onTargeted, dragManager]);\n React.useEffect(() => {\n return dragManager.onDragEnd.addListener(() => {\n targetedRef.current && onTargeted(false);\n targetedRef.current = false;\n });\n }, [onTargeted, dragManager]);\n return [ref, targeted];\n}\n\n/** @internal */\nexport interface UseTabTargetArgs {\n widgetId: WidgetState[\"id\"];\n tabIndex: number;\n}\n\n/** @internal */\nexport function useTabTarget<T extends Element>(\n args: UseTabTargetArgs\n): [\n React.Ref<T>,\n boolean // targeted\n] {\n const { tabIndex, widgetId } = args;\n const target = React.useMemo<TabDropTargetState>(\n () => ({\n type: \"tab\",\n tabIndex,\n widgetId,\n }),\n [tabIndex, widgetId]\n );\n return useTarget(target);\n}\n\n/** @internal */\nexport interface UsePanelTargetArgs {\n side: PanelSide;\n newWidgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport function usePanelTarget<T extends Element>(\n args: UsePanelTargetArgs\n): [\n React.Ref<T>,\n boolean // targeted\n] {\n const { side, newWidgetId } = args;\n const target = React.useMemo<PanelDropTargetState>(\n () => ({\n type: \"panel\",\n side,\n newWidgetId,\n }),\n [side, newWidgetId]\n );\n return useTarget(target);\n}\n\n/** @internal */\nexport interface UseDragItemArgs<T extends DragItem> {\n item: T;\n isDragItem?: (item: T | undefined, dragged: DragItem) => boolean;\n onDragStart?: DragEventHandler;\n onDrag?: DragEventHandler;\n onDragEnd?: DragEventHandler;\n}\n\nfunction defaultIsDragItem(item: DragItem, dragged: DragItem) {\n return dragged.type === item.type && dragged.id === item.id;\n}\n\n/** @internal */\nexport function useDragItem<T extends DragItem>(args: UseDragItemArgs<T>) {\n const dragManager = React.useContext(DragManagerContext);\n const { item, isDragItem, onDragStart, onDrag, onDragEnd } = args;\n const handleDragStart = React.useCallback(\n (info: DragInfo) => {\n item &&\n dragManager.handleDragStart({\n item,\n info,\n });\n },\n [dragManager, item]\n );\n React.useEffect(() => {\n return dragManager.onDragStart.addListener((draggedItem, info, target) => {\n const handleEvent = isDragItem\n ? isDragItem(item, draggedItem)\n : defaultIsDragItem(item, draggedItem);\n if (!handleEvent) return;\n onDragStart && onDragStart(draggedItem, info, target);\n });\n }, [dragManager, onDragStart, item, isDragItem]);\n React.useEffect(() => {\n return dragManager.onDrag.addListener((draggedItem, info, target) => {\n const handleEvent = isDragItem\n ? isDragItem(item, draggedItem)\n : defaultIsDragItem(item, draggedItem);\n if (!handleEvent) return;\n onDrag && onDrag(draggedItem, info, target);\n });\n }, [dragManager, onDrag, item, isDragItem]);\n React.useEffect(() => {\n return dragManager.onDragEnd.addListener((draggedItem, info, target) => {\n const handleEvent = isDragItem\n ? isDragItem(item, draggedItem)\n : defaultIsDragItem(item, draggedItem);\n if (!handleEvent) return;\n onDragEnd && onDragEnd(draggedItem, info, target);\n });\n }, [dragManager, onDragEnd, item, isDragItem]);\n return handleDragStart;\n}\n\n/** @internal */\nexport function useDraggedItem() {\n const dragManager = React.useContext(DragManagerContext);\n const [draggedItem, setDraggedItem] = React.useState<DragItem | undefined>(\n dragManager.draggedItem?.item\n );\n React.useEffect(() => {\n return dragManager.onDragStart.addListener((item) => {\n setDraggedItem(item);\n });\n }, [dragManager]);\n React.useEffect(() => {\n return dragManager.onDragUpdate.addListener((item) => {\n setDraggedItem(item);\n });\n }, [dragManager]);\n React.useEffect(() => {\n return dragManager.onDragEnd.addListener(() => {\n setDraggedItem(undefined);\n });\n }, [dragManager]);\n return draggedItem;\n}\n\n/** @internal */\nexport function useIsDraggedItem(item: DragItem) {\n const draggedItem = useDraggedItem();\n return (\n !!draggedItem &&\n draggedItem.id === item.id &&\n draggedItem.type === item.type\n );\n}\n\n/** @internal */\nexport function useIsDraggedType(type: DragItem[\"type\"]) {\n const draggedItem = useDraggedItem();\n return !!draggedItem && draggedItem.type === type;\n}\n\n/** @internal */\nexport function useDraggedItemId<T extends DragItem>(\n type: T[\"type\"]\n): T[\"id\"] | undefined {\n const draggedItem = useDraggedItem();\n\n if (draggedItem && draggedItem.type === type) {\n return draggedItem.id;\n }\n return undefined;\n}\n\n/** @internal */\nexport interface DragProviderProps {\n children?: React.ReactNode;\n}\n\n/** @internal */\nexport function DragProvider(props: DragProviderProps) {\n const dragManager = React.useRef(new DragManager());\n React.useEffect(() => {\n const mouseMove = (e: MouseEvent) => {\n dragManager.current.handleDrag(e.clientX, e.clientY);\n };\n document.addEventListener(\"mousemove\", mouseMove);\n return () => {\n document.removeEventListener(\"mousemove\", mouseMove);\n };\n }, []);\n React.useEffect(() => {\n const mouseUp = () => {\n dragManager.current.handleDragEnd();\n };\n document.addEventListener(\"mouseup\", mouseUp);\n return () => {\n document.removeEventListener(\"mouseup\", mouseUp);\n };\n }, []);\n return (\n <DragManagerContext.Provider value={dragManager.current}>\n <DraggedWidgetIdProvider>\n <DraggedPanelSideProvider>\n <DraggedResizeHandleProvider>\n {props.children}\n </DraggedResizeHandleProvider>\n </DraggedPanelSideProvider>\n </DraggedWidgetIdProvider>\n </DragManagerContext.Provider>\n );\n}\n\nfunction DraggedWidgetIdProvider(props: { children?: React.ReactNode }) {\n const draggedWidgetId = useDraggedItemId<WidgetDragItem>(\"widget\");\n return (\n <DraggedWidgetIdContext.Provider value={draggedWidgetId}>\n {props.children}\n </DraggedWidgetIdContext.Provider>\n );\n}\n\nfunction DraggedPanelSideProvider(props: { children?: React.ReactNode }) {\n const draggedSide = useDraggedItemId<PanelGripDragItem>(\"panelGrip\");\n return (\n <DraggedPanelSideContext.Provider value={draggedSide}>\n {props.children}\n </DraggedPanelSideContext.Provider>\n );\n}\n\nfunction DraggedResizeHandleProvider(props: { children?: React.ReactNode }) {\n const draggedHandle = useDraggedItemId<ResizeHandleDragItem>(\"resizeHandle\");\n return (\n <DraggedResizeHandleContext.Provider value={draggedHandle}>\n {props.children}\n </DraggedResizeHandleContext.Provider>\n );\n}\n\ninterface TabDragItem {\n type: \"tab\";\n id: TabState[\"id\"];\n}\n\ninterface WidgetDragItem {\n type: \"widget\";\n id: WidgetState[\"id\"];\n}\n\ninterface PanelGripDragItem {\n type: \"panelGrip\";\n id: PanelSide;\n}\n\ninterface ResizeHandleDragItem {\n type: \"resizeHandle\";\n id: FloatingWidgetResizeHandle;\n widgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport type DragItem =\n | TabDragItem\n | WidgetDragItem\n | PanelGripDragItem\n | ResizeHandleDragItem;\n\nfunction isResizeHandleDragItem(item: DragItem): item is ResizeHandleDragItem {\n return item.type === \"resizeHandle\";\n}\n\ninterface BaseDragInfo {\n initialPointerPosition: Point;\n lastPointerPosition: Point;\n pointerPosition: Point;\n}\n\ninterface TabDragInfo extends BaseDragInfo {\n widgetSize: SizeProps;\n}\n\ntype DragInfo = BaseDragInfo | TabDragInfo;\n\ninterface HandleDragStartArgs {\n item: DragItem;\n info: DragInfo;\n}\n\ninterface Dragged {\n item: DragItem;\n info: DragInfo;\n target: DropTargetState | undefined;\n}\n\ntype DragEventHandler = (\n item: DragItem,\n info: DragInfo,\n target: DropTargetState | undefined\n) => void;\ntype DropTargetChangedEventHandler = (\n target: DropTargetState | undefined\n) => void;\n\n/** @internal */\nexport class DragManager {\n private _dragged: Dragged | undefined;\n private _onDragStartEmitter = new BeEvent<DragEventHandler>();\n private _onDragUpdateEmitter = new BeEvent<DragEventHandler>();\n private _onDragEmitter = new BeEvent<DragEventHandler>();\n private _onDragEndEmitter = new BeEvent<DragEventHandler>();\n private _onTargetChangedEmitter =\n new BeEvent<DropTargetChangedEventHandler>();\n\n public get draggedItem() {\n return this._dragged;\n }\n\n public isTargeted(target: DropTargetState) {\n if (!this._dragged) return false;\n\n if (!this._dragged.target) return false;\n\n return isEqual(this._dragged.target, target);\n }\n\n public get onDragStart() {\n return this._onDragStartEmitter;\n }\n\n public get onDragUpdate() {\n return this._onDragUpdateEmitter;\n }\n\n public get onDrag() {\n return this._onDragEmitter;\n }\n\n public get onDragEnd() {\n return this._onDragEndEmitter;\n }\n\n public get onTargetChanged() {\n return this._onTargetChangedEmitter;\n }\n\n public handleDragStart({ item, info }: HandleDragStartArgs) {\n this._dragged = {\n item,\n info,\n target: undefined,\n };\n this._onDragStartEmitter.raiseEvent(\n this._dragged.item,\n this._dragged.info,\n this._dragged.target\n );\n }\n\n public handleDragUpdate(item: DragItem) {\n // istanbul ignore next\n if (!this._dragged) return;\n\n this._dragged.item = item;\n this._onDragUpdateEmitter.raiseEvent(\n this._dragged.item,\n this._dragged.info,\n this._dragged.target\n );\n }\n\n public handleDrag(x: number, y: number) {\n if (!this._dragged) return;\n\n this._dragged.info.lastPointerPosition = this._dragged.info.pointerPosition;\n this._dragged.info.pointerPosition = new Point(x, y);\n\n this._onDragEmitter.raiseEvent(\n this._dragged.item,\n this._dragged.info,\n this._dragged.target\n );\n }\n\n public handleDragEnd() {\n if (!this._dragged) return;\n\n const item = this._dragged.item;\n const info = this._dragged.info;\n const target = this._dragged.target;\n this._dragged = undefined;\n this._onDragEndEmitter.raiseEvent(item, info, target);\n target && this._onTargetChangedEmitter.raiseEvent(undefined);\n }\n\n public handleTargetChanged(target: DropTargetState | undefined) {\n if (!this._dragged) return;\n this._dragged.target = target;\n this._onTargetChangedEmitter.raiseEvent(target);\n }\n}\n\n/** @internal */\nexport const DragManagerContext = React.createContext<DragManager>(null!);\nDragManagerContext.displayName = \"nz:DragManagerContext\";\n\n/** @internal */\nexport const DraggedWidgetIdContext = React.createContext<\n WidgetState[\"id\"] | undefined\n>(undefined);\nDraggedWidgetIdContext.displayName = \"nz:DraggedWidgetIdContext\";\n\n/** @internal */\nexport const DraggedPanelSideContext = React.createContext<\n PanelSide | undefined\n>(undefined);\nDraggedPanelSideContext.displayName = \"nz:DraggedPanelSideContext\";\n\n/** @internal */\nexport const DraggedResizeHandleContext = React.createContext<\n FloatingWidgetResizeHandle | undefined\n>(undefined);\nDraggedResizeHandleContext.displayName = \"nz:DraggedResizeHandleContext\";\n\n/** @internal */\nexport function useTargeted() {\n const dragManager = React.useContext(DragManagerContext);\n const [targeted, setTargeted] = React.useState<DropTargetState>();\n React.useEffect(() => {\n return dragManager.onTargetChanged.addListener((t) => {\n setTargeted(t);\n });\n }, [dragManager]);\n return targeted;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NineZone.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/NineZone.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 Base\n */\n\nimport * as React from \"react\";\nimport { assert, Guid } from \"@itwin/core-bentley\";\nimport { Rectangle, useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport type { CursorType } from \"../widget-panels/CursorOverlay\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes\";\nimport { WidgetContentManager } from \"../widget/ContentManager\";\nimport type { FloatingWidgetResizeHandle } from \"../widget/FloatingWidget\";\nimport { FloatingWidget } from \"../widget/FloatingWidget\";\nimport {\n DraggedPanelSideContext,\n DraggedResizeHandleContext,\n DraggedWidgetIdContext,\n DragProvider,\n} from \"./DragManager\";\nimport { WidgetTab } from \"../widget/Tab\";\nimport type { NineZoneAction } from \"../state/NineZoneAction\";\nimport type { LayoutStore } from \"./LayoutStore\";\nimport { LayoutStoreContext, useLayout } from \"./LayoutStore\";\n\n/** @internal */\nexport type NineZoneDispatch = (action: NineZoneAction) => void;\n\n/** @internal */\nexport interface NineZoneProps {\n children?: React.ReactNode;\n dispatch: NineZoneDispatch;\n layout: LayoutStore;\n labels?: NineZoneLabels;\n toolSettingsContent?: React.ReactNode;\n widgetContent?: React.ReactNode;\n tab?: React.ReactNode;\n floatingWidget?: React.ReactNode;\n showWidgetIcon?: boolean;\n autoCollapseUnpinnedPanels?: boolean;\n animateDockedToolSettings?: boolean;\n uiIsVisible?: boolean;\n}\n\n/** @internal */\nexport interface NineZoneLabels {\n dockToolSettingsTitle?: string;\n moreWidgetsTitle?: string;\n moreToolSettingsTitle?: string;\n pinPanelTitle?: string;\n resizeGripTitle?: string;\n sendWidgetHomeTitle?: string;\n toolSettingsHandleTitle?: string;\n unpinPanelTitle?: string;\n popoutActiveTab?: string;\n}\n\n/** @internal */\nexport function NineZone(props: NineZoneProps) {\n const { children, ...providerProps } = props;\n const measurerRef = React.useRef<HTMLDivElement>(null);\n const measure = React.useCallback<() => Rectangle>(() => {\n assert(!!measurerRef.current);\n return Rectangle.create(measurerRef.current.getBoundingClientRect());\n }, []);\n return (\n <NineZoneProvider measure={measure} {...providerProps}>\n <Measurer ref={measurerRef} />\n {children}\n </NineZoneProvider>\n );\n}\n\n/** @internal */\nexport interface NineZoneProviderProps extends NineZoneProps {\n measure: () => Rectangle;\n}\n\nconst tab = <WidgetTab />;\nconst floatingWidget = <FloatingWidget />;\n\n/** @internal */\nexport function NineZoneProvider(props: NineZoneProviderProps) {\n return (\n <LayoutStoreContext.Provider value={props.layout}>\n <NineZoneDispatchContext.Provider value={props.dispatch}>\n <NineZoneLabelsContext.Provider value={props.labels}>\n <UiIsVisibleContext.Provider value={!!props.uiIsVisible}>\n <ShowWidgetIconContext.Provider value={!!props.showWidgetIcon}>\n <AutoCollapseUnpinnedPanelsContext.Provider\n value={!!props.autoCollapseUnpinnedPanels}\n >\n <WidgetContentNodeContext.Provider value={props.widgetContent}>\n <ToolSettingsNodeContext.Provider\n value={props.toolSettingsContent}\n >\n <TabNodeContext.Provider value={props.tab || tab}>\n <FloatingWidgetNodeContext.Provider\n value={props.floatingWidget || floatingWidget}\n >\n <AnimateDockedToolSettingsContext.Provider\n value={!!props.animateDockedToolSettings}\n >\n <DragProvider>\n <CursorTypeProvider>\n <WidgetContentManager>\n <MeasureContext.Provider value={props.measure}>\n {props.children}\n </MeasureContext.Provider>\n </WidgetContentManager>\n </CursorTypeProvider>\n </DragProvider>\n </AnimateDockedToolSettingsContext.Provider>\n </FloatingWidgetNodeContext.Provider>\n </TabNodeContext.Provider>\n </ToolSettingsNodeContext.Provider>\n </WidgetContentNodeContext.Provider>\n </AutoCollapseUnpinnedPanelsContext.Provider>\n </ShowWidgetIconContext.Provider>\n </UiIsVisibleContext.Provider>\n </NineZoneLabelsContext.Provider>\n </NineZoneDispatchContext.Provider>\n </LayoutStoreContext.Provider>\n );\n}\n\n/** @internal */\nexport const NineZoneDispatchContext = React.createContext<NineZoneDispatch>(\n null!\n);\nNineZoneDispatchContext.displayName = \"nz:NineZoneDispatchContext\";\n\n/** @internal */\nexport const NineZoneLabelsContext = React.createContext<\n NineZoneLabels | undefined\n>(undefined);\nNineZoneLabelsContext.displayName = \"nz:NineZoneLabelsContext\";\n\n/** @internal */\nexport const CursorTypeContext = React.createContext<CursorType | undefined>(\n undefined\n);\nCursorTypeContext.displayName = \"nz:CursorTypeContext\";\n\n/** @internal */\nexport const WidgetContentNodeContext =\n React.createContext<React.ReactNode>(undefined);\nWidgetContentNodeContext.displayName = \"nz:WidgetContentNodeContext\";\n\n/** @internal */\nexport const ShowWidgetIconContext = React.createContext<boolean>(false);\nShowWidgetIconContext.displayName = \"nz:ShowWidgetIconContext\";\n\n/** @internal */\nexport const AutoCollapseUnpinnedPanelsContext =\n React.createContext<boolean>(false);\nAutoCollapseUnpinnedPanelsContext.displayName =\n \"nz:AutoCollapseUnpinnedPanelsContext\";\n\n/** @internal */\nexport const AnimateDockedToolSettingsContext =\n React.createContext<boolean>(false);\nAnimateDockedToolSettingsContext.displayName =\n \"nz:AnimateDockedToolSettingsContext\";\n\n/** @internal */\nexport const ToolSettingsNodeContext =\n React.createContext<React.ReactNode>(undefined);\nToolSettingsNodeContext.displayName = \"nz:ToolSettingsNodeContext\";\n\n/** @internal */\nexport const TabNodeContext = React.createContext<React.ReactNode>(undefined);\nTabNodeContext.displayName = \"nz:TabNodeContext\";\n\n/** @internal */\nexport const FloatingWidgetNodeContext =\n React.createContext<React.ReactNode>(undefined);\nFloatingWidgetNodeContext.displayName = \"nz:FloatingWidgetNodeContext\";\n\n/** @internal */\nexport const MeasureContext = React.createContext<() => Rectangle>(null!);\nMeasureContext.displayName = \"nz:MeasureContext\";\n\n/** @internal */\nexport const UiIsVisibleContext = React.createContext<boolean>(false);\nUiIsVisibleContext.displayName = \"nz:UiIsVisibleContext\";\n\nfunction CursorTypeProvider(props: { children?: React.ReactNode }) {\n const draggedTab = useLayout((state) => !!state.draggedTab);\n const draggedWidgetId = React.useContext(DraggedWidgetIdContext);\n const draggedPanelSide = React.useContext(DraggedPanelSideContext);\n const draggedResizeHandle = React.useContext(DraggedResizeHandleContext);\n let type: CursorType | undefined;\n if (draggedTab || draggedWidgetId) type = \"grabbing\";\n else if (draggedPanelSide) type = sideToCursorType(draggedPanelSide);\n else if (draggedResizeHandle) type = handleToCursorType(draggedResizeHandle);\n return (\n <CursorTypeContext.Provider value={type}>\n {props.children}\n </CursorTypeContext.Provider>\n );\n}\n\nconst Measurer = React.forwardRef<HTMLDivElement>(function Measurer(_, ref) {\n const size = React.useRef<{ height?: number; width?: number }>({});\n const dispatch = React.useContext(NineZoneDispatchContext);\n const handleResize = React.useCallback(\n (width: number, height: number) => {\n // istanbul ignore next\n if (size.current.width === width && size.current.height === height)\n return;\n size.current.height = height;\n size.current.width = width;\n dispatch({\n type: \"RESIZE\",\n size: {\n height,\n width,\n },\n });\n },\n [dispatch]\n );\n const roRef = useResizeObserver(handleResize);\n const refs = useRefs(ref, roRef);\n return (\n <div\n ref={refs}\n style={{\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n visibility: \"hidden\",\n }}\n />\n );\n});\n\n/** @internal */\nexport function sideToCursorType(side: PanelSide): CursorType {\n switch (side) {\n case \"bottom\":\n case \"top\":\n return \"ns-resize\";\n case \"left\":\n case \"right\":\n return \"ew-resize\";\n }\n}\n\n/** @internal */\nexport function handleToCursorType(\n handle: FloatingWidgetResizeHandle\n): CursorType {\n switch (handle) {\n case \"bottom\":\n case \"top\":\n return \"ns-resize\";\n case \"left\":\n case \"right\":\n return \"ew-resize\";\n case \"topLeft\":\n case \"bottomRight\":\n return \"nwse-resize\";\n case \"topRight\":\n case \"bottomLeft\":\n return \"nesw-resize\";\n }\n}\n\n/** @internal */\nexport function getUniqueId() {\n return Guid.createValue();\n}\n\n/** @internal */\nexport function useLabel(labelKey: keyof NineZoneLabels) {\n const labels = React.useContext(NineZoneLabelsContext);\n return labels?.[labelKey];\n}\n"]}
1
+ {"version":3,"file":"NineZone.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/NineZone.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 Base\n */\n\nimport * as React from \"react\";\nimport { assert, Guid } from \"@itwin/core-bentley\";\nimport { Rectangle, useRefs, useResizeObserver } from \"@itwin/core-react\";\nimport type { CursorType } from \"../widget-panels/CursorOverlay\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes\";\nimport { WidgetContentManager } from \"../widget/ContentManager\";\nimport type { FloatingWidgetResizeHandle } from \"../widget/FloatingWidget\";\nimport { FloatingWidget } from \"../widget/FloatingWidget\";\nimport {\n DraggedPanelSideContext,\n DraggedResizeHandleContext,\n DraggedWidgetIdContext,\n DragProvider,\n} from \"./DragManager\";\nimport { WidgetTab } from \"../widget/Tab\";\nimport type { NineZoneAction } from \"../state/NineZoneAction\";\nimport type { LayoutStore } from \"./LayoutStore\";\nimport { LayoutStoreContext, useLayout } from \"./LayoutStore\";\n\n/** @internal */\nexport type NineZoneDispatch = (action: NineZoneAction) => void;\n\n/** @internal */\nexport interface NineZoneProps {\n children?: React.ReactNode;\n dispatch: NineZoneDispatch;\n layout: LayoutStore;\n labels?: NineZoneLabels;\n toolSettingsContent?: React.ReactNode;\n widgetContent?: React.ReactNode;\n tab?: React.ReactNode;\n floatingWidget?: React.ReactNode;\n showWidgetIcon?: boolean;\n autoCollapseUnpinnedPanels?: boolean;\n animateDockedToolSettings?: boolean;\n uiIsVisible?: boolean;\n}\n\n/** @internal */\nexport interface NineZoneLabels {\n dockToolSettingsTitle?: string;\n moreWidgetsTitle?: string;\n moreToolSettingsTitle?: string;\n pinPanelTitle?: string;\n resizeGripTitle?: string;\n sendWidgetHomeTitle?: string;\n toolSettingsHandleTitle?: string;\n unpinPanelTitle?: string;\n popoutActiveTab?: string;\n}\n\n/** @internal */\nexport function NineZone(props: NineZoneProps) {\n const { children, ...providerProps } = props;\n const measurerRef = React.useRef<HTMLDivElement>(null);\n const measure = React.useCallback<() => Rectangle>(() => {\n assert(!!measurerRef.current);\n return Rectangle.create(measurerRef.current.getBoundingClientRect());\n }, []);\n return (\n <NineZoneProvider measure={measure} {...providerProps}>\n <Measurer ref={measurerRef} />\n {children}\n </NineZoneProvider>\n );\n}\n\n/** @internal */\nexport interface NineZoneProviderProps extends NineZoneProps {\n measure: () => Rectangle;\n}\n\nconst tab = <WidgetTab />;\nconst floatingWidget = <FloatingWidget />;\n\n/** @internal */\nexport function NineZoneProvider(props: NineZoneProviderProps) {\n return (\n <LayoutStoreContext.Provider value={props.layout}>\n <NineZoneDispatchContext.Provider value={props.dispatch}>\n <NineZoneLabelsContext.Provider value={props.labels}>\n <UiIsVisibleContext.Provider value={!!props.uiIsVisible}>\n <ShowWidgetIconContext.Provider value={!!props.showWidgetIcon}>\n <AutoCollapseUnpinnedPanelsContext.Provider\n value={!!props.autoCollapseUnpinnedPanels}\n >\n <WidgetContentNodeContext.Provider value={props.widgetContent}>\n <ToolSettingsNodeContext.Provider\n value={props.toolSettingsContent}\n >\n <TabNodeContext.Provider value={props.tab || tab}>\n <FloatingWidgetNodeContext.Provider\n value={props.floatingWidget || floatingWidget}\n >\n <AnimateDockedToolSettingsContext.Provider\n value={!!props.animateDockedToolSettings}\n >\n <DragProvider>\n <CursorTypeProvider>\n <WidgetContentManager>\n <MeasureContext.Provider value={props.measure}>\n {props.children}\n </MeasureContext.Provider>\n </WidgetContentManager>\n </CursorTypeProvider>\n </DragProvider>\n </AnimateDockedToolSettingsContext.Provider>\n </FloatingWidgetNodeContext.Provider>\n </TabNodeContext.Provider>\n </ToolSettingsNodeContext.Provider>\n </WidgetContentNodeContext.Provider>\n </AutoCollapseUnpinnedPanelsContext.Provider>\n </ShowWidgetIconContext.Provider>\n </UiIsVisibleContext.Provider>\n </NineZoneLabelsContext.Provider>\n </NineZoneDispatchContext.Provider>\n </LayoutStoreContext.Provider>\n );\n}\n\n/** @internal */\nexport const NineZoneDispatchContext = React.createContext<NineZoneDispatch>(\n null!\n);\nNineZoneDispatchContext.displayName = \"nz:NineZoneDispatchContext\";\n\n/** @internal */\nexport const NineZoneLabelsContext = React.createContext<\n NineZoneLabels | undefined\n>(undefined);\nNineZoneLabelsContext.displayName = \"nz:NineZoneLabelsContext\";\n\n/** @internal */\nexport const CursorTypeContext = React.createContext<CursorType | undefined>(\n undefined\n);\nCursorTypeContext.displayName = \"nz:CursorTypeContext\";\n\n/** @internal */\nexport const WidgetContentNodeContext =\n React.createContext<React.ReactNode>(undefined);\nWidgetContentNodeContext.displayName = \"nz:WidgetContentNodeContext\";\n\n/** @internal */\nexport const ShowWidgetIconContext = React.createContext<boolean>(false);\nShowWidgetIconContext.displayName = \"nz:ShowWidgetIconContext\";\n\n/** @internal */\nexport const AutoCollapseUnpinnedPanelsContext =\n React.createContext<boolean>(false);\nAutoCollapseUnpinnedPanelsContext.displayName =\n \"nz:AutoCollapseUnpinnedPanelsContext\";\n\n/** @internal */\nexport const AnimateDockedToolSettingsContext =\n React.createContext<boolean>(false);\nAnimateDockedToolSettingsContext.displayName =\n \"nz:AnimateDockedToolSettingsContext\";\n\n/** @internal */\nexport const ToolSettingsNodeContext =\n React.createContext<React.ReactNode>(undefined);\nToolSettingsNodeContext.displayName = \"nz:ToolSettingsNodeContext\";\n\n/** @internal */\nexport const TabNodeContext = React.createContext<React.ReactNode>(undefined);\nTabNodeContext.displayName = \"nz:TabNodeContext\";\n\n/** @internal */\nexport const FloatingWidgetNodeContext =\n React.createContext<React.ReactNode>(undefined);\nFloatingWidgetNodeContext.displayName = \"nz:FloatingWidgetNodeContext\";\n\n/** @internal */\nexport const MeasureContext = React.createContext<() => Rectangle>(null!);\nMeasureContext.displayName = \"nz:MeasureContext\";\n\n/** @internal */\nexport const UiIsVisibleContext = React.createContext<boolean>(false);\nUiIsVisibleContext.displayName = \"nz:UiIsVisibleContext\";\n\nfunction CursorTypeProvider(props: { children?: React.ReactNode }) {\n const draggedTab = useLayout((state) => !!state.draggedTab);\n const draggedWidgetId = React.useContext(DraggedWidgetIdContext);\n const draggedPanelSide = React.useContext(DraggedPanelSideContext);\n const draggedResizeHandle = React.useContext(DraggedResizeHandleContext);\n let type: CursorType | undefined;\n if (draggedTab || draggedWidgetId) type = \"grabbing\";\n else if (draggedPanelSide) type = sideToCursorType(draggedPanelSide);\n else if (draggedResizeHandle) type = handleToCursorType(draggedResizeHandle);\n return (\n <CursorTypeContext.Provider value={type}>\n {props.children}\n </CursorTypeContext.Provider>\n );\n}\n\nconst Measurer = React.forwardRef<HTMLDivElement>(function Measurer(_, ref) {\n const size = React.useRef<{ height?: number; width?: number }>({});\n const dispatch = React.useContext(NineZoneDispatchContext);\n const handleResize = React.useCallback(\n (width: number, height: number) => {\n // istanbul ignore next\n if (size.current.width === width && size.current.height === height)\n return;\n size.current.height = height;\n size.current.width = width;\n dispatch({\n type: \"RESIZE\",\n size: {\n height,\n width,\n },\n });\n },\n [dispatch]\n );\n const roRef = useResizeObserver(handleResize);\n const refs = useRefs(ref, roRef);\n return (\n <div\n ref={refs}\n style={{\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n top: \"0\",\n left: \"0\",\n visibility: \"hidden\",\n }}\n />\n );\n});\n\n/** @internal */\nexport function sideToCursorType(side: PanelSide): CursorType {\n switch (side) {\n case \"bottom\":\n case \"top\":\n return \"ns-resize\";\n case \"left\":\n case \"right\":\n return \"ew-resize\";\n }\n}\n\n/** @internal */\nexport function handleToCursorType(\n handle: FloatingWidgetResizeHandle\n): CursorType {\n switch (handle) {\n case \"bottom\":\n case \"top\":\n return \"ns-resize\";\n case \"left\":\n case \"right\":\n return \"ew-resize\";\n case \"topLeft\":\n case \"bottomRight\":\n return \"nwse-resize\";\n case \"topRight\":\n case \"bottomLeft\":\n return \"nesw-resize\";\n }\n}\n\n/** @internal */\nexport function getUniqueId() {\n return Guid.createValue();\n}\n\n/** @internal */\nexport function useLabel(labelKey: keyof NineZoneLabels) {\n const labels = React.useContext(NineZoneLabelsContext);\n return labels?.[labelKey];\n}\n"]}
@@ -24,6 +24,7 @@ class SafeAreaInsetsHelpers {
24
24
  return SafeAreaInsets_1.SafeAreaInsets.Top.valueOf() === (flags & SafeAreaInsets_1.SafeAreaInsets.Top);
25
25
  }
26
26
  }
27
+ exports.SafeAreaInsetsHelpers = SafeAreaInsetsHelpers;
27
28
  SafeAreaInsetsHelpers.getCssClassNames = (flags) => {
28
29
  return {
29
30
  "nz-safe-area-bottom": SafeAreaInsetsHelpers.isBottom(flags),
@@ -32,5 +33,4 @@ SafeAreaInsetsHelpers.getCssClassNames = (flags) => {
32
33
  "nz-safe-area-top": SafeAreaInsetsHelpers.isTop(flags),
33
34
  };
34
35
  };
35
- exports.SafeAreaInsetsHelpers = SafeAreaInsetsHelpers;
36
36
  //# sourceMappingURL=SafeAreaInsets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SafeAreaInsets.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/SafeAreaInsets.ts"],"names":[],"mappings":";;;AAAA;;;gGAGgG;AAChG;;GAEG;AACH,kEAA+D;AAE/D,gBAAgB;AAChB,MAAa,qBAAqB;IACzB,MAAM,CAAC,QAAQ,CAAC,KAAqB;QAC1C,OAAO,+BAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAqB;QACxC,OAAO,+BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,KAAqB;QACzC,OAAO,+BAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,KAAqB;QACvC,OAAO,+BAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;;AAEa,sCAAgB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACzD,OAAO;QACL,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5D,mBAAmB,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC;QACxD,oBAAoB,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,kBAAkB,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC;AAxBS,sDAAqB","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 Utilities\n */\nimport { SafeAreaInsets } from \"../../safearea/SafeAreaInsets\";\n\n/** @internal */\nexport class SafeAreaInsetsHelpers {\n public static isBottom(flags: SafeAreaInsets) {\n return SafeAreaInsets.Bottom.valueOf() === (flags & SafeAreaInsets.Bottom);\n }\n\n public static isLeft(flags: SafeAreaInsets) {\n return SafeAreaInsets.Left.valueOf() === (flags & SafeAreaInsets.Left);\n }\n\n public static isRight(flags: SafeAreaInsets) {\n return SafeAreaInsets.Right.valueOf() === (flags & SafeAreaInsets.Right);\n }\n\n public static isTop(flags: SafeAreaInsets) {\n return SafeAreaInsets.Top.valueOf() === (flags & SafeAreaInsets.Top);\n }\n\n public static getCssClassNames = (flags: SafeAreaInsets) => {\n return {\n \"nz-safe-area-bottom\": SafeAreaInsetsHelpers.isBottom(flags),\n \"nz-safe-area-left\": SafeAreaInsetsHelpers.isLeft(flags),\n \"nz-safe-area-right\": SafeAreaInsetsHelpers.isRight(flags),\n \"nz-safe-area-top\": SafeAreaInsetsHelpers.isTop(flags),\n };\n };\n}\n"]}
1
+ {"version":3,"file":"SafeAreaInsets.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/SafeAreaInsets.ts"],"names":[],"mappings":";;;AAAA;;;gGAGgG;AAChG;;GAEG;AACH,kEAA+D;AAE/D,gBAAgB;AAChB,MAAa,qBAAqB;IACzB,MAAM,CAAC,QAAQ,CAAC,KAAqB;QAC1C,OAAO,+BAAc,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,KAAqB;QACxC,OAAO,+BAAc,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,KAAqB;QACzC,OAAO,+BAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,KAAqB;QACvC,OAAO,+BAAc,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,+BAAc,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;;AAfH,sDAyBC;AARe,sCAAgB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACzD,OAAO;QACL,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC5D,mBAAmB,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC;QACxD,oBAAoB,EAAE,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,kBAAkB,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC;KACvD,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Utilities\n */\nimport { SafeAreaInsets } from \"../../safearea/SafeAreaInsets\";\n\n/** @internal */\nexport class SafeAreaInsetsHelpers {\n public static isBottom(flags: SafeAreaInsets) {\n return SafeAreaInsets.Bottom.valueOf() === (flags & SafeAreaInsets.Bottom);\n }\n\n public static isLeft(flags: SafeAreaInsets) {\n return SafeAreaInsets.Left.valueOf() === (flags & SafeAreaInsets.Left);\n }\n\n public static isRight(flags: SafeAreaInsets) {\n return SafeAreaInsets.Right.valueOf() === (flags & SafeAreaInsets.Right);\n }\n\n public static isTop(flags: SafeAreaInsets) {\n return SafeAreaInsets.Top.valueOf() === (flags & SafeAreaInsets.Top);\n }\n\n public static getCssClassNames = (flags: SafeAreaInsets) => {\n return {\n \"nz-safe-area-bottom\": SafeAreaInsetsHelpers.isBottom(flags),\n \"nz-safe-area-left\": SafeAreaInsetsHelpers.isLeft(flags),\n \"nz-safe-area-right\": SafeAreaInsetsHelpers.isRight(flags),\n \"nz-safe-area-top\": SafeAreaInsetsHelpers.isTop(flags),\n };\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"usePointerCaptor.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/usePointerCaptor.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 Base\n */\n\nimport * as React from \"react\";\nimport { useRefEffect } from \"@itwin/core-react\";\nimport { DragManagerContext } from \"./DragManager\";\n\n/** @internal */\nexport interface PointerCaptorArgs {\n readonly clientX: number;\n readonly clientY: number;\n}\n\n/** @internal */\nexport type PointerCaptorEvent = MouseEvent | TouchEvent;\n\n/** Captures mouse and touch events of an element. Used in drag or resize interactions.\n * @internal\n */\nexport const usePointerCaptor = <T extends HTMLElement>(\n onPointerDown?: (args: PointerCaptorArgs, e: PointerCaptorEvent) => void,\n onPointerMove?: (args: PointerCaptorArgs, e: PointerCaptorEvent) => void,\n onPointerUp?: (e: PointerCaptorEvent) => void\n) => {\n const dragManager = React.useContext(DragManagerContext);\n const isDown = React.useRef(false);\n React.useEffect(() => {\n const mouseMove = (e: MouseEvent) => {\n isDown.current && onPointerMove && onPointerMove(e, e);\n };\n document.addEventListener(\"mousemove\", mouseMove);\n return () => {\n document.removeEventListener(\"mousemove\", mouseMove);\n };\n }, [onPointerMove]);\n React.useEffect(() => {\n const mouseUp = (e: MouseEvent) => {\n isDown.current && onPointerUp && onPointerUp(e);\n isDown.current = false;\n };\n document.addEventListener(\"mouseup\", mouseUp);\n return () => {\n document.removeEventListener(\"mouseup\", mouseUp);\n };\n }, [onPointerUp]);\n const setRef = useRefEffect(\n (instance: T | null) => {\n let touchTarget: EventTarget | null = null;\n const mouseDown = (e: MouseEvent) => {\n const isSecondaryButton = (e.button & 2) === 2;\n if (isSecondaryButton) return;\n\n onPointerDown && onPointerDown(e, e);\n isDown.current = true;\n };\n const touchMove = (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n isDown.current && onPointerMove && onPointerMove(e.touches[0], e);\n isDown.current &&\n dragManager.handleDrag(e.touches[0].clientX, e.touches[0].clientY);\n };\n const targetTouchMove = (e: TouchEvent) => {\n e.cancelable && e.preventDefault();\n touchMove(e);\n };\n const documentTouchMove = (e: TouchEvent) => {\n // Do not handle document touch move if it was handled by target handler.\n if (touchTarget === e.target) return;\n touchMove(e);\n };\n const touchEnd = (e: TouchEvent) => {\n isDown.current && onPointerUp && onPointerUp(e);\n isDown.current && dragManager.handleDragEnd();\n isDown.current = false;\n touchTarget = null;\n if (e.target instanceof HTMLElement) {\n e.target.removeEventListener(\"touchmove\", targetTouchMove);\n e.target.removeEventListener(\"touchend\", touchEnd);\n }\n document.removeEventListener(\"touchmove\", documentTouchMove);\n document.removeEventListener(\"touchend\", documentTouchEnd);\n };\n const documentTouchEnd = (e: TouchEvent) => {\n // Do not handle document touch move if it was handled by target handler.\n if (touchTarget === e.target) return;\n touchEnd(e);\n };\n const touchStart = (e: TouchEvent) => {\n e.cancelable && e.preventDefault();\n if (e.touches.length !== 1) return;\n touchTarget = e.target;\n // In case of implicit pointer capture attach to event target.\n if (e.target instanceof HTMLElement) {\n e.target.addEventListener(\"touchmove\", targetTouchMove);\n e.target.addEventListener(\"touchend\", touchEnd);\n }\n // Add to document in case the target looses capture (i.e. is removed)\n document.addEventListener(\"touchmove\", documentTouchMove);\n document.addEventListener(\"touchend\", documentTouchEnd);\n onPointerDown && onPointerDown(e.touches[0], e);\n isDown.current = true;\n };\n\n instance && instance.addEventListener(\"mousedown\", mouseDown);\n instance && instance.addEventListener(\"touchstart\", touchStart);\n return () => {\n instance && instance.removeEventListener(\"mousedown\", mouseDown);\n instance && instance.removeEventListener(\"touchstart\", touchStart);\n };\n },\n [onPointerDown, onPointerMove, onPointerUp, dragManager]\n );\n return setRef;\n};\n"]}
1
+ {"version":3,"file":"usePointerCaptor.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/base/usePointerCaptor.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 Base\n */\n\nimport * as React from \"react\";\nimport { useRefEffect } from \"@itwin/core-react\";\nimport { DragManagerContext } from \"./DragManager\";\n\n/** @internal */\nexport interface PointerCaptorArgs {\n readonly clientX: number;\n readonly clientY: number;\n}\n\n/** @internal */\nexport type PointerCaptorEvent = MouseEvent | TouchEvent;\n\n/** Captures mouse and touch events of an element. Used in drag or resize interactions.\n * @internal\n */\nexport const usePointerCaptor = <T extends HTMLElement>(\n onPointerDown?: (args: PointerCaptorArgs, e: PointerCaptorEvent) => void,\n onPointerMove?: (args: PointerCaptorArgs, e: PointerCaptorEvent) => void,\n onPointerUp?: (e: PointerCaptorEvent) => void\n) => {\n const dragManager = React.useContext(DragManagerContext);\n const isDown = React.useRef(false);\n React.useEffect(() => {\n const mouseMove = (e: MouseEvent) => {\n isDown.current && onPointerMove && onPointerMove(e, e);\n };\n document.addEventListener(\"mousemove\", mouseMove);\n return () => {\n document.removeEventListener(\"mousemove\", mouseMove);\n };\n }, [onPointerMove]);\n React.useEffect(() => {\n const mouseUp = (e: MouseEvent) => {\n isDown.current && onPointerUp && onPointerUp(e);\n isDown.current = false;\n };\n document.addEventListener(\"mouseup\", mouseUp);\n return () => {\n document.removeEventListener(\"mouseup\", mouseUp);\n };\n }, [onPointerUp]);\n const setRef = useRefEffect(\n (instance: T | null) => {\n let touchTarget: EventTarget | null = null;\n const mouseDown = (e: MouseEvent) => {\n const isSecondaryButton = (e.button & 2) === 2;\n if (isSecondaryButton) return;\n\n onPointerDown && onPointerDown(e, e);\n isDown.current = true;\n };\n const touchMove = (e: TouchEvent) => {\n if (e.touches.length !== 1) return;\n isDown.current && onPointerMove && onPointerMove(e.touches[0], e);\n isDown.current &&\n dragManager.handleDrag(e.touches[0].clientX, e.touches[0].clientY);\n };\n const targetTouchMove = (e: TouchEvent) => {\n e.cancelable && e.preventDefault();\n touchMove(e);\n };\n const documentTouchMove = (e: TouchEvent) => {\n // Do not handle document touch move if it was handled by target handler.\n if (touchTarget === e.target) return;\n touchMove(e);\n };\n const touchEnd = (e: TouchEvent) => {\n isDown.current && onPointerUp && onPointerUp(e);\n isDown.current && dragManager.handleDragEnd();\n isDown.current = false;\n touchTarget = null;\n if (e.target instanceof HTMLElement) {\n e.target.removeEventListener(\"touchmove\", targetTouchMove);\n e.target.removeEventListener(\"touchend\", touchEnd);\n }\n document.removeEventListener(\"touchmove\", documentTouchMove);\n document.removeEventListener(\"touchend\", documentTouchEnd);\n };\n const documentTouchEnd = (e: TouchEvent) => {\n // Do not handle document touch move if it was handled by target handler.\n if (touchTarget === e.target) return;\n touchEnd(e);\n };\n const touchStart = (e: TouchEvent) => {\n e.cancelable && e.preventDefault();\n if (e.touches.length !== 1) return;\n touchTarget = e.target;\n // In case of implicit pointer capture attach to event target.\n if (e.target instanceof HTMLElement) {\n e.target.addEventListener(\"touchmove\", targetTouchMove);\n e.target.addEventListener(\"touchend\", touchEnd);\n }\n // Add to document in case the target looses capture (i.e. is removed)\n document.addEventListener(\"touchmove\", documentTouchMove);\n document.addEventListener(\"touchend\", documentTouchEnd);\n onPointerDown && onPointerDown(e.touches[0], e);\n isDown.current = true;\n };\n\n instance && instance.addEventListener(\"mousedown\", mouseDown);\n instance && instance.addEventListener(\"touchstart\", touchStart);\n return () => {\n instance && instance.removeEventListener(\"mousedown\", mouseDown);\n instance && instance.removeEventListener(\"touchstart\", touchStart);\n };\n },\n [onPointerDown, onPointerMove, onPointerUp, dragManager]\n );\n return setRef;\n};\n"]}
@@ -18,6 +18,6 @@ const React = require("react");
18
18
  exports.FooterIndicator = React.forwardRef(function FooterIndicator(props, ref) {
19
19
  const { children, ...attributes } = props;
20
20
  const className = (0, classnames_1.default)("nz-footer-indicator", props.className);
21
- return (React.createElement("div", { ref: ref, ...{ ...attributes, className } }, children));
21
+ return (React.createElement("div", { ref: ref, ...attributes, className }, children));
22
22
  });
23
23
  //# sourceMappingURL=Indicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/Indicator.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAe/B;;;GAGG;AACU,QAAA,eAAe,GAAG,KAAK,CAAC,UAAU,CAG7C,SAAS,eAAe,CAAC,KAAK,EAAE,GAAG;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IAE1C,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAErE,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,KAAM,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,IAC5C,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Footer\n */\n\nimport \"./Indicator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[FooterIndicator]] component.\n * @internal\n */\nexport interface FooterIndicatorProps extends CommonProps {\n /** Indicator content. */\n children?: React.ReactNode;\n /** Title for the indicator */\n title?: string;\n /** Function called when the indicator is clicked */\n onClick?: (event: React.MouseEvent) => void;\n}\n\n/** Indicator used in [[Footer]] component.\n * @note Use [StatusBarIndicator]($appui-react) instead\n * @internal\n */\nexport const FooterIndicator = React.forwardRef<\n HTMLDivElement,\n FooterIndicatorProps\n>(function FooterIndicator(props, ref) {\n const { children, ...attributes } = props;\n\n const className = classnames(\"nz-footer-indicator\", props.className);\n\n return (\n <div ref={ref} {...{ ...attributes, className }}>\n {children}\n </div>\n );\n});\n"]}
1
+ {"version":3,"file":"Indicator.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/footer/Indicator.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,4BAA0B;AAC1B,2CAAoC;AACpC,+BAA+B;AAe/B;;;GAGG;AACU,QAAA,eAAe,GAAG,KAAK,CAAC,UAAU,CAG7C,SAAS,eAAe,CAAC,KAAK,EAAE,GAAG;IACnC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IAE1C,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAErE,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,EAAQ,GAAG,UAAU,EAAE,SAAS,IAC1C,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Footer\n */\n\nimport \"./Indicator.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps } from \"@itwin/core-react\";\n\n/** Properties of [[FooterIndicator]] component.\n * @internal\n */\nexport interface FooterIndicatorProps extends CommonProps {\n /** Indicator content. */\n children?: React.ReactNode;\n /** Title for the indicator */\n title?: string;\n /** Function called when the indicator is clicked */\n onClick?: (event: React.MouseEvent) => void;\n}\n\n/** Indicator used in [[Footer]] component.\n * @note Use [StatusBarIndicator]($appui-react) instead\n * @internal\n */\nexport const FooterIndicator = React.forwardRef<\n HTMLDivElement,\n FooterIndicatorProps\n>(function FooterIndicator(props, ref) {\n const { children, ...attributes } = props;\n\n const className = classnames(\"nz-footer-indicator\", props.className);\n\n return (\n <div ref={ref} {...{ ...attributes, className }}>\n {children}\n </div>\n );\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelOutline.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/outline/PanelOutline.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA6B;AAC7B,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAAkD;AAClD,kDAGgC;AAChC,oDAA6D;AAC7D,8DAAkE;AAClE,qDAAgD;AAChD,iDAA0D;AAE1D,gBAAgB;AAChB,SAAgB,YAAY;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,YAAY,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAA,mCAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,yBAAyB,EACzB,MAAM,IAAI,WAAW,EACrB,MAAM,IAAI,EAAE,EACZ,IAAI,IAAI,SAAS,CAClB,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACtC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACxC,GACD,CACH,CAAC;AACJ,CAAC;AAzBD,oCAyBC;AAED,gBAAgB;AAChB,SAAgB,SAAS;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,IAAA,+BAAoB,GAAE,CAAC;IAE/C,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,eAAe,EAAE;YACnB,IACE,eAAe,CAAC,IAAI,KAAK,IAAI;gBAC7B,eAAe,CAAC,QAAQ,KAAK,SAAS;gBACtC,eAAe,CAAC,YAAY,KAAK,SAAS;gBAE1C,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,IAAI,CAAC,IAAA,wCAAsB,EAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnD,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAExC,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AACxC,CAAC;AAvBD,8BAuBC;AAED,SAAS,OAAO;IACd,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACf,OAAO,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport \"./PanelOutline.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { useTargeted } from \"../base/DragManager\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel\";\nimport { isHorizontalPanelState } from \"../state/PanelState\";\nimport { isPanelDropTargetState } from \"../state/DropTargetState\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useSendBackHomeState } from \"../widget/SendBack\";\n\n/** @internal */\nexport function PanelOutline() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const isHorizontal = isHorizontalPanelSide(side);\n const span = useLayout((state) => {\n const panel = state.panels[side];\n return isHorizontalPanelState(panel) ? panel.span : false;\n });\n const hidden = useHidden();\n const className = classnames(\n \"nz-outline-panelOutline\",\n hidden && \"nz-hidden\",\n `nz-${side}`,\n span && \"nz-span\"\n );\n const size = useSize();\n return (\n <div\n className={className}\n style={{\n width: isHorizontal ? undefined : size,\n height: isHorizontal ? size : undefined,\n }}\n />\n );\n}\n\n/** @internal */\nexport function useHidden() {\n const side = React.useContext(PanelSideContext);\n const targeted = useTargeted();\n const activeHomeState = useSendBackHomeState();\n\n return React.useMemo(() => {\n if (activeHomeState) {\n if (\n activeHomeState.side === side &&\n activeHomeState.widgetId === undefined &&\n activeHomeState.sectionIndex === undefined\n )\n return false;\n }\n\n if (!targeted) return true;\n\n if (!isPanelDropTargetState(targeted)) return true;\n\n if (targeted.side !== side) return true;\n\n return false;\n }, [side, targeted, activeHomeState]);\n}\n\nfunction useSize() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n return useLayout((state) => {\n const panel = state.panels[side];\n return panel.size !== undefined ? panel.size : panel.minSize;\n });\n}\n"]}
1
+ {"version":3,"file":"PanelOutline.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/outline/PanelOutline.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,+BAA6B;AAC7B,2CAAoC;AACpC,+BAA+B;AAC/B,sDAA6C;AAC7C,qDAAkD;AAClD,kDAGgC;AAChC,oDAA6D;AAC7D,8DAAkE;AAClE,qDAAgD;AAChD,iDAA0D;AAE1D,gBAAgB;AAChB,SAAgB,YAAY;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACf,MAAM,YAAY,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAA,mCAAsB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAA,oBAAU,EAC1B,yBAAyB,EACzB,MAAM,IAAI,WAAW,EACrB,MAAM,IAAI,EAAE,EACZ,IAAI,IAAI,SAAS,CAClB,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;YACtC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACxC,GACD,CACH,CAAC;AACJ,CAAC;AAzBD,oCAyBC;AAED,gBAAgB;AAChB,SAAgB,SAAS;IACvB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,IAAA,+BAAoB,GAAE,CAAC;IAE/C,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,eAAe,EAAE,CAAC;YACpB,IACE,eAAe,CAAC,IAAI,KAAK,IAAI;gBAC7B,eAAe,CAAC,QAAQ,KAAK,SAAS;gBACtC,eAAe,CAAC,YAAY,KAAK,SAAS;gBAE1C,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,IAAI,CAAC,IAAA,wCAAsB,EAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnD,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAExC,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;AACxC,CAAC;AAvBD,8BAuBC;AAED,SAAS,OAAO;IACd,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAgB,CAAC,CAAC;IAChD,IAAA,qBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACf,OAAO,IAAA,uBAAS,EAAC,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module WidgetPanels\n */\n\nimport \"./PanelOutline.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport { assert } from \"@itwin/core-bentley\";\nimport { useTargeted } from \"../base/DragManager\";\nimport {\n isHorizontalPanelSide,\n PanelSideContext,\n} from \"../widget-panels/Panel\";\nimport { isHorizontalPanelState } from \"../state/PanelState\";\nimport { isPanelDropTargetState } from \"../state/DropTargetState\";\nimport { useLayout } from \"../base/LayoutStore\";\nimport { useSendBackHomeState } from \"../widget/SendBack\";\n\n/** @internal */\nexport function PanelOutline() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n const isHorizontal = isHorizontalPanelSide(side);\n const span = useLayout((state) => {\n const panel = state.panels[side];\n return isHorizontalPanelState(panel) ? panel.span : false;\n });\n const hidden = useHidden();\n const className = classnames(\n \"nz-outline-panelOutline\",\n hidden && \"nz-hidden\",\n `nz-${side}`,\n span && \"nz-span\"\n );\n const size = useSize();\n return (\n <div\n className={className}\n style={{\n width: isHorizontal ? undefined : size,\n height: isHorizontal ? size : undefined,\n }}\n />\n );\n}\n\n/** @internal */\nexport function useHidden() {\n const side = React.useContext(PanelSideContext);\n const targeted = useTargeted();\n const activeHomeState = useSendBackHomeState();\n\n return React.useMemo(() => {\n if (activeHomeState) {\n if (\n activeHomeState.side === side &&\n activeHomeState.widgetId === undefined &&\n activeHomeState.sectionIndex === undefined\n )\n return false;\n }\n\n if (!targeted) return true;\n\n if (!isPanelDropTargetState(targeted)) return true;\n\n if (targeted.side !== side) return true;\n\n return false;\n }, [side, targeted, activeHomeState]);\n}\n\nfunction useSize() {\n const side = React.useContext(PanelSideContext);\n assert(!!side);\n return useLayout((state) => {\n const panel = state.panels[side];\n return panel.size !== undefined ? panel.size : panel.minSize;\n });\n}\n"]}
@@ -51,13 +51,13 @@ class Tooltip extends React.PureComponent {
51
51
  this.props.onSizeChanged && this.props.onSizeChanged(size);
52
52
  }
53
53
  }
54
+ exports.Tooltip = Tooltip;
54
55
  Tooltip.defaultProps = {
55
56
  position: {
56
57
  x: 0,
57
58
  y: 0,
58
59
  },
59
60
  };
60
- exports.Tooltip = Tooltip;
61
61
  /** Function to apply offset and contain tooltip bounds in container.
62
62
  * @internal
63
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/popup/Tooltip.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0BAAwB;AACxB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA2D;AAsB3D;;GAEG;AACH,MAAa,OAAQ,SAAQ,KAAK,CAAC,aAA2B;IAA9D;;QAQU,cAAS,GAAG,IAAI,iBAAI,EAAE,CAAC;QACvB,aAAQ,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;IA2CvD,CAAC;IAzCiB,MAAM;QACpB,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvE,MAAM,KAAK,GAAwB;YACjC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3B,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC/B,iCAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO,CAC7B,CAAC,CAAC,CAAC,SAAS;YACb,6BAAK,SAAS,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACnD,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEe,kBAAkB;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC;QAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO;QAExC,IAAI,CAAC,SAAS,GAAG,iBAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAlDsB,oBAAY,GAAwB;IACzD,QAAQ,EAAE;QACR,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL;CACF,AALkC,CAKjC;AANS,0BAAO;AAsDpB;;GAEG;AACI,MAAM,2BAA2B,GAAG,CACzC,aAA6B,EAC7B,aAAwB,EACxB,SAAgB,IAAI,kBAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAC1B,EAAE;IACT,IAAI,SAAS,GAAG,sBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,sBAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;IAEpE,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAXW,QAAA,2BAA2B,+BAWtC","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 Popup\n */\n\nimport \"./Tooltip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps, RectangleProps, SizeProps } from \"@itwin/core-react\";\nimport { Point, Rectangle, Size } from \"@itwin/core-react\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers\";\n\n/** Properties of [[Tooltip]] component.\n * @internal\n */\nexport interface TooltipProps extends CommonProps {\n /** Tooltip content. */\n children?: React.ReactNode;\n /** Tooltip icon. */\n icon?: React.ReactNode;\n /** Function called when the bounds of the tooltip changes. */\n onSizeChanged?: (size: SizeProps) => void;\n /** Position of the tooltip. */\n position: XAndY;\n}\n\n/** Default properties of [[Tooltip]] component.\n * @internal\n */\nexport type TooltipDefaultProps = Pick<TooltipProps, \"position\">;\n\n/** Positionable tooltip component.\n * @internal\n */\nexport class Tooltip extends React.PureComponent<TooltipProps> {\n public static readonly defaultProps: TooltipDefaultProps = {\n position: {\n x: 0,\n y: 0,\n },\n };\n\n private _lastSize = new Size();\n private _tooltip = React.createRef<HTMLDivElement>();\n\n public override render() {\n const className = classnames(\"nz-popup-tooltip\", this.props.className);\n\n const style: React.CSSProperties = {\n ...this.props.style,\n left: this.props.position.x,\n top: this.props.position.y,\n };\n\n return (\n <div className={className} ref={this._tooltip} style={style}>\n {this.props.icon !== undefined ? (\n <div>{this.props.icon}</div>\n ) : undefined}\n <div className=\"nz-content\">{this.props.children}</div>\n </div>\n );\n }\n\n public override componentDidMount() {\n this.onSizeChanged();\n }\n\n public override componentDidUpdate(): void {\n this.onSizeChanged();\n }\n\n private onSizeChanged() {\n const tooltip = this._tooltip.current!;\n\n const rect = tooltip.getBoundingClientRect();\n const size = {\n height: rect.height,\n width: rect.width,\n };\n\n if (this._lastSize.equals(size)) return;\n\n this._lastSize = Size.create(size);\n this.props.onSizeChanged && this.props.onSizeChanged(size);\n }\n}\n\n/** Function to apply offset and contain tooltip bounds in container.\n * @internal\n */\nexport const offsetAndContainInContainer = (\n tooltipBounds: RectangleProps,\n containerSize: SizeProps,\n offset: XAndY = new Point(20, 20)\n): Point => {\n let newBounds = Rectangle.create(tooltipBounds).offset(offset);\n const containerBounds = Rectangle.createFromSize(containerSize);\n if (containerBounds.contains(newBounds)) return newBounds.topLeft();\n\n newBounds = newBounds.containIn(containerBounds);\n return newBounds.topLeft();\n};\n"]}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../../../../src/appui-react/layout/popup/Tooltip.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,0BAAwB;AACxB,2CAAoC;AACpC,+BAA+B;AAE/B,kDAA2D;AAsB3D;;GAEG;AACH,MAAa,OAAQ,SAAQ,KAAK,CAAC,aAA2B;IAA9D;;QAQU,cAAS,GAAG,IAAI,iBAAI,EAAE,CAAC;QACvB,aAAQ,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;IA2CvD,CAAC;IAzCiB,MAAM;QACpB,MAAM,SAAS,GAAG,IAAA,oBAAU,EAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEvE,MAAM,KAAK,GAAwB;YACjC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;YACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3B,CAAC;QAEF,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK;YACxD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAC/B,iCAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO,CAC7B,CAAC,CAAC,CAAC,SAAS;YACb,6BAAK,SAAS,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAO,CACnD,CACP,CAAC;IACJ,CAAC;IAEe,iBAAiB;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEe,kBAAkB;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAQ,CAAC;QAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO;QAExC,IAAI,CAAC,SAAS,GAAG,iBAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAnDH,0BAoDC;AAnDwB,oBAAY,GAAwB;IACzD,QAAQ,EAAE;QACR,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;KACL;CACF,AALkC,CAKjC;AAgDJ;;GAEG;AACI,MAAM,2BAA2B,GAAG,CACzC,aAA6B,EAC7B,aAAwB,EACxB,SAAgB,IAAI,kBAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAC1B,EAAE;IACT,IAAI,SAAS,GAAG,sBAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,sBAAS,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;IAEpE,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IACjD,OAAO,SAAS,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAXW,QAAA,2BAA2B,+BAWtC","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 Popup\n */\n\nimport \"./Tooltip.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { CommonProps, RectangleProps, SizeProps } from \"@itwin/core-react\";\nimport { Point, Rectangle, Size } from \"@itwin/core-react\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers\";\n\n/** Properties of [[Tooltip]] component.\n * @internal\n */\nexport interface TooltipProps extends CommonProps {\n /** Tooltip content. */\n children?: React.ReactNode;\n /** Tooltip icon. */\n icon?: React.ReactNode;\n /** Function called when the bounds of the tooltip changes. */\n onSizeChanged?: (size: SizeProps) => void;\n /** Position of the tooltip. */\n position: XAndY;\n}\n\n/** Default properties of [[Tooltip]] component.\n * @internal\n */\nexport type TooltipDefaultProps = Pick<TooltipProps, \"position\">;\n\n/** Positionable tooltip component.\n * @internal\n */\nexport class Tooltip extends React.PureComponent<TooltipProps> {\n public static readonly defaultProps: TooltipDefaultProps = {\n position: {\n x: 0,\n y: 0,\n },\n };\n\n private _lastSize = new Size();\n private _tooltip = React.createRef<HTMLDivElement>();\n\n public override render() {\n const className = classnames(\"nz-popup-tooltip\", this.props.className);\n\n const style: React.CSSProperties = {\n ...this.props.style,\n left: this.props.position.x,\n top: this.props.position.y,\n };\n\n return (\n <div className={className} ref={this._tooltip} style={style}>\n {this.props.icon !== undefined ? (\n <div>{this.props.icon}</div>\n ) : undefined}\n <div className=\"nz-content\">{this.props.children}</div>\n </div>\n );\n }\n\n public override componentDidMount() {\n this.onSizeChanged();\n }\n\n public override componentDidUpdate(): void {\n this.onSizeChanged();\n }\n\n private onSizeChanged() {\n const tooltip = this._tooltip.current!;\n\n const rect = tooltip.getBoundingClientRect();\n const size = {\n height: rect.height,\n width: rect.width,\n };\n\n if (this._lastSize.equals(size)) return;\n\n this._lastSize = Size.create(size);\n this.props.onSizeChanged && this.props.onSizeChanged(size);\n }\n}\n\n/** Function to apply offset and contain tooltip bounds in container.\n * @internal\n */\nexport const offsetAndContainInContainer = (\n tooltipBounds: RectangleProps,\n containerSize: SizeProps,\n offset: XAndY = new Point(20, 20)\n): Point => {\n let newBounds = Rectangle.create(tooltipBounds).offset(offset);\n const containerBounds = Rectangle.createFromSize(containerSize);\n if (containerBounds.contains(newBounds)) return newBounds.topLeft();\n\n newBounds = newBounds.containIn(containerBounds);\n return newBounds.topLeft();\n};\n"]}