@itwin/appui-react 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/lib/appui-react/UiFramework.d.ts +6 -2
  3. package/lib/appui-react/UiFramework.d.ts.map +1 -1
  4. package/lib/appui-react/UiFramework.js +29 -2
  5. package/lib/appui-react/UiFramework.js.map +1 -1
  6. package/lib/appui-react/accudraw/AccuDrawFieldContainer.d.ts.map +1 -1
  7. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js +4 -4
  8. package/lib/appui-react/accudraw/AccuDrawFieldContainer.js.map +1 -1
  9. package/lib/appui-react/accudraw/AccuDrawPopupManager.d.ts.map +1 -1
  10. package/lib/appui-react/accudraw/AccuDrawPopupManager.js +10 -6
  11. package/lib/appui-react/accudraw/AccuDrawPopupManager.js.map +1 -1
  12. package/lib/appui-react/accudraw/Calculator.js +2 -2
  13. package/lib/appui-react/accudraw/Calculator.js.map +1 -1
  14. package/lib/appui-react/childwindow/ChildWindowRenderer.d.ts +2 -0
  15. package/lib/appui-react/childwindow/ChildWindowRenderer.d.ts.map +1 -1
  16. package/lib/appui-react/childwindow/ChildWindowRenderer.js +15 -10
  17. package/lib/appui-react/childwindow/ChildWindowRenderer.js.map +1 -1
  18. package/lib/appui-react/childwindow/InternalChildWindowManager.d.ts.map +1 -1
  19. package/lib/appui-react/childwindow/InternalChildWindowManager.js +8 -0
  20. package/lib/appui-react/childwindow/InternalChildWindowManager.js.map +1 -1
  21. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts +23 -1
  22. package/lib/appui-react/configurableui/ConfigurableUiContent.d.ts.map +1 -1
  23. package/lib/appui-react/configurableui/ConfigurableUiContent.js +20 -12
  24. package/lib/appui-react/configurableui/ConfigurableUiContent.js.map +1 -1
  25. package/lib/appui-react/content/ContentLayout.d.ts.map +1 -1
  26. package/lib/appui-react/content/ContentLayout.js +10 -11
  27. package/lib/appui-react/content/ContentLayout.js.map +1 -1
  28. package/lib/appui-react/content/ContentOverlay.d.ts +1 -0
  29. package/lib/appui-react/content/ContentOverlay.d.ts.map +1 -1
  30. package/lib/appui-react/content/ContentOverlay.js +3 -1
  31. package/lib/appui-react/content/ContentOverlay.js.map +1 -1
  32. package/lib/appui-react/content/FloatingViewportContent.d.ts.map +1 -1
  33. package/lib/appui-react/content/FloatingViewportContent.js +1 -1
  34. package/lib/appui-react/content/FloatingViewportContent.js.map +1 -1
  35. package/lib/appui-react/cursor/CursorInformation.d.ts +4 -1
  36. package/lib/appui-react/cursor/CursorInformation.d.ts.map +1 -1
  37. package/lib/appui-react/cursor/CursorInformation.js +6 -1
  38. package/lib/appui-react/cursor/CursorInformation.js.map +1 -1
  39. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts +1 -24
  40. package/lib/appui-react/cursor/cursormenu/CursorMenu.d.ts.map +1 -1
  41. package/lib/appui-react/cursor/cursormenu/CursorMenu.js +37 -58
  42. package/lib/appui-react/cursor/cursormenu/CursorMenu.js.map +1 -1
  43. package/lib/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
  44. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts +8 -22
  45. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.d.ts.map +1 -1
  46. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js +109 -116
  47. package/lib/appui-react/cursor/cursorpopup/CursorPopupManager.js.map +1 -1
  48. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts +12 -15
  49. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.d.ts.map +1 -1
  50. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js +85 -48
  51. package/lib/appui-react/cursor/cursorprompt/CursorPrompt.js.map +1 -1
  52. package/lib/appui-react/framework/FrameworkFrontstages.d.ts +47 -0
  53. package/lib/appui-react/framework/FrameworkFrontstages.d.ts.map +1 -1
  54. package/lib/appui-react/framework/FrameworkFrontstages.js +136 -0
  55. package/lib/appui-react/framework/FrameworkFrontstages.js.map +1 -1
  56. package/lib/appui-react/framework/FrameworkVisibility.d.ts +2 -0
  57. package/lib/appui-react/framework/FrameworkVisibility.d.ts.map +1 -1
  58. package/lib/appui-react/framework/FrameworkVisibility.js.map +1 -1
  59. package/lib/appui-react/frontstage/InternalFrontstageManager.d.ts.map +1 -1
  60. package/lib/appui-react/frontstage/InternalFrontstageManager.js +121 -115
  61. package/lib/appui-react/frontstage/InternalFrontstageManager.js.map +1 -1
  62. package/lib/appui-react/hooks/useActiveTool.d.ts +9 -0
  63. package/lib/appui-react/hooks/useActiveTool.d.ts.map +1 -0
  64. package/lib/appui-react/hooks/useActiveTool.js +23 -0
  65. package/lib/appui-react/hooks/useActiveTool.js.map +1 -0
  66. package/lib/appui-react/icons/SvgAngle.d.ts +7 -0
  67. package/lib/appui-react/icons/SvgAngle.d.ts.map +1 -0
  68. package/lib/appui-react/icons/SvgAngle.js +15 -0
  69. package/lib/appui-react/icons/SvgAngle.js.map +1 -0
  70. package/lib/appui-react/icons/SvgBackspace.d.ts +7 -0
  71. package/lib/appui-react/icons/SvgBackspace.d.ts.map +1 -0
  72. package/lib/appui-react/icons/SvgBackspace.js +14 -0
  73. package/lib/appui-react/icons/SvgBackspace.js.map +1 -0
  74. package/lib/appui-react/icons/SvgDistance.d.ts +7 -0
  75. package/lib/appui-react/icons/SvgDistance.d.ts.map +1 -0
  76. package/lib/appui-react/icons/SvgDistance.js +16 -0
  77. package/lib/appui-react/icons/SvgDistance.js.map +1 -0
  78. package/lib/appui-react/icons/SvgHeight.d.ts +7 -0
  79. package/lib/appui-react/icons/SvgHeight.d.ts.map +1 -0
  80. package/lib/appui-react/icons/SvgHeight.js +17 -0
  81. package/lib/appui-react/icons/SvgHeight.js.map +1 -0
  82. package/lib/appui-react/icons/SvgMouseClickLeftDrag.d.ts +7 -0
  83. package/lib/appui-react/icons/SvgMouseClickLeftDrag.d.ts.map +1 -0
  84. package/lib/appui-react/icons/SvgMouseClickLeftDrag.js +15 -0
  85. package/lib/appui-react/icons/SvgMouseClickLeftDrag.js.map +1 -0
  86. package/lib/appui-react/icons/SvgMouseClickRightDrag.d.ts +7 -0
  87. package/lib/appui-react/icons/SvgMouseClickRightDrag.d.ts.map +1 -0
  88. package/lib/appui-react/icons/SvgMouseClickRightDrag.js +15 -0
  89. package/lib/appui-react/icons/SvgMouseClickRightDrag.js.map +1 -0
  90. package/lib/appui-react/icons/SvgMouseClickWheelDrag.d.ts +7 -0
  91. package/lib/appui-react/icons/SvgMouseClickWheelDrag.d.ts.map +1 -0
  92. package/lib/appui-react/icons/SvgMouseClickWheelDrag.js +15 -0
  93. package/lib/appui-react/icons/SvgMouseClickWheelDrag.js.map +1 -0
  94. package/lib/appui-react/icons/SvgTouchCursorPan.d.ts +7 -0
  95. package/lib/appui-react/icons/SvgTouchCursorPan.d.ts.map +1 -0
  96. package/lib/appui-react/icons/SvgTouchCursorPan.js +15 -0
  97. package/lib/appui-react/icons/SvgTouchCursorPan.js.map +1 -0
  98. package/lib/appui-react/icons/SvgTouchCursorPoint.d.ts +7 -0
  99. package/lib/appui-react/icons/SvgTouchCursorPoint.d.ts.map +1 -0
  100. package/lib/appui-react/icons/SvgTouchCursorPoint.js +16 -0
  101. package/lib/appui-react/icons/SvgTouchCursorPoint.js.map +1 -0
  102. package/lib/appui-react/layout/StandardLayout.scss +3 -8
  103. package/lib/appui-react/layout/base/DragManager.d.ts.map +1 -1
  104. package/lib/appui-react/layout/base/DragManager.js +10 -15
  105. package/lib/appui-react/layout/base/DragManager.js.map +1 -1
  106. package/lib/appui-react/layout/state/NineZoneAction.d.ts +1 -0
  107. package/lib/appui-react/layout/state/NineZoneAction.d.ts.map +1 -1
  108. package/lib/appui-react/layout/state/NineZoneAction.js.map +1 -1
  109. package/lib/appui-react/layout/state/NineZoneStateReducer.d.ts.map +1 -1
  110. package/lib/appui-react/layout/state/NineZoneStateReducer.js +23 -16
  111. package/lib/appui-react/layout/state/NineZoneStateReducer.js.map +1 -1
  112. package/lib/appui-react/layout/widget/NavigationArea.d.ts +1 -2
  113. package/lib/appui-react/layout/widget/NavigationArea.d.ts.map +1 -1
  114. package/lib/appui-react/layout/widget/NavigationArea.js +2 -3
  115. package/lib/appui-react/layout/widget/NavigationArea.js.map +1 -1
  116. package/lib/appui-react/layout/widget/NavigationArea.scss +16 -4
  117. package/lib/appui-react/layout/widget/ToolsArea.d.ts +1 -2
  118. package/lib/appui-react/layout/widget/ToolsArea.d.ts.map +1 -1
  119. package/lib/appui-react/layout/widget/ToolsArea.js +2 -3
  120. package/lib/appui-react/layout/widget/ToolsArea.js.map +1 -1
  121. package/lib/appui-react/layout/widget/ToolsArea.scss +10 -4
  122. package/lib/appui-react/shared/MenuItem.d.ts +3 -0
  123. package/lib/appui-react/shared/MenuItem.d.ts.map +1 -1
  124. package/lib/appui-react/shared/MenuItem.js +2 -3
  125. package/lib/appui-react/shared/MenuItem.js.map +1 -1
  126. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts +2 -55
  127. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.d.ts.map +1 -1
  128. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js +333 -403
  129. package/lib/appui-react/statusfields/toolassistance/ToolAssistanceField.js.map +1 -1
  130. package/lib/appui-react/toolbar/Toolbar.d.ts.map +1 -1
  131. package/lib/appui-react/toolbar/Toolbar.js +4 -3
  132. package/lib/appui-react/toolbar/Toolbar.js.map +1 -1
  133. package/lib/appui-react/toolbar/new-toolbars/ActionItem.d.ts.map +1 -1
  134. package/lib/appui-react/toolbar/new-toolbars/ActionItem.js +3 -0
  135. package/lib/appui-react/toolbar/new-toolbars/ActionItem.js.map +1 -1
  136. package/lib/appui-react/toolbar/new-toolbars/GroupItem.d.ts.map +1 -1
  137. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js +2 -0
  138. package/lib/appui-react/toolbar/new-toolbars/GroupItem.js.map +1 -1
  139. package/lib/appui-react/toolbar/new-toolbars/Toolbar.d.ts +6 -3
  140. package/lib/appui-react/toolbar/new-toolbars/Toolbar.d.ts.map +1 -1
  141. package/lib/appui-react/toolbar/new-toolbars/Toolbar.js +4 -3
  142. package/lib/appui-react/toolbar/new-toolbars/Toolbar.js.map +1 -1
  143. package/lib/appui-react/utils/InternalUiShowHideManager.d.ts +2 -0
  144. package/lib/appui-react/utils/InternalUiShowHideManager.d.ts.map +1 -1
  145. package/lib/appui-react/utils/InternalUiShowHideManager.js +6 -0
  146. package/lib/appui-react/utils/InternalUiShowHideManager.js.map +1 -1
  147. package/lib/appui-react/widget-panels/Frontstage.d.ts +7 -2
  148. package/lib/appui-react/widget-panels/Frontstage.d.ts.map +1 -1
  149. package/lib/appui-react/widget-panels/Frontstage.js +29 -12
  150. package/lib/appui-react/widget-panels/Frontstage.js.map +1 -1
  151. package/lib/appui-react/widgets/BackstageAppButton.scss +8 -3
  152. package/lib/appui-react.d.ts +1 -1
  153. package/lib/appui-react.d.ts.map +1 -1
  154. package/lib/appui-react.js +1 -1
  155. package/lib/appui-react.js.map +1 -1
  156. package/lib/cjs/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
  157. package/lib/cjs/appui-react/layout/StandardLayout.scss +3 -8
  158. package/lib/cjs/appui-react/layout/widget/NavigationArea.scss +16 -4
  159. package/lib/cjs/appui-react/layout/widget/ToolsArea.scss +10 -4
  160. package/lib/cjs/appui-react/widgets/BackstageAppButton.scss +8 -3
  161. package/lib/esm/appui-react/cursor/cursorpopup/CursorPopup.scss +3 -0
  162. package/lib/esm/appui-react/layout/StandardLayout.scss +3 -8
  163. package/lib/esm/appui-react/layout/widget/NavigationArea.scss +16 -4
  164. package/lib/esm/appui-react/layout/widget/ToolsArea.scss +10 -4
  165. package/lib/esm/appui-react/widgets/BackstageAppButton.scss +8 -3
  166. package/package.json +8 -10
  167. package/lib/appui-react/accudraw/angle.svg +0 -1
  168. package/lib/appui-react/accudraw/backspace.svg +0 -9
  169. package/lib/appui-react/accudraw/constraint-2d.svg +0 -11
  170. package/lib/appui-react/accudraw/distance.svg +0 -1
  171. package/lib/appui-react/accudraw/height-2.svg +0 -10
  172. package/lib/appui-react/accudraw/height.svg +0 -11
  173. package/lib/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
  174. package/lib/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
  175. package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
  176. package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
  177. package/lib/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
  178. package/lib/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
  179. package/lib/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
  180. package/lib/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
  181. package/lib/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
  182. package/lib/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
  183. package/lib/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
  184. package/lib/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
  185. package/lib/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
  186. package/lib/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
  187. package/lib/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
  188. package/lib/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
  189. package/lib/cjs/appui-react/accudraw/angle.svg +0 -1
  190. package/lib/cjs/appui-react/accudraw/backspace.svg +0 -9
  191. package/lib/cjs/appui-react/accudraw/constraint-2d.svg +0 -11
  192. package/lib/cjs/appui-react/accudraw/distance.svg +0 -1
  193. package/lib/cjs/appui-react/accudraw/height-2.svg +0 -10
  194. package/lib/cjs/appui-react/accudraw/height.svg +0 -11
  195. package/lib/cjs/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
  196. package/lib/cjs/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
  197. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
  198. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
  199. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
  200. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
  201. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
  202. package/lib/cjs/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
  203. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
  204. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
  205. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
  206. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
  207. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
  208. package/lib/cjs/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
  209. package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
  210. package/lib/cjs/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
  211. package/lib/esm/appui-react/accudraw/angle.svg +0 -1
  212. package/lib/esm/appui-react/accudraw/backspace.svg +0 -9
  213. package/lib/esm/appui-react/accudraw/constraint-2d.svg +0 -11
  214. package/lib/esm/appui-react/accudraw/distance.svg +0 -1
  215. package/lib/esm/appui-react/accudraw/height-2.svg +0 -10
  216. package/lib/esm/appui-react/accudraw/height.svg +0 -11
  217. package/lib/esm/appui-react/statusfields/toolassistance/accept-point.svg +0 -1
  218. package/lib/esm/appui-react/statusfields/toolassistance/cursor-click.svg +0 -1
  219. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-drag.svg +0 -1
  220. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap-double.svg +0 -1
  221. package/lib/esm/appui-react/statusfields/toolassistance/gesture-one-finger-tap.svg +0 -1
  222. package/lib/esm/appui-react/statusfields/toolassistance/gesture-pinch.svg +0 -1
  223. package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-drag.svg +0 -1
  224. package/lib/esm/appui-react/statusfields/toolassistance/gesture-two-finger-tap.svg +0 -1
  225. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left-drag.svg +0 -1
  226. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-left.svg +0 -1
  227. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right-drag.svg +0 -1
  228. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-right.svg +0 -1
  229. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel-drag.svg +0 -1
  230. package/lib/esm/appui-react/statusfields/toolassistance/mouse-click-wheel.svg +0 -1
  231. package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-pan.svg +0 -1
  232. package/lib/esm/appui-react/statusfields/toolassistance/touch-cursor-point.svg +0 -1
@@ -10,16 +10,11 @@
10
10
  overflow: hidden;
11
11
 
12
12
  display: grid;
13
- grid-template-columns:
14
- [lp-start] minmax(0, auto) [lp-end] 1fr [rp-start] minmax(0, auto)
15
- [rp-end];
16
- grid-template-rows:
17
- minmax(0, auto) [ts-end] minmax(0, auto) [tp-end] 1fr [bp-start] minmax(
13
+ grid-template-columns: minmax(0, auto) 1fr minmax(0, auto);
14
+ grid-template-rows: minmax(0, auto) minmax(0, auto) 1fr minmax(0, auto) minmax(
18
15
  0,
19
16
  auto
20
- )
21
- [bp-end]
22
- minmax(0, auto);
17
+ );
23
18
  grid-template-areas:
24
19
  "ts ts ts"
25
20
  "tp tp tp"
@@ -1 +1 @@
1
- {"version":3,"file":"DragManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/base/DragManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DragManager.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/base/DragManager.tsx"],"names":[],"mappings":"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"}
@@ -298,23 +298,18 @@ export function useDragItem(args) {
298
298
  /** @internal */
299
299
  export function useDraggedItem() {
300
300
  const dragManager = React.useContext(DragManagerContext);
301
- const [draggedItem, setDraggedItem] = React.useState(dragManager.draggedItem?.item);
302
- React.useEffect(() => {
303
- return dragManager.onDragStart.addListener((item) => {
304
- setDraggedItem(item);
305
- });
306
- }, [dragManager]);
307
- React.useEffect(() => {
308
- return dragManager.onDragUpdate.addListener((item) => {
309
- setDraggedItem(item);
310
- });
301
+ const subscribe = React.useCallback((onStoreChange) => {
302
+ const listeners = [
303
+ dragManager.onDragStart.addListener(onStoreChange),
304
+ dragManager.onDragUpdate.addListener(onStoreChange),
305
+ dragManager.onDragEnd.addListener(onStoreChange),
306
+ ];
307
+ return () => listeners.forEach((l) => l());
311
308
  }, [dragManager]);
312
- React.useEffect(() => {
313
- return dragManager.onDragEnd.addListener(() => {
314
- setDraggedItem(undefined);
315
- });
309
+ const getSnapshot = React.useCallback(() => {
310
+ return dragManager.draggedItem?.item;
316
311
  }, [dragManager]);
317
- return draggedItem;
312
+ return React.useSyncExternalStore(subscribe, getSnapshot);
318
313
  }
319
314
  /** @internal */
320
315
  export function useIsDraggedItem(item) {
@@ -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/isEqual.js\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { Point } from \"@itwin/core-react/internal\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes.js\";\nimport type { FloatingWidgetResizeHandle } from \"../widget/FloatingWidget.js\";\nimport type { WidgetState } from \"../state/WidgetState.js\";\nimport type { TabState } from \"../state/TabState.js\";\nimport { getUniqueId } from \"./NineZone.js\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers.js\";\nimport type {\n DropTargetState,\n PanelDropTargetState,\n TabDragDropTargetState,\n TabDropTargetState,\n WidgetDragDropTargetState,\n} from \"../state/DropTargetState.js\";\nimport {\n isTabDragDropTargetState,\n isWidgetDragDropTargetState,\n} from \"../state/DropTargetState.js\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\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 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 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/isEqual.js\";\nimport { BeEvent } from \"@itwin/core-bentley\";\nimport { Point } from \"@itwin/core-react/internal\";\nimport type { PanelSide } from \"../widget-panels/PanelTypes.js\";\nimport type { FloatingWidgetResizeHandle } from \"../widget/FloatingWidget.js\";\nimport type { WidgetState } from \"../state/WidgetState.js\";\nimport type { TabState } from \"../state/TabState.js\";\nimport { getUniqueId } from \"./NineZone.js\";\nimport type { XAndY } from \"../state/internal/NineZoneStateHelpers.js\";\nimport type {\n DropTargetState,\n PanelDropTargetState,\n TabDragDropTargetState,\n TabDropTargetState,\n WidgetDragDropTargetState,\n} from \"../state/DropTargetState.js\";\nimport {\n isTabDragDropTargetState,\n isWidgetDragDropTargetState,\n} from \"../state/DropTargetState.js\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\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 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 subscribe = React.useCallback(\n (onStoreChange: () => void) => {\n const listeners = [\n dragManager.onDragStart.addListener(onStoreChange),\n dragManager.onDragUpdate.addListener(onStoreChange),\n dragManager.onDragEnd.addListener(onStoreChange),\n ];\n return () => listeners.forEach((l) => l());\n },\n [dragManager]\n );\n const getSnapshot = React.useCallback(() => {\n return dragManager.draggedItem?.item;\n }, [dragManager]);\n return React.useSyncExternalStore(subscribe, getSnapshot);\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 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"]}
@@ -276,6 +276,7 @@ export interface WidgetDefAddToolSettingsAction {
276
276
  readonly type: "WIDGET_DEF_ADD_TOOL_SETTINGS";
277
277
  readonly id: TabState["id"];
278
278
  readonly overrides?: Partial<TabState>;
279
+ readonly panelSection?: WidgetDefAddAction["panelSection"];
279
280
  }
280
281
  /** @internal */
281
282
  export type NineZoneAction = ResizeAction | PanelToggleCollapsedAction | PanelSetCollapsedAction | PanelSetPinnedAction | PanelSetSizeAction | PanelSetMinSizeAction | PanelSetMaxSizeAction | PanelSetResizableAction | PanelSetSplitterPercentAction | PanelToggleSpanAction | PanelTogglePinnedAction | PanelInitializeAction | FloatingWidgetResizeAction | FloatingWidgetSetBoundsAction | FloatingWidgetBringToFrontAction | FloatingWidgetSendBackAction | FloatingWidgetClearUserSizedAction | FloatingWidgetSetUserSizedAction | PopoutWidgetSendBackAction | PanelWidgetDragStartAction | WidgetDragAction | WidgetDragEndAction | WidgetTabAddToWidgetAction | WidgetTabClickAction | WidgetTabCloseAction | WidgetTabDoubleClickAction | WidgetTabDragStartAction | WidgetTabDragAction | WidgetTabDragEndAction | WidgetTabExpandAction | WidgetTabFloatAction | WidgetTabHideAction | WidgetTabRemoveAction | WidgetTabOpenAction | WidgetTabPopoutAction | WidgetTabSetLabelAction | WidgetTabSetPopoutBoundsAction | WidgetTabShowAction | WidgetTabUnloadAction | WidgetTabUpdateAction | ToolSettingsDragStartAction | ToolSettingsDockAction | WidgetDefAddAction | WidgetDefAddToolSettingsAction;
@@ -1 +1 @@
1
- {"version":3,"file":"NineZoneAction.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/state/NineZoneAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NineZoneAction.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/state/NineZoneAction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NineZoneAction.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/state/NineZoneAction.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 type {\n HorizontalPanelSide,\n PanelSide,\n} from \"../widget-panels/PanelTypes.js\";\nimport type { TabState } from \"./TabState.js\";\nimport type {\n FloatingWidgetState,\n PopoutWidgetState,\n WidgetState,\n} from \"./WidgetState.js\";\nimport type {\n TabDragDropTargetState,\n WidgetDragDropTargetState,\n} from \"./DropTargetState.js\";\nimport type { PanelState } from \"./PanelState.js\";\nimport type { XAndY } from \"./internal/NineZoneStateHelpers.js\";\nimport type { StagePanelSizeSpec } from \"../../stagepanels/StagePanelConfig.js\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\nimport type { RectangleProps } from \"../../utils/RectangleProps.js\";\nimport type { PopoutBounds } from \"./SavedTabState.js\";\n\n/** @internal */\nexport interface ResizeAction {\n readonly type: \"RESIZE\";\n readonly size: SizeProps;\n}\n\n/** @internal */\nexport interface PanelToggleCollapsedAction {\n readonly type: \"PANEL_TOGGLE_COLLAPSED\";\n readonly side: PanelSide;\n}\n\n/** @internal */\nexport interface PanelSetCollapsedAction {\n readonly type: \"PANEL_SET_COLLAPSED\";\n readonly collapsed: boolean;\n readonly side: PanelSide;\n}\n\n/** @internal */\nexport interface PanelSetPinnedAction {\n readonly type: \"PANEL_SET_PINNED\";\n readonly side: PanelSide;\n readonly pinned: boolean;\n}\n\n/** @internal */\nexport interface PanelSetSizeAction {\n readonly type: \"PANEL_SET_SIZE\";\n readonly side: PanelSide;\n readonly size: StagePanelSizeSpec | undefined;\n}\n\n/** @internal */\nexport interface PanelSetMinSizeAction {\n readonly type: \"PANEL_SET_MIN_SIZE\";\n readonly side: PanelSide;\n readonly minSize: StagePanelSizeSpec;\n}\n\n/** @internal */\nexport interface PanelSetMaxSizeAction {\n readonly type: \"PANEL_SET_MAX_SIZE\";\n readonly side: PanelSide;\n readonly maxSize: PanelState[\"maxSize\"];\n}\n\n/** @internal */\nexport interface PanelSetResizableAction {\n readonly type: \"PANEL_SET_RESIZABLE\";\n readonly side: PanelSide;\n readonly resizable: PanelState[\"resizable\"];\n}\n\n/** @internal */\nexport interface PanelSetSplitterPercentAction {\n readonly type: \"PANEL_SET_SPLITTER_VALUE\";\n readonly side: PanelSide;\n readonly percent: number;\n}\n\n/** @internal */\nexport interface PanelToggleSpanAction {\n readonly type: \"PANEL_TOGGLE_SPAN\";\n readonly side: HorizontalPanelSide;\n}\n\n/** @internal */\nexport interface PanelTogglePinnedAction {\n readonly type: \"PANEL_TOGGLE_PINNED\";\n readonly side: PanelSide;\n}\n\n/** @internal */\nexport interface PanelInitializeAction {\n readonly type: \"PANEL_INITIALIZE\";\n readonly side: PanelSide;\n readonly size: number;\n}\n\n/** @internal */\nexport interface FloatingWidgetResizeAction {\n readonly type: \"FLOATING_WIDGET_RESIZE\";\n readonly id: FloatingWidgetState[\"id\"];\n readonly resizeBy: RectangleProps;\n}\n\n/** @internal */\nexport interface FloatingWidgetSetBoundsAction {\n readonly type: \"FLOATING_WIDGET_SET_BOUNDS\";\n readonly id: FloatingWidgetState[\"id\"];\n readonly bounds: RectangleProps;\n}\n\n/** @internal */\nexport interface FloatingWidgetBringToFrontAction {\n readonly type: \"FLOATING_WIDGET_BRING_TO_FRONT\";\n readonly id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface FloatingWidgetClearUserSizedAction {\n readonly type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\";\n readonly id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface FloatingWidgetSetUserSizedAction {\n readonly type: \"FLOATING_WIDGET_SET_USER_SIZED\";\n readonly id: FloatingWidgetState[\"id\"];\n readonly userSized: boolean;\n}\n\n/** @internal */\nexport interface FloatingWidgetSendBackAction {\n readonly type: \"FLOATING_WIDGET_SEND_BACK\";\n readonly id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface PopoutWidgetSendBackAction {\n readonly type: \"POPOUT_WIDGET_SEND_BACK\";\n readonly id: PopoutWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface PanelWidgetDragStartAction {\n readonly type: \"PANEL_WIDGET_DRAG_START\";\n readonly newFloatingWidgetId: FloatingWidgetState[\"id\"];\n readonly id: WidgetState[\"id\"];\n readonly bounds: RectangleProps;\n readonly side: PanelSide;\n readonly userSized?: boolean;\n}\n\n/** @internal */\nexport interface WidgetDragAction {\n readonly type: \"WIDGET_DRAG\";\n readonly dragBy: XAndY;\n readonly floatingWidgetId: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetDragEndAction {\n readonly type: \"WIDGET_DRAG_END\";\n readonly floatingWidgetId: FloatingWidgetState[\"id\"];\n readonly target: WidgetDragDropTargetState;\n}\n\n/** @internal */\nexport interface WidgetTabAddToWidgetAction {\n readonly type: \"WIDGET_TAB_ADD_TO_WIDGET\";\n readonly id: TabState[\"id\"];\n readonly widgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabClickAction {\n readonly type: \"WIDGET_TAB_CLICK\";\n readonly side: PanelSide | undefined;\n readonly widgetId: WidgetState[\"id\"];\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabDoubleClickAction {\n readonly type: \"WIDGET_TAB_DOUBLE_CLICK\";\n readonly side: PanelSide | undefined;\n readonly widgetId: WidgetState[\"id\"];\n readonly floatingWidgetId: FloatingWidgetState[\"id\"] | undefined;\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabDragStartAction {\n readonly type: \"WIDGET_TAB_DRAG_START\";\n readonly side: PanelSide | undefined;\n readonly widgetId: WidgetState[\"id\"];\n readonly floatingWidgetId: FloatingWidgetState[\"id\"] | undefined;\n readonly id: TabState[\"id\"];\n readonly position: XAndY;\n readonly userSized?: boolean;\n}\n\n/** @internal */\nexport interface WidgetTabDragAction {\n readonly type: \"WIDGET_TAB_DRAG\";\n readonly dragBy: XAndY;\n}\n\n/** @internal */\nexport interface WidgetTabDragEndAction {\n readonly type: \"WIDGET_TAB_DRAG_END\";\n readonly id: TabState[\"id\"];\n readonly target: TabDragDropTargetState;\n}\n\n/** @internal */\nexport interface WidgetTabCloseAction {\n readonly type: \"WIDGET_TAB_CLOSE\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabFloatAction {\n readonly type: \"WIDGET_TAB_FLOAT\";\n readonly id: TabState[\"id\"];\n readonly position?: XAndY;\n readonly size?: SizeProps;\n}\n\n/** @internal */\nexport interface WidgetTabHideAction {\n readonly type: \"WIDGET_TAB_HIDE\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabRemoveAction {\n readonly type: \"WIDGET_TAB_REMOVE\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabSetLabelAction {\n readonly type: \"WIDGET_TAB_SET_LABEL\";\n readonly id: TabState[\"id\"];\n readonly label: TabState[\"label\"];\n}\n\n/** @internal */\nexport interface WidgetTabOpenAction {\n readonly type: \"WIDGET_TAB_OPEN\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabPopoutAction {\n readonly type: \"WIDGET_TAB_POPOUT\";\n readonly id: TabState[\"id\"];\n readonly position?: XAndY;\n readonly size?: SizeProps;\n}\n\n/** @internal */\nexport interface WidgetTabSetPopoutBoundsAction extends PopoutBounds {\n readonly type: \"WIDGET_TAB_SET_POPOUT_BOUNDS\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabShowAction {\n readonly type: \"WIDGET_TAB_SHOW\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabExpandAction {\n readonly type: \"WIDGET_TAB_EXPAND\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabUnloadAction {\n readonly type: \"WIDGET_TAB_UNLOAD\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabUpdateAction {\n readonly type: \"WIDGET_TAB_UPDATE\";\n readonly id: TabState[\"id\"];\n readonly overrides: Partial<TabState>;\n}\n\n/** @internal */\nexport interface ToolSettingsDragStartAction {\n readonly type: \"TOOL_SETTINGS_DRAG_START\";\n readonly newFloatingWidgetId: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface ToolSettingsDockAction {\n readonly type: \"TOOL_SETTINGS_DOCK\";\n}\n\n/** @internal */\nexport interface WidgetDefAddAction {\n readonly type: \"WIDGET_DEF_ADD\";\n readonly id: TabState[\"id\"];\n readonly overrides?: Partial<TabState>;\n readonly location: \"panel\" | \"floating\";\n readonly floatingWidget: {\n readonly id: FloatingWidgetState[\"id\"];\n readonly preferredPosition?: XAndY;\n };\n readonly panelSection: {\n readonly id: WidgetState[\"id\"];\n readonly index: number;\n readonly side: PanelSide;\n };\n}\n\n/** @internal */\nexport interface WidgetDefAddToolSettingsAction {\n readonly type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\";\n readonly id: TabState[\"id\"];\n readonly overrides?: Partial<TabState>;\n}\n\n/** @internal */\nexport type NineZoneAction =\n | ResizeAction\n | PanelToggleCollapsedAction\n | PanelSetCollapsedAction\n | PanelSetPinnedAction\n | PanelSetSizeAction\n | PanelSetMinSizeAction\n | PanelSetMaxSizeAction\n | PanelSetResizableAction\n | PanelSetSplitterPercentAction\n | PanelToggleSpanAction\n | PanelTogglePinnedAction\n | PanelInitializeAction\n | FloatingWidgetResizeAction\n | FloatingWidgetSetBoundsAction\n | FloatingWidgetBringToFrontAction\n | FloatingWidgetSendBackAction\n | FloatingWidgetClearUserSizedAction\n | FloatingWidgetSetUserSizedAction\n | PopoutWidgetSendBackAction\n | PanelWidgetDragStartAction\n | WidgetDragAction\n | WidgetDragEndAction\n | WidgetTabAddToWidgetAction\n | WidgetTabClickAction\n | WidgetTabCloseAction\n | WidgetTabDoubleClickAction\n | WidgetTabDragStartAction\n | WidgetTabDragAction\n | WidgetTabDragEndAction\n | WidgetTabExpandAction\n | WidgetTabFloatAction\n | WidgetTabHideAction\n | WidgetTabRemoveAction\n | WidgetTabOpenAction\n | WidgetTabPopoutAction\n | WidgetTabSetLabelAction\n | WidgetTabSetPopoutBoundsAction\n | WidgetTabShowAction\n | WidgetTabUnloadAction\n | WidgetTabUpdateAction\n | ToolSettingsDragStartAction\n | ToolSettingsDockAction\n | WidgetDefAddAction\n | WidgetDefAddToolSettingsAction;\n"]}
1
+ {"version":3,"file":"NineZoneAction.js","sourceRoot":"","sources":["../../../../src/appui-react/layout/state/NineZoneAction.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG","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 type {\n HorizontalPanelSide,\n PanelSide,\n} from \"../widget-panels/PanelTypes.js\";\nimport type { TabState } from \"./TabState.js\";\nimport type {\n FloatingWidgetState,\n PopoutWidgetState,\n WidgetState,\n} from \"./WidgetState.js\";\nimport type {\n TabDragDropTargetState,\n WidgetDragDropTargetState,\n} from \"./DropTargetState.js\";\nimport type { PanelState } from \"./PanelState.js\";\nimport type { XAndY } from \"./internal/NineZoneStateHelpers.js\";\nimport type { StagePanelSizeSpec } from \"../../stagepanels/StagePanelConfig.js\";\nimport type { SizeProps } from \"../../utils/SizeProps.js\";\nimport type { RectangleProps } from \"../../utils/RectangleProps.js\";\nimport type { PopoutBounds } from \"./SavedTabState.js\";\n\n/** @internal */\nexport interface ResizeAction {\n readonly type: \"RESIZE\";\n readonly size: SizeProps;\n}\n\n/** @internal */\nexport interface PanelToggleCollapsedAction {\n readonly type: \"PANEL_TOGGLE_COLLAPSED\";\n readonly side: PanelSide;\n}\n\n/** @internal */\nexport interface PanelSetCollapsedAction {\n readonly type: \"PANEL_SET_COLLAPSED\";\n readonly collapsed: boolean;\n readonly side: PanelSide;\n}\n\n/** @internal */\nexport interface PanelSetPinnedAction {\n readonly type: \"PANEL_SET_PINNED\";\n readonly side: PanelSide;\n readonly pinned: boolean;\n}\n\n/** @internal */\nexport interface PanelSetSizeAction {\n readonly type: \"PANEL_SET_SIZE\";\n readonly side: PanelSide;\n readonly size: StagePanelSizeSpec | undefined;\n}\n\n/** @internal */\nexport interface PanelSetMinSizeAction {\n readonly type: \"PANEL_SET_MIN_SIZE\";\n readonly side: PanelSide;\n readonly minSize: StagePanelSizeSpec;\n}\n\n/** @internal */\nexport interface PanelSetMaxSizeAction {\n readonly type: \"PANEL_SET_MAX_SIZE\";\n readonly side: PanelSide;\n readonly maxSize: PanelState[\"maxSize\"];\n}\n\n/** @internal */\nexport interface PanelSetResizableAction {\n readonly type: \"PANEL_SET_RESIZABLE\";\n readonly side: PanelSide;\n readonly resizable: PanelState[\"resizable\"];\n}\n\n/** @internal */\nexport interface PanelSetSplitterPercentAction {\n readonly type: \"PANEL_SET_SPLITTER_VALUE\";\n readonly side: PanelSide;\n readonly percent: number;\n}\n\n/** @internal */\nexport interface PanelToggleSpanAction {\n readonly type: \"PANEL_TOGGLE_SPAN\";\n readonly side: HorizontalPanelSide;\n}\n\n/** @internal */\nexport interface PanelTogglePinnedAction {\n readonly type: \"PANEL_TOGGLE_PINNED\";\n readonly side: PanelSide;\n}\n\n/** @internal */\nexport interface PanelInitializeAction {\n readonly type: \"PANEL_INITIALIZE\";\n readonly side: PanelSide;\n readonly size: number;\n}\n\n/** @internal */\nexport interface FloatingWidgetResizeAction {\n readonly type: \"FLOATING_WIDGET_RESIZE\";\n readonly id: FloatingWidgetState[\"id\"];\n readonly resizeBy: RectangleProps;\n}\n\n/** @internal */\nexport interface FloatingWidgetSetBoundsAction {\n readonly type: \"FLOATING_WIDGET_SET_BOUNDS\";\n readonly id: FloatingWidgetState[\"id\"];\n readonly bounds: RectangleProps;\n}\n\n/** @internal */\nexport interface FloatingWidgetBringToFrontAction {\n readonly type: \"FLOATING_WIDGET_BRING_TO_FRONT\";\n readonly id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface FloatingWidgetClearUserSizedAction {\n readonly type: \"FLOATING_WIDGET_CLEAR_USER_SIZED\";\n readonly id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface FloatingWidgetSetUserSizedAction {\n readonly type: \"FLOATING_WIDGET_SET_USER_SIZED\";\n readonly id: FloatingWidgetState[\"id\"];\n readonly userSized: boolean;\n}\n\n/** @internal */\nexport interface FloatingWidgetSendBackAction {\n readonly type: \"FLOATING_WIDGET_SEND_BACK\";\n readonly id: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface PopoutWidgetSendBackAction {\n readonly type: \"POPOUT_WIDGET_SEND_BACK\";\n readonly id: PopoutWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface PanelWidgetDragStartAction {\n readonly type: \"PANEL_WIDGET_DRAG_START\";\n readonly newFloatingWidgetId: FloatingWidgetState[\"id\"];\n readonly id: WidgetState[\"id\"];\n readonly bounds: RectangleProps;\n readonly side: PanelSide;\n readonly userSized?: boolean;\n}\n\n/** @internal */\nexport interface WidgetDragAction {\n readonly type: \"WIDGET_DRAG\";\n readonly dragBy: XAndY;\n readonly floatingWidgetId: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetDragEndAction {\n readonly type: \"WIDGET_DRAG_END\";\n readonly floatingWidgetId: FloatingWidgetState[\"id\"];\n readonly target: WidgetDragDropTargetState;\n}\n\n/** @internal */\nexport interface WidgetTabAddToWidgetAction {\n readonly type: \"WIDGET_TAB_ADD_TO_WIDGET\";\n readonly id: TabState[\"id\"];\n readonly widgetId: WidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabClickAction {\n readonly type: \"WIDGET_TAB_CLICK\";\n readonly side: PanelSide | undefined;\n readonly widgetId: WidgetState[\"id\"];\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabDoubleClickAction {\n readonly type: \"WIDGET_TAB_DOUBLE_CLICK\";\n readonly side: PanelSide | undefined;\n readonly widgetId: WidgetState[\"id\"];\n readonly floatingWidgetId: FloatingWidgetState[\"id\"] | undefined;\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabDragStartAction {\n readonly type: \"WIDGET_TAB_DRAG_START\";\n readonly side: PanelSide | undefined;\n readonly widgetId: WidgetState[\"id\"];\n readonly floatingWidgetId: FloatingWidgetState[\"id\"] | undefined;\n readonly id: TabState[\"id\"];\n readonly position: XAndY;\n readonly userSized?: boolean;\n}\n\n/** @internal */\nexport interface WidgetTabDragAction {\n readonly type: \"WIDGET_TAB_DRAG\";\n readonly dragBy: XAndY;\n}\n\n/** @internal */\nexport interface WidgetTabDragEndAction {\n readonly type: \"WIDGET_TAB_DRAG_END\";\n readonly id: TabState[\"id\"];\n readonly target: TabDragDropTargetState;\n}\n\n/** @internal */\nexport interface WidgetTabCloseAction {\n readonly type: \"WIDGET_TAB_CLOSE\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabFloatAction {\n readonly type: \"WIDGET_TAB_FLOAT\";\n readonly id: TabState[\"id\"];\n readonly position?: XAndY;\n readonly size?: SizeProps;\n}\n\n/** @internal */\nexport interface WidgetTabHideAction {\n readonly type: \"WIDGET_TAB_HIDE\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabRemoveAction {\n readonly type: \"WIDGET_TAB_REMOVE\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabSetLabelAction {\n readonly type: \"WIDGET_TAB_SET_LABEL\";\n readonly id: TabState[\"id\"];\n readonly label: TabState[\"label\"];\n}\n\n/** @internal */\nexport interface WidgetTabOpenAction {\n readonly type: \"WIDGET_TAB_OPEN\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabPopoutAction {\n readonly type: \"WIDGET_TAB_POPOUT\";\n readonly id: TabState[\"id\"];\n readonly position?: XAndY;\n readonly size?: SizeProps;\n}\n\n/** @internal */\nexport interface WidgetTabSetPopoutBoundsAction extends PopoutBounds {\n readonly type: \"WIDGET_TAB_SET_POPOUT_BOUNDS\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabShowAction {\n readonly type: \"WIDGET_TAB_SHOW\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabExpandAction {\n readonly type: \"WIDGET_TAB_EXPAND\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabUnloadAction {\n readonly type: \"WIDGET_TAB_UNLOAD\";\n readonly id: TabState[\"id\"];\n}\n\n/** @internal */\nexport interface WidgetTabUpdateAction {\n readonly type: \"WIDGET_TAB_UPDATE\";\n readonly id: TabState[\"id\"];\n readonly overrides: Partial<TabState>;\n}\n\n/** @internal */\nexport interface ToolSettingsDragStartAction {\n readonly type: \"TOOL_SETTINGS_DRAG_START\";\n readonly newFloatingWidgetId: FloatingWidgetState[\"id\"];\n}\n\n/** @internal */\nexport interface ToolSettingsDockAction {\n readonly type: \"TOOL_SETTINGS_DOCK\";\n}\n\n/** @internal */\nexport interface WidgetDefAddAction {\n readonly type: \"WIDGET_DEF_ADD\";\n readonly id: TabState[\"id\"];\n readonly overrides?: Partial<TabState>;\n readonly location: \"panel\" | \"floating\";\n readonly floatingWidget: {\n readonly id: FloatingWidgetState[\"id\"];\n readonly preferredPosition?: XAndY;\n };\n readonly panelSection: {\n readonly id: WidgetState[\"id\"];\n readonly index: number;\n readonly side: PanelSide;\n };\n}\n\n/** @internal */\nexport interface WidgetDefAddToolSettingsAction {\n readonly type: \"WIDGET_DEF_ADD_TOOL_SETTINGS\";\n readonly id: TabState[\"id\"];\n readonly overrides?: Partial<TabState>;\n readonly panelSection?: WidgetDefAddAction[\"panelSection\"];\n}\n\n/** @internal */\nexport type NineZoneAction =\n | ResizeAction\n | PanelToggleCollapsedAction\n | PanelSetCollapsedAction\n | PanelSetPinnedAction\n | PanelSetSizeAction\n | PanelSetMinSizeAction\n | PanelSetMaxSizeAction\n | PanelSetResizableAction\n | PanelSetSplitterPercentAction\n | PanelToggleSpanAction\n | PanelTogglePinnedAction\n | PanelInitializeAction\n | FloatingWidgetResizeAction\n | FloatingWidgetSetBoundsAction\n | FloatingWidgetBringToFrontAction\n | FloatingWidgetSendBackAction\n | FloatingWidgetClearUserSizedAction\n | FloatingWidgetSetUserSizedAction\n | PopoutWidgetSendBackAction\n | PanelWidgetDragStartAction\n | WidgetDragAction\n | WidgetDragEndAction\n | WidgetTabAddToWidgetAction\n | WidgetTabClickAction\n | WidgetTabCloseAction\n | WidgetTabDoubleClickAction\n | WidgetTabDragStartAction\n | WidgetTabDragAction\n | WidgetTabDragEndAction\n | WidgetTabExpandAction\n | WidgetTabFloatAction\n | WidgetTabHideAction\n | WidgetTabRemoveAction\n | WidgetTabOpenAction\n | WidgetTabPopoutAction\n | WidgetTabSetLabelAction\n | WidgetTabSetPopoutBoundsAction\n | WidgetTabShowAction\n | WidgetTabUnloadAction\n | WidgetTabUpdateAction\n | ToolSettingsDragStartAction\n | ToolSettingsDockAction\n | WidgetDefAddAction\n | WidgetDefAddToolSettingsAction;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NineZoneStateReducer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/state/NineZoneStateReducer.ts"],"names":[],"mappings":"AAIA;;GAEG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAS1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAuDxD,gBAAgB;AAChB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,GACrB,aAAa,CAi1Bf"}
1
+ {"version":3,"file":"NineZoneStateReducer.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/layout/state/NineZoneStateReducer.ts"],"names":[],"mappings":"AAIA;;GAEG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAC;AAS9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA0DxD,gBAAgB;AAChB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,GACrB,aAAa,CAk0Bf"}
@@ -20,7 +20,7 @@ import { panelSides } from "../widget-panels/Panel.js";
20
20
  import { getTabLocation, isFloatingTabLocation, isPanelTabLocation, isPopoutTabLocation, } from "./TabLocation.js";
21
21
  import { getUniqueId } from "../base/NineZone.js";
22
22
  import { isPanelWidgetRestoreState, } from "./WidgetRestoreState.js";
23
- import { addDockedToolSettings } from "./internal/ToolSettingsStateHelpers.js";
23
+ import { addDockedToolSettings, addWidgetToolSettings, } from "./internal/ToolSettingsStateHelpers.js";
24
24
  /** @internal */
25
25
  export function NineZoneStateReducer(state, action) {
26
26
  switch (action.type) {
@@ -703,24 +703,14 @@ export function NineZoneStateReducer(state, action) {
703
703
  userSized,
704
704
  });
705
705
  }
706
- // Add to a panel section.
707
- const side = action.panelSection.side;
708
- // Add to an existing panel section.
709
- if (action.panelSection.id in state.widgets) {
710
- return addTabToWidget(state, action.id, action.panelSection.id);
711
- }
712
- const panel = state.panels[side];
713
- // Add to a new panel section.
714
- if (panel.widgets.length < panel.maxWidgetCount) {
715
- return addPanelWidget(state, side, action.panelSection.id, [action.id]);
716
- }
717
- // Can't add additional sections, add to an existing one.
718
- const sectionIndex = Math.min(action.panelSection.index, panel.widgets.length - 1);
719
- const existingSectionId = panel.widgets[sectionIndex];
720
- return addTabToWidget(state, action.id, existingSectionId);
706
+ return addTabToPanelSection(state, action.id, action.panelSection);
721
707
  }
722
708
  case "WIDGET_DEF_ADD_TOOL_SETTINGS": {
723
709
  state = addTab(state, action.id, action.overrides);
710
+ if (action.panelSection) {
711
+ state = addTabToPanelSection(state, action.id, action.panelSection);
712
+ return addWidgetToolSettings(state, action.id);
713
+ }
724
714
  return addDockedToolSettings(state, action.id);
725
715
  }
726
716
  }
@@ -822,4 +812,21 @@ function hideTab(state, id) {
822
812
  }
823
813
  return removeTabFromWidget(state, id);
824
814
  }
815
+ function addTabToPanelSection(state, tabId, panelSection) {
816
+ // Add to a panel section.
817
+ const { side, id, index } = panelSection;
818
+ // Add to an existing panel section.
819
+ if (id in state.widgets) {
820
+ return addTabToWidget(state, tabId, id);
821
+ }
822
+ const panel = state.panels[side];
823
+ // Add to a new panel section.
824
+ if (panel.widgets.length < panel.maxWidgetCount) {
825
+ return addPanelWidget(state, side, id, [tabId]);
826
+ }
827
+ // Can't add additional sections, add to an existing one.
828
+ const sectionIndex = Math.min(index, panel.widgets.length - 1);
829
+ const existingSectionId = panel.widgets[sectionIndex];
830
+ return addTabToWidget(state, tabId, existingSectionId);
831
+ }
825
832
  //# sourceMappingURL=NineZoneStateReducer.js.map