@oh-just-another/react-ui 0.58.0 → 0.59.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 (63) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +3 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/color-swatch-picker.d.ts +8 -1
  5. package/dist/color-swatch-picker.d.ts.map +1 -1
  6. package/dist/color-swatch-picker.js +7 -3
  7. package/dist/color-swatch-picker.js.map +1 -1
  8. package/dist/constants.d.ts +43 -0
  9. package/dist/constants.d.ts.map +1 -1
  10. package/dist/constants.js +43 -0
  11. package/dist/constants.js.map +1 -1
  12. package/dist/context-menu.d.ts.map +1 -1
  13. package/dist/context-menu.js +8 -4
  14. package/dist/context-menu.js.map +1 -1
  15. package/dist/diagram-canvas.d.ts +3 -1
  16. package/dist/diagram-canvas.d.ts.map +1 -1
  17. package/dist/diagram-canvas.js +1 -1
  18. package/dist/diagram-canvas.js.map +1 -1
  19. package/dist/diagram-root.d.ts +7 -1
  20. package/dist/diagram-root.d.ts.map +1 -1
  21. package/dist/diagram-root.js +10 -1
  22. package/dist/diagram-root.js.map +1 -1
  23. package/dist/drawing-panel.d.ts +14 -0
  24. package/dist/drawing-panel.d.ts.map +1 -0
  25. package/dist/drawing-panel.js +54 -0
  26. package/dist/drawing-panel.js.map +1 -0
  27. package/dist/help-dialog.d.ts.map +1 -1
  28. package/dist/help-dialog.js +9 -2
  29. package/dist/help-dialog.js.map +1 -1
  30. package/dist/hooks.d.ts +14 -1
  31. package/dist/hooks.d.ts.map +1 -1
  32. package/dist/hooks.js +14 -1
  33. package/dist/hooks.js.map +1 -1
  34. package/dist/index.d.ts +7 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +7 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/minimap.d.ts +25 -0
  39. package/dist/minimap.d.ts.map +1 -0
  40. package/dist/minimap.js +196 -0
  41. package/dist/minimap.js.map +1 -0
  42. package/dist/property-panel.d.ts.map +1 -1
  43. package/dist/property-panel.js +139 -24
  44. package/dist/property-panel.js.map +1 -1
  45. package/dist/search-overlay.d.ts +18 -0
  46. package/dist/search-overlay.d.ts.map +1 -0
  47. package/dist/search-overlay.js +162 -0
  48. package/dist/search-overlay.js.map +1 -0
  49. package/dist/selection-floating-panel.d.ts.map +1 -1
  50. package/dist/selection-floating-panel.js +5 -2
  51. package/dist/selection-floating-panel.js.map +1 -1
  52. package/dist/stats-panel.d.ts +14 -0
  53. package/dist/stats-panel.d.ts.map +1 -0
  54. package/dist/stats-panel.js +104 -0
  55. package/dist/stats-panel.js.map +1 -0
  56. package/dist/toolbar.d.ts.map +1 -1
  57. package/dist/toolbar.js +22 -8
  58. package/dist/toolbar.js.map +1 -1
  59. package/dist/zen-mode.d.ts +30 -0
  60. package/dist/zen-mode.d.ts.map +1 -0
  61. package/dist/zen-mode.js +62 -0
  62. package/dist/zen-mode.js.map +1 -0
  63. package/package.json +8 -8
package/dist/hooks.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type Annotation, type Layer, type Scene } from "@oh-just-another/scene";
2
2
  import { type AnnotationId, type LinkId, type LayerId } from "@oh-just-another/types";
3
- import { type Editor, type Mode, type Selection } from "@oh-just-another/state";
3
+ import { type BrushSettings, type Editor, type Mode, type Selection } from "@oh-just-another/state";
4
4
  /**
5
5
  * Live `Editor` instance. Use for imperative actions (`addElement`,
6
6
  * `loadScene`, `screenToWorld`). Throws if not inside a provider.
@@ -23,6 +23,19 @@ export declare const useScene: () => Scene;
23
23
  export declare const useSelection: () => Selection;
24
24
  /** Current interaction mode. Defaults to `"select"` pre-mount. */
25
25
  export declare const useMode: () => Mode;
26
+ /**
27
+ * Live brush paint settings (line colour, fill, opacity, width) — what the
28
+ * drawing panel edits via {@link Editor.setBrushSettings}. Defaults to
29
+ * {@link DEFAULT_BRUSH_SETTINGS} pre-mount.
30
+ */
31
+ export declare const useBrushSettings: () => BrushSettings;
32
+ /**
33
+ * `true` when the editor is in read-only / view mode. Chrome uses it to
34
+ * disable creation tools and edit controls while keeping navigation live.
35
+ * Reactive — re-renders when {@link Editor.setReadOnly} flips. Defaults to
36
+ * `false` pre-mount.
37
+ */
38
+ export declare const useReadOnly: () => boolean;
26
39
  /**
27
40
  * History introspection and actions. Returns no-op callbacks (and `false`
28
41
  * flags) while the editor is being created so toolbar buttons can render
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,MAAM,EAEX,KAAK,OAAO,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAa,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG3F;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAO,MAA6B,CAAC;AAc5D,eAAO,MAAM,eAAe,QAAO,OAehC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAAmC,CAAC;AAInF,iFAAiF;AACjF,eAAO,MAAM,QAAQ,QAAO,KAAgE,CAAC;AAE7F,uEAAuE;AACvE,eAAO,MAAM,YAAY,QAAO,SACqC,CAAC;AAEtE,kEAAkE;AAClE,eAAO,MAAM,OAAO,QAAO,IAAgE,CAAC;AAE5F;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAO;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAc3B,CAAC;AAIF,8EAA8E;AAC9E,eAAO,MAAM,SAAS,QAAO,SAAS,KAAK,EACwB,CAAC;AAIpE,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,QAAO,OAC6B,CAAC;AAIlE;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAO,SAAS,UAAU,EAC2B,CAAC;AAEjF,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,QAAO,YAAY,GAAG,IACmB,CAAC;AAE5E,oEAAoE;AACpE,eAAO,MAAM,eAAe,QAAO,MAAM,GAAG,IACmB,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,KAAK,EACV,KAAK,KAAK,EACX,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,MAAM,EAEX,KAAK,OAAO,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,IAAI,EACT,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAGhC;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAO,MAA6B,CAAC;AAc5D,eAAO,MAAM,eAAe,QAAO,OAehC,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAAmC,CAAC;AAInF,iFAAiF;AACjF,eAAO,MAAM,QAAQ,QAAO,KAAgE,CAAC;AAE7F,uEAAuE;AACvE,eAAO,MAAM,YAAY,QAAO,SACqC,CAAC;AAEtE,kEAAkE;AAClE,eAAO,MAAM,OAAO,QAAO,IAAgE,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAO,aAC+B,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAO,OAAsD,CAAC;AAEtF;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,QAAO;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;CAc3B,CAAC;AAIF,8EAA8E;AAC9E,eAAO,MAAM,SAAS,QAAO,SAAS,KAAK,EACwB,CAAC;AAIpE,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,QAAO,OAC6B,CAAC;AAIlE;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAO,SAAS,UAAU,EAC2B,CAAC;AAEjF,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,QAAO,YAAY,GAAG,IACmB,CAAC;AAE5E,oEAAoE;AACpE,eAAO,MAAM,eAAe,QAAO,MAAM,GAAG,IACmB,CAAC"}
package/dist/hooks.js CHANGED
@@ -2,7 +2,7 @@ import { useCallback, useSyncExternalStore } from "react";
2
2
  import { DEFAULT_LAYER_ID, emptyScene, getLayersInOrder, } from "@oh-just-another/scene";
3
3
  import { MOBILE_MAX_WIDTH_PX } from "./constants.js";
4
4
  import { layerId as castLayerId, } from "@oh-just-another/types";
5
- import { selection } from "@oh-just-another/state";
5
+ import { DEFAULT_BRUSH_SETTINGS, selection, } from "@oh-just-another/state";
6
6
  import { useDiagramContext, useDiagramContextOptional, useEditorSelector } from "./context.js";
7
7
  /**
8
8
  * Live `Editor` instance. Use for imperative actions (`addElement`,
@@ -47,6 +47,19 @@ export const useScene = () => useEditorSelector((e) => e.scene, EMPTY_SCENE, "sc
47
47
  export const useSelection = () => useEditorSelector((e) => e.selection, selection.EMPTY, "selection");
48
48
  /** Current interaction mode. Defaults to `"select"` pre-mount. */
49
49
  export const useMode = () => useEditorSelector((e) => e.mode, "select", "mode");
50
+ /**
51
+ * Live brush paint settings (line colour, fill, opacity, width) — what the
52
+ * drawing panel edits via {@link Editor.setBrushSettings}. Defaults to
53
+ * {@link DEFAULT_BRUSH_SETTINGS} pre-mount.
54
+ */
55
+ export const useBrushSettings = () => useEditorSelector((e) => e.brushSettings, DEFAULT_BRUSH_SETTINGS);
56
+ /**
57
+ * `true` when the editor is in read-only / view mode. Chrome uses it to
58
+ * disable creation tools and edit controls while keeping navigation live.
59
+ * Reactive — re-renders when {@link Editor.setReadOnly} flips. Defaults to
60
+ * `false` pre-mount.
61
+ */
62
+ export const useReadOnly = () => useEditorSelector((e) => e.readOnly, false);
50
63
  /**
51
64
  * History introspection and actions. Returns no-op callbacks (and `false`
52
65
  * flags) while the editor is being created so toolbar buttons can render
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,7 +14,9 @@ export { ColorSwatchPicker, type ColorSwatchPickerProps } from "./color-swatch-p
14
14
  export { ELEMENT_PALETTE_LIGHT, ELEMENT_PALETTE_DARK, CANVAS_PALETTE_LIGHT, CANVAS_PALETTE_DARK, resolvePaletteTheme, } from "./color-palette.js";
15
15
  export { DiagramRoot, DiagramSurface, type DiagramRootProps, type DiagramSurfaceProps, } from "./diagram-root.js";
16
16
  export { DiagramCanvas, type DiagramCanvasProps } from "./diagram-canvas.js";
17
- export { useDiagram, useDiagramOptional, useScene, useSelection, useMode, useHistory, useLayers, useActiveLayerId, useAnnotations, useSelectedAnnotation, useSelectedLink, useMobileLayout, } from "./hooks.js";
17
+ export { Minimap, type MinimapProps } from "./minimap.js";
18
+ export { DrawingPanel } from "./drawing-panel.js";
19
+ export { useDiagram, useDiagramOptional, useScene, useSelection, useMode, useBrushSettings, useReadOnly, useHistory, useLayers, useActiveLayerId, useAnnotations, useSelectedAnnotation, useSelectedLink, useMobileLayout, } from "./hooks.js";
18
20
  export { LayerPanel, type LayerPanelProps } from "./layer-panel.js";
19
21
  export { CommentsPanel, CommentsPopover, type CommentsPanelProps, type CommentsPopoverProps, } from "./comments-panel.js";
20
22
  export { VersionPanel, useSnapshotStore, type VersionPanelProps } from "./versioning.js";
@@ -36,11 +38,14 @@ export { ContextMenu, DEFAULT_CONTEXT_MENU, type ContextMenuItem, type ContextMe
36
38
  export { ContextMenuControllerProvider, useContextMenuController, type ContextMenuController, type ContextMenuOpenRequest, } from "./context-menu-controller.js";
37
39
  export { HelpDialog, useHelpDialogHotkey, type HelpDialogProps, type HelpRow, type HelpSection, } from "./help-dialog.js";
38
40
  export { CommandPalette } from "./command-palette.js";
41
+ export { SearchOverlay } from "./search-overlay.js";
42
+ export { StatsPanel } from "./stats-panel.js";
43
+ export { ZenModeProvider, useZenMode, useZenModeOptional, type ZenModeApi } from "./zen-mode.js";
39
44
  export { ToastHost, useToast, useToastOptional, useEphemeralToast, type Toast, type ToastApi, type ToastKind, type ToastHostProps, } from "./toast.js";
40
45
  export { MainMenu, type MainMenuProps, type MainMenuItemProps, type MainMenuItemLinkProps, type MainMenuSubmenuProps, } from "./main-menu.js";
41
46
  export { Modal, type ModalProps } from "./modal.js";
42
47
  export { Sidebar, type SidebarProps } from "./sidebar.js";
43
48
  export { Tooltip, TooltipProvider, type TooltipProps, type TooltipSide } from "./tooltip.js";
44
49
  export { PortalContainerProvider, usePortalContainer } from "./portal-container.js";
45
- export { PALETTE_WIDTH, PALETTE_ITEM_SIZE, PROPERTY_PANEL_WIDTH, PROPERTY_SWATCH_SIZE, LAYER_PANEL_WIDTH, LAYER_TOGGLE_ICON_SIZE, LAYER_SWATCH_SIZE, COMMENTS_PANEL_WIDTH, TOOLBAR_SEPARATOR_HEIGHT, } from "./constants.js";
50
+ export { PALETTE_WIDTH, PALETTE_ITEM_SIZE, PROPERTY_PANEL_WIDTH, PROPERTY_SWATCH_SIZE, LAYER_PANEL_WIDTH, LAYER_TOGGLE_ICON_SIZE, LAYER_SWATCH_SIZE, COMMENTS_PANEL_WIDTH, TOOLBAR_SEPARATOR_HEIGHT, MINIMAP_WIDTH_PX, MINIMAP_HEIGHT_PX, MINIMAP_PADDING_PX, MINIMAP_THROTTLE_MS, SEARCH_ZOOM_PADDING_PX, } from "./constants.js";
46
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,7 +14,9 @@ export { ColorSwatchPicker } from "./color-swatch-picker.js";
14
14
  export { ELEMENT_PALETTE_LIGHT, ELEMENT_PALETTE_DARK, CANVAS_PALETTE_LIGHT, CANVAS_PALETTE_DARK, resolvePaletteTheme, } from "./color-palette.js";
15
15
  export { DiagramRoot, DiagramSurface, } from "./diagram-root.js";
16
16
  export { DiagramCanvas } from "./diagram-canvas.js";
17
- export { useDiagram, useDiagramOptional, useScene, useSelection, useMode, useHistory, useLayers, useActiveLayerId, useAnnotations, useSelectedAnnotation, useSelectedLink, useMobileLayout, } from "./hooks.js";
17
+ export { Minimap } from "./minimap.js";
18
+ export { DrawingPanel } from "./drawing-panel.js";
19
+ export { useDiagram, useDiagramOptional, useScene, useSelection, useMode, useBrushSettings, useReadOnly, useHistory, useLayers, useActiveLayerId, useAnnotations, useSelectedAnnotation, useSelectedLink, useMobileLayout, } from "./hooks.js";
18
20
  export { LayerPanel } from "./layer-panel.js";
19
21
  export { CommentsPanel, CommentsPopover, } from "./comments-panel.js";
20
22
  export { VersionPanel, useSnapshotStore } from "./versioning.js";
@@ -36,6 +38,9 @@ export { ContextMenu, DEFAULT_CONTEXT_MENU, } from "./context-menu.js";
36
38
  export { ContextMenuControllerProvider, useContextMenuController, } from "./context-menu-controller.js";
37
39
  export { HelpDialog, useHelpDialogHotkey, } from "./help-dialog.js";
38
40
  export { CommandPalette } from "./command-palette.js";
41
+ export { SearchOverlay } from "./search-overlay.js";
42
+ export { StatsPanel } from "./stats-panel.js";
43
+ export { ZenModeProvider, useZenMode, useZenModeOptional } from "./zen-mode.js";
39
44
  export { ToastHost, useToast, useToastOptional, useEphemeralToast, } from "./toast.js";
40
45
  export { MainMenu, } from "./main-menu.js";
41
46
  export { Modal } from "./modal.js";
@@ -43,5 +48,5 @@ export { Sidebar } from "./sidebar.js";
43
48
  export { Tooltip, TooltipProvider } from "./tooltip.js";
44
49
  export { PortalContainerProvider, usePortalContainer } from "./portal-container.js";
45
50
  // Tunable layout sizes for the built-in panels and toolbar.
46
- export { PALETTE_WIDTH, PALETTE_ITEM_SIZE, PROPERTY_PANEL_WIDTH, PROPERTY_SWATCH_SIZE, LAYER_PANEL_WIDTH, LAYER_TOGGLE_ICON_SIZE, LAYER_SWATCH_SIZE, COMMENTS_PANEL_WIDTH, TOOLBAR_SEPARATOR_HEIGHT, } from "./constants.js";
51
+ export { PALETTE_WIDTH, PALETTE_ITEM_SIZE, PROPERTY_PANEL_WIDTH, PROPERTY_SWATCH_SIZE, LAYER_PANEL_WIDTH, LAYER_TOGGLE_ICON_SIZE, LAYER_SWATCH_SIZE, COMMENTS_PANEL_WIDTH, TOOLBAR_SEPARATOR_HEIGHT, MINIMAP_WIDTH_PX, MINIMAP_HEIGHT_PX, MINIMAP_PADDING_PX, MINIMAP_THROTTLE_MS, SEARCH_ZOOM_PADDING_PX, } from "./constants.js";
47
52
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type CSSProperties } from "react";
2
+ import type { Editor } from "@oh-just-another/state";
3
+ export interface MinimapProps {
4
+ /** Canvas width in CSS pixels. Defaults to {@link MINIMAP_WIDTH_PX}. */
5
+ readonly width?: number;
6
+ /** Canvas height in CSS pixels. Defaults to {@link MINIMAP_HEIGHT_PX}. */
7
+ readonly height?: number;
8
+ readonly className?: string;
9
+ readonly style?: CSSProperties;
10
+ /**
11
+ * Editor to preview. Defaults to the one provided by the enclosing
12
+ * `<DiagramRoot>` (via context). Pass explicitly when the minimap lives
13
+ * outside the provider tree (e.g. next to a high-level `<Diagram>`).
14
+ */
15
+ readonly editor?: Editor;
16
+ }
17
+ /**
18
+ * Small overview canvas: renders the whole scene scaled to fit, overlays a
19
+ * frame for the current viewport, and pans the main view on click / drag.
20
+ *
21
+ * Repaints are throttled to {@link MINIMAP_THROTTLE_MS} and driven by the
22
+ * editor's change subscription (scene edits *and* pan / zoom both notify).
23
+ */
24
+ export declare const Minimap: ({ width, height, className, style, editor: editorProp, }: MinimapProps) => import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=minimap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimap.d.ts","sourceRoot":"","sources":["../src/minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,aAAa,EAAqB,MAAM,OAAO,CAAC;AAM9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAcrD,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AA+BD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,0DAMrB,YAAY,4CAsLd,CAAC"}
@@ -0,0 +1,196 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useCallback, useEffect, useRef } from "react";
3
+ import { getElementWorldBounds } from "@oh-just-another/scene";
4
+ import { renderScene, renderLinks } from "@oh-just-another/renderer-core";
5
+ import { Canvas2DTarget, setupHiDpi } from "@oh-just-another/renderer-canvas";
6
+ import { bounds as B } from "@oh-just-another/math";
7
+ import { useDiagramOptional } from "./hooks.js";
8
+ import { MINIMAP_FRAME_COLOR, MINIMAP_FRAME_FILL, MINIMAP_FRAME_LINE_WIDTH, MINIMAP_HEIGHT_PX, MINIMAP_PADDING_PX, MINIMAP_THROTTLE_MS, MINIMAP_WHEEL_ZOOM_MAX_STEP, MINIMAP_WHEEL_ZOOM_SPEED, MINIMAP_WIDTH_PX, } from "./constants.js";
9
+ /** Union of every element's world AABB, or `null` for an empty scene. */
10
+ const sceneContentBounds = (scene) => {
11
+ let acc = null;
12
+ for (const el of scene.elements.values()) {
13
+ if (el.hidden === true)
14
+ continue;
15
+ const bb = getElementWorldBounds(el);
16
+ acc = acc ? B.union(acc, bb) : bb;
17
+ }
18
+ return acc;
19
+ };
20
+ /** Fit `content` into a `w`×`h` canvas with {@link MINIMAP_PADDING_PX} margin. */
21
+ const fitContent = (content, w, h) => {
22
+ const availW = w - MINIMAP_PADDING_PX * 2;
23
+ const availH = h - MINIMAP_PADDING_PX * 2;
24
+ if (availW <= 0 || availH <= 0 || content.width <= 0 || content.height <= 0)
25
+ return null;
26
+ const zoom = Math.min(availW / content.width, availH / content.height);
27
+ const cx = content.x + content.width / 2;
28
+ const cy = content.y + content.height / 2;
29
+ return { zoom, pan: { x: cx - w / 2 / zoom, y: cy - h / 2 / zoom } };
30
+ };
31
+ /**
32
+ * Small overview canvas: renders the whole scene scaled to fit, overlays a
33
+ * frame for the current viewport, and pans the main view on click / drag.
34
+ *
35
+ * Repaints are throttled to {@link MINIMAP_THROTTLE_MS} and driven by the
36
+ * editor's change subscription (scene edits *and* pan / zoom both notify).
37
+ */
38
+ export const Minimap = ({ width = MINIMAP_WIDTH_PX, height = MINIMAP_HEIGHT_PX, className, style, editor: editorProp, }) => {
39
+ const contextEditor = useDiagramOptional();
40
+ const editor = editorProp ?? contextEditor;
41
+ const canvasRef = useRef(null);
42
+ // Latest fit used for the last paint — read by pointer handlers to map a
43
+ // minimap pixel back to a world point without recomputing.
44
+ const fitRef = useRef(null);
45
+ const draggingRef = useRef(false);
46
+ const draw = useCallback(() => {
47
+ const canvas = canvasRef.current;
48
+ if (!canvas || !editor)
49
+ return;
50
+ const scene = editor.scene;
51
+ const dpr = setupHiDpi(canvas, width, height);
52
+ const ctx = canvas.getContext("2d");
53
+ if (!ctx)
54
+ return;
55
+ const target = new Canvas2DTarget(ctx, width, height, dpr);
56
+ target.clear();
57
+ const content = sceneContentBounds(scene);
58
+ const fit = content ? fitContent(content, width, height) : null;
59
+ fitRef.current = fit;
60
+ if (!fit)
61
+ return;
62
+ const miniScene = {
63
+ ...scene,
64
+ viewport: {
65
+ ...scene.viewport,
66
+ pan: fit.pan,
67
+ zoom: fit.zoom,
68
+ rotation: 0,
69
+ size: { width, height },
70
+ },
71
+ };
72
+ renderScene(miniScene, target);
73
+ renderLinks(miniScene, target);
74
+ // Viewport frame — the world rect currently visible in the main view,
75
+ // projected into minimap pixels. Drawn in CSS px on the dpr-scaled ctx.
76
+ const vp = scene.viewport;
77
+ if (vp.zoom > 0 && vp.size.width > 0 && vp.size.height > 0) {
78
+ const fx = (vp.pan.x - fit.pan.x) * fit.zoom;
79
+ const fy = (vp.pan.y - fit.pan.y) * fit.zoom;
80
+ const fw = (vp.size.width / vp.zoom) * fit.zoom;
81
+ const fh = (vp.size.height / vp.zoom) * fit.zoom;
82
+ ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
83
+ ctx.fillStyle = MINIMAP_FRAME_FILL;
84
+ ctx.fillRect(fx, fy, fw, fh);
85
+ ctx.strokeStyle = MINIMAP_FRAME_COLOR;
86
+ ctx.lineWidth = MINIMAP_FRAME_LINE_WIDTH;
87
+ ctx.strokeRect(fx, fy, fw, fh);
88
+ }
89
+ }, [editor, width, height]);
90
+ // Throttled repaint on every editor change. A leading draw runs immediately;
91
+ // bursts within the window collapse into a single trailing draw.
92
+ useEffect(() => {
93
+ if (!editor)
94
+ return undefined;
95
+ draw();
96
+ let last = Date.now();
97
+ let timer = null;
98
+ const schedule = () => {
99
+ const elapsed = Date.now() - last;
100
+ if (elapsed >= MINIMAP_THROTTLE_MS) {
101
+ last = Date.now();
102
+ draw();
103
+ }
104
+ else {
105
+ timer ??= setTimeout(() => {
106
+ timer = null;
107
+ last = Date.now();
108
+ draw();
109
+ }, MINIMAP_THROTTLE_MS - elapsed);
110
+ }
111
+ };
112
+ const unsubscribe = editor.subscribe(schedule);
113
+ return () => {
114
+ unsubscribe();
115
+ if (timer !== null)
116
+ clearTimeout(timer);
117
+ };
118
+ }, [editor, draw]);
119
+ // Center the main viewport on the world point under a minimap pixel.
120
+ const panToPixel = useCallback((px, py) => {
121
+ const fit = fitRef.current;
122
+ if (!editor || !fit)
123
+ return;
124
+ const world = { x: px / fit.zoom + fit.pan.x, y: py / fit.zoom + fit.pan.y };
125
+ const vp = editor.scene.viewport;
126
+ const centerX = vp.pan.x + vp.size.width / 2 / vp.zoom;
127
+ const centerY = vp.pan.y + vp.size.height / 2 / vp.zoom;
128
+ editor.panBy({ x: (centerX - world.x) * vp.zoom, y: (centerY - world.y) * vp.zoom });
129
+ }, [editor]);
130
+ // Wheel over the minimap zooms the MAIN view into the world spot under the
131
+ // cursor: recenter there (matching click-to-pan), then zoom around it. Same
132
+ // delta→factor curve as the main canvas. Bound as a non-passive native
133
+ // listener (below) so `preventDefault` can stop the page from scrolling.
134
+ const zoomAtPixel = useCallback((px, py, deltaY) => {
135
+ const fit = fitRef.current;
136
+ if (!editor || !fit || deltaY === 0)
137
+ return;
138
+ const world = { x: px / fit.zoom + fit.pan.x, y: py / fit.zoom + fit.pan.y };
139
+ const clamped = Math.abs(deltaY) > MINIMAP_WHEEL_ZOOM_MAX_STEP
140
+ ? MINIMAP_WHEEL_ZOOM_MAX_STEP * Math.sign(deltaY)
141
+ : deltaY;
142
+ const factor = 1 - (clamped * MINIMAP_WHEEL_ZOOM_SPEED) / 100;
143
+ if (factor <= 0)
144
+ return;
145
+ const vp = editor.scene.viewport;
146
+ const centerX = vp.pan.x + vp.size.width / 2 / vp.zoom;
147
+ const centerY = vp.pan.y + vp.size.height / 2 / vp.zoom;
148
+ editor.panBy({ x: (centerX - world.x) * vp.zoom, y: (centerY - world.y) * vp.zoom });
149
+ editor.zoomAt(factor, world);
150
+ }, [editor]);
151
+ // Native non-passive wheel listener (React's onWheel is passive, so its
152
+ // preventDefault is a no-op). Zooms the main view; stops page scroll.
153
+ useEffect(() => {
154
+ const canvas = canvasRef.current;
155
+ if (!canvas)
156
+ return undefined;
157
+ const onWheel = (e) => {
158
+ e.preventDefault();
159
+ const rect = canvas.getBoundingClientRect();
160
+ zoomAtPixel(e.clientX - rect.left, e.clientY - rect.top, e.deltaY);
161
+ };
162
+ canvas.addEventListener("wheel", onWheel, { passive: false });
163
+ return () => {
164
+ canvas.removeEventListener("wheel", onWheel);
165
+ };
166
+ }, [zoomAtPixel]);
167
+ const localPoint = (e) => {
168
+ const rect = e.currentTarget.getBoundingClientRect();
169
+ return { x: e.clientX - rect.left, y: e.clientY - rect.top };
170
+ };
171
+ const handlePointerDown = useCallback((e) => {
172
+ draggingRef.current = true;
173
+ e.currentTarget.setPointerCapture(e.pointerId);
174
+ const p = localPoint(e);
175
+ panToPixel(p.x, p.y);
176
+ }, [panToPixel]);
177
+ const handlePointerMove = useCallback((e) => {
178
+ if (!draggingRef.current)
179
+ return;
180
+ const p = localPoint(e);
181
+ panToPixel(p.x, p.y);
182
+ }, [panToPixel]);
183
+ const handlePointerUp = useCallback((e) => {
184
+ draggingRef.current = false;
185
+ e.currentTarget.releasePointerCapture(e.pointerId);
186
+ }, []);
187
+ return (_jsx("canvas", { ref: canvasRef, className: className, "aria-label": "Diagram minimap", onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, style: {
188
+ display: "block",
189
+ width,
190
+ height,
191
+ cursor: "pointer",
192
+ touchAction: "none",
193
+ ...style,
194
+ } }));
195
+ };
196
+ //# sourceMappingURL=minimap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimap.js","sourceRoot":"","sources":["../src/minimap.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"property-panel.d.ts","sourceRoot":"","sources":["../src/property-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,aAAa,EAAkB,MAAM,OAAO,CAAC;AAmExF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,GAAI,8BAAsC,kBAAkB,mDA6FrF,CAAC"}
1
+ {"version":3,"file":"property-panel.d.ts","sourceRoot":"","sources":["../src/property-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,aAAa,EAAkB,MAAM,OAAO,CAAC;AAiFxF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,GAAI,8BAAsC,kBAAkB,mDAuGrF,CAAC"}