@hunterchen/canvas 0.6.0 → 0.7.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.
package/README.md CHANGED
@@ -135,6 +135,30 @@ const navItems: NavItem[] = [
135
135
 
136
136
  When `navItems` is provided, the canvas will render a navbar with buttons to navigate between sections. The navbar uses Lucide icons, so make sure the icon names match available Lucide icons.
137
137
 
138
+ ### Canvas Dimensions
139
+
140
+ By default, the canvas uses a size of 6000×4000 pixels. You can customize the canvas dimensions using the `canvasWidth` and `canvasHeight` props to create larger or smaller canvas spaces:
141
+
142
+ ```tsx
143
+ <Canvas
144
+ homeCoordinates={homeCoordinates}
145
+ canvasWidth={8000} // Custom width (default: 6000)
146
+ canvasHeight={6000} // Custom height (default: 4000)
147
+ >
148
+ {/* ... */}
149
+ </Canvas>
150
+ ```
151
+
152
+ **When to customize canvas dimensions:**
153
+ - **Larger canvases** (e.g., 10000×8000): When you have many sections spread across a wide area, or want more space for users to explore
154
+ - **Smaller canvases** (e.g., 4000×3000): For simpler layouts with fewer sections, reducing memory usage on lower-end devices
155
+ - **Custom aspect ratios**: Match your content layout needs (e.g., ultra-wide canvases for timeline-style layouts)
156
+
157
+ **Important considerations:**
158
+ - Canvas coordinates in `homeCoordinates`, `navItems`, and `CanvasComponent` offsets should be within your custom canvas bounds
159
+ - Larger canvases use more memory but provide more space for content
160
+ - The canvas automatically handles zoom limits based on your custom dimensions
161
+
138
162
  ## Customization
139
163
 
140
164
  ### Background Customization
@@ -482,7 +506,25 @@ npm run type-check
482
506
 
483
507
  ### Canvas Props
484
508
 
485
- The `Canvas` component accepts standard React props and renders an interactive canvas with pan/zoom capabilities.
509
+ The `Canvas` component accepts the following props:
510
+
511
+ | Prop | Type | Required | Default | Description |
512
+ |------|------|----------|---------|-------------|
513
+ | `homeCoordinates` | `SectionCoordinates` | Yes | - | Initial viewport position and home section |
514
+ | `children` | `ReactNode` | Yes | - | Canvas content (typically `CanvasComponent` elements) |
515
+ | `canvasWidth` | `number` | No | `6000` | Total canvas width in pixels |
516
+ | `canvasHeight` | `number` | No | `4000` | Total canvas height in pixels |
517
+ | `navItems` | `NavItem[]` | No | - | Navigation items for navbar |
518
+ | `skipIntro` | `boolean` | No | `false` | Skip intro animation |
519
+ | `introContent` | `ReactNode` | No | - | Custom intro content during loading |
520
+ | `loadingText` | `string` | No | - | Custom loading text |
521
+ | `introBackgroundGradient` | `string` | No | - | Background gradient for intro |
522
+ | `canvasBoxGradient` | `string` | No | - | Canvas box gradient during intro |
523
+ | `growTransition` | `Transition` | No | - | Custom grow transition (Framer Motion) |
524
+ | `blurTransition` | `Transition` | No | - | Custom blur transition (Framer Motion) |
525
+ | `canvasBackground` | `ReactNode` | No | `<DefaultCanvasBackground />` | Custom canvas background |
526
+ | `wrapperBackground` | `ReactNode` | No | - | Custom wrapper/intro background |
527
+ | `toolbarConfig` | `ToolbarConfig` | No | - | Toolbar customization options |
486
528
 
487
529
  ### Draggable Props
488
530
 
@@ -5,6 +5,8 @@ import type { ReactNode } from "react";
5
5
  interface Props {
6
6
  homeCoordinates: SectionCoordinates;
7
7
  children: React.ReactNode;
8
+ canvasWidth?: number;
9
+ canvasHeight?: number;
8
10
  /** Array of navigation items for the navbar. If omitted, navbar is hidden. */
9
11
  navItems?: NavItem[];
10
12
  /** Disable intro animation entirely */
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,EAIZ,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AAwBf,OAAO,KAAK,EAEV,OAAO,EACP,kBAAkB,EAClB,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,KAAK;IACb,eAAe,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAG1B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAGrB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,UAAU,CAAC;IAG5B,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAG9B,oCAAoC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAYD,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,KAAK,CA8lBrB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,EAIZ,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AA0Bf,OAAO,KAAK,EAEV,OAAO,EACP,kBAAkB,EAClB,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,UAAU,KAAK;IACb,eAAe,EAAE,kBAAkB,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAG1B,WAAW,CAAC,EAAC,MAAM,CAAC;IACpB,YAAY,CAAC,EAAC,MAAM,CAAC;IAGrB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAGrB,uCAAuC;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,UAAU,CAAC;IAG5B,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAG9B,oCAAoC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAYD,QAAA,MAAM,MAAM,EAAE,EAAE,CAAC,KAAK,CAgmBrB,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -2,8 +2,8 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { motion, useMotionValue, animate, useTransform, } from "framer-motion";
3
3
  import { useState, useRef, useEffect, useCallback, useMemo, } from "react";
4
4
  import { CanvasProvider } from "../../contexts/CanvasContext";
5
- import { calcInitialBoxWidth, canvasHeight, canvasWidth, getDistance, getMidpoint, getScreenSizeEnum, getSectionPanCoordinates, INTERACTIVE_SELECTOR, MAX_ZOOM, MIN_ZOOMS, panToOffsetScene, ZOOM_BOUND, } from "../../lib/canvas";
6
- import { STAGE2_TRANSITION, MOUSE_WHEEL_ZOOM_SENSITIVITY, TRACKPAD_ZOOM_SENSITIVITY, } from "../../lib/constants";
5
+ import { calcInitialBoxWidth, getDistance, getMidpoint, getScreenSizeEnum, getSectionPanCoordinates, INTERACTIVE_SELECTOR, MAX_ZOOM, MIN_ZOOMS, panToOffsetScene, ZOOM_BOUND, } from "../../lib/canvas";
6
+ import { STAGE2_TRANSITION, MOUSE_WHEEL_ZOOM_SENSITIVITY, TRACKPAD_ZOOM_SENSITIVITY, DEFAULT_CANVAS_WIDTH, DEFAULT_CANVAS_HEIGHT, } from "../../lib/constants";
7
7
  import useWindowDimensions from "../../hooks/useWindowDimensions";
8
8
  import Navbar from "./navbar";
9
9
  import Toolbar from "./toolbar";
@@ -15,12 +15,12 @@ const stopAllMotion = (x, y, scale) => {
15
15
  y.stop();
16
16
  scale.stop();
17
17
  };
18
- const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introContent, loadingText, introBackgroundGradient, canvasBoxGradient, growTransition, blurTransition, canvasBackground, wrapperBackground, toolbarConfig, }) => {
18
+ const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introContent, loadingText, introBackgroundGradient, canvasBoxGradient, growTransition, blurTransition, canvasBackground, wrapperBackground, toolbarConfig, canvasHeight, canvasWidth, }) => {
19
19
  const { height: windowHeight, width: windowWidth } = useWindowDimensions();
20
20
  const { mode } = usePerformanceMode();
21
21
  const hasNavbar = Boolean(navItems && navItems.length > 0);
22
- const sceneWidth = canvasWidth;
23
- const sceneHeight = canvasHeight;
22
+ const sceneWidth = canvasWidth ?? DEFAULT_CANVAS_WIDTH;
23
+ const sceneHeight = canvasHeight ?? DEFAULT_CANVAS_HEIGHT;
24
24
  const MIN_ZOOM = MIN_ZOOMS[getScreenSizeEnum(windowWidth)];
25
25
  // tracks if user is panning the screen
26
26
  const [isPanning, setIsPanning] = useState(false);
@@ -59,11 +59,11 @@ const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introC
59
59
  const introProgress = useMotionValue(0);
60
60
  // Precompute final stage1 scale and offsets (snapshot dimensions once on mount)
61
61
  const stage1Targets = useMemo(() => {
62
- const finalScale = Math.max((windowWidth || 0) / canvasWidth, (windowHeight || 0) / canvasHeight);
63
- const endX = (windowWidth - canvasWidth * finalScale) / 2;
64
- const endY = (windowHeight - canvasHeight * finalScale) / 2;
62
+ const finalScale = Math.max((windowWidth || 0) / sceneWidth, (windowHeight || 0) / sceneHeight);
63
+ const endX = (windowWidth - sceneWidth * finalScale) / 2;
64
+ const endY = (windowHeight - sceneHeight * finalScale) / 2;
65
65
  return { finalScale, endX, endY };
66
- }, [windowWidth, windowHeight]);
66
+ }, [windowWidth, windowHeight, sceneWidth, sceneHeight]);
67
67
  // Replace direct motion values with derived transforms during stage1
68
68
  const derivedScale = useTransform(introProgress, [0, 1], [initialBoxWidth, stage1Targets.finalScale]);
69
69
  const derivedX = useTransform(introProgress, [0, 1], [0, stage1Targets.endX]);
@@ -231,8 +231,8 @@ const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introC
231
231
  if (initialDistance === 0)
232
232
  return;
233
233
  let newZoom = initialZoom * (currentDistance / initialDistance);
234
- newZoom = Math.max((window.innerWidth / canvasWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
235
- (window.innerHeight / canvasHeight) * ZOOM_BOUND, // Ensure zoom is at least the height of the canvas
234
+ newZoom = Math.max((window.innerWidth / sceneWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
235
+ (window.innerHeight / sceneHeight) * ZOOM_BOUND, // Ensure zoom is at least the height of the canvas
236
236
  Math.min(newZoom, 10), MIN_ZOOM // Ensure zoom is not less than MIN_ZOOM
237
237
  );
238
238
  const mx = currentMidpoint.x;
@@ -312,8 +312,8 @@ const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introC
312
312
  : TRACKPAD_ZOOM_SENSITIVITY;
313
313
  if (isPinch) {
314
314
  const currentZoom = scale.get();
315
- const nextZoom = Math.max(Math.min(currentZoom * (1 - event.deltaY * ZOOM_SENSITIVITY), MAX_ZOOM), MIN_ZOOM, (window.innerWidth / canvasWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
316
- (window.innerHeight / canvasHeight) * ZOOM_BOUND // Ensure zoom is at least the height of the canvas
315
+ const nextZoom = Math.max(Math.min(currentZoom * (1 - event.deltaY * ZOOM_SENSITIVITY), MAX_ZOOM), MIN_ZOOM, (window.innerWidth / sceneWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
316
+ (window.innerHeight / sceneHeight) * ZOOM_BOUND // Ensure zoom is at least the height of the canvas
317
317
  );
318
318
  const rect = viewportRef.current?.getBoundingClientRect();
319
319
  if (!rect)
@@ -377,8 +377,8 @@ const Canvas = ({ children, homeCoordinates, navItems, skipIntro = false, introC
377
377
  pointerEvents: animationStage >= 2 ? "auto" : "none",
378
378
  overscrollBehavior: "contain",
379
379
  }, onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUpOrCancel, onPointerLeave: handlePointerUpOrCancel, onPointerCancel: handlePointerUpOrCancel, children: _jsxs(motion.div, { ref: sceneRef, className: "absolute z-20 origin-top-left", initial: { opacity: 0 }, animate: { opacity: 1 }, transition: { duration: 0.3, ease: "easeIn" }, style: {
380
- width: `${canvasWidth}px`,
381
- height: `${canvasHeight}px`,
380
+ width: `${sceneWidth}px`,
381
+ height: `${sceneHeight}px`,
382
382
  x,
383
383
  y,
384
384
  scale,
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/components/canvas/canvas.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/lib/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAML,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,WAAW,OAAe,CAAC;AACxC,eAAO,MAAM,YAAY,OAAgB,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,KAEnD,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,GACtB,IAAI,mBAAmB,EACvB,IAAI,mBAAmB,WAKxB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,IAAI,mBAAmB,EACvB,IAAI,mBAAmB,KACtB,KAKF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,cASjD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACvC,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;EAqBA;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,KAAK,EACb,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACtB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACtB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,EACnB,cAAc,MAAM,WAkBrB,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,QAAQ,EACR,SAAS,GACV,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/lib/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAML,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,WAAW,OAAuB,CAAC;AAChD,eAAO,MAAM,YAAY,OAAwB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,KAEnD,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,WAAW,GACtB,IAAI,mBAAmB,EACvB,IAAI,mBAAmB,WAKxB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,IAAI,mBAAmB,EACvB,IAAI,mBAAmB,KACtB,KAKF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,cASjD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACvC,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,QAAQ,GACT,EAAE;IACD,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;EAqBA;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,KAAK,EACb,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACtB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACtB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,EACnB,cAAc,MAAM,WAkBrB,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,QAAQ,EACR,SAAS,GACV,MAAM,aAAa,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { animate } from "framer-motion";
2
2
  import { useMemo } from "react";
3
- import { CANVAS_WIDTH, CANVAS_HEIGHT, MAX_DIM_RATIO, INTRO_ASPECT_RATIO, PAN_SPRING, ScreenSizeEnum, } from "./constants";
4
- export const canvasWidth = CANVAS_WIDTH;
5
- export const canvasHeight = CANVAS_HEIGHT;
3
+ import { DEFAULT_CANVAS_WIDTH, DEFAULT_CANVAS_HEIGHT, MAX_DIM_RATIO, INTRO_ASPECT_RATIO, PAN_SPRING, ScreenSizeEnum, } from "./constants";
4
+ export const canvasWidth = DEFAULT_CANVAS_WIDTH;
5
+ export const canvasHeight = DEFAULT_CANVAS_HEIGHT;
6
6
  // Re-export ScreenSizeEnum for backward compatibility
7
7
  export { ScreenSizeEnum } from "./constants";
8
8
  export const useMemoPoint = (x, y) => {
@@ -1 +1 @@
1
- {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/lib/canvas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/lib/canvas.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ export declare enum ScreenSizeEnum {
13
13
  HUGE_DESKTOP = "huge-desktop"
14
14
  }
15
15
  /** Default canvas width in pixels */
16
- export declare const CANVAS_WIDTH = 6000;
16
+ export declare const DEFAULT_CANVAS_WIDTH = 6000;
17
17
  /** Default canvas height in pixels */
18
- export declare const CANVAS_HEIGHT = 4000;
18
+ export declare const DEFAULT_CANVAS_HEIGHT = 4000;
19
19
  /** Maximum dimensions ratio for the intro box relative to viewport */
20
20
  export declare const MAX_DIM_RATIO: {
21
21
  readonly width: 0.8;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AAMH,oBAAY,cAAc;IACtB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAChC;AAMD,qCAAqC;AACrC,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,sCAAsC;AACtC,eAAO,MAAM,aAAa,OAAO,CAAC;AAMlC,sEAAsE;AACtE,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC,uCAAuC;AACvC,eAAO,MAAM,eAAe;;;mBAGK,MAAM;CAC7B,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,eAAe;;;mBAGN,MAAM;CAClB,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAMX,yBAAyB;AACzB,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,6EAA6E;AAC7E,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,0CAA0C;AAC1C,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQ3C,CAAC;AAEX,kCAAkC;AAClC,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,6CAA6C;AAC7C,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD,0CAA0C;AAC1C,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAM/C,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAEe,CAAC;AAMjD,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAMnD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQrD,CAAC;AAMX,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAMX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,OAAO,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AAMH,oBAAY,cAAc;IACtB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;CAChC;AAMD,qCAAqC;AACrC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,sCAAsC;AACtC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAM1C,sEAAsE;AACtE,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,kBAAkB,QAAQ,CAAC;AAExC,uCAAuC;AACvC,eAAO,MAAM,eAAe;;;mBAGK,MAAM;CAC7B,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,eAAe;;;mBAGN,MAAM;CAClB,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAMX,yBAAyB;AACzB,eAAO,MAAM,QAAQ,IAAI,CAAC;AAE1B,6EAA6E;AAC7E,eAAO,MAAM,UAAU,OAAO,CAAC;AAE/B,0CAA0C;AAC1C,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQ3C,CAAC;AAEX,kCAAkC;AAClC,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,6CAA6C;AAC7C,eAAO,MAAM,4BAA4B,SAAS,CAAC;AAEnD,0CAA0C;AAC1C,eAAO,MAAM,yBAAyB,QAAQ,CAAC;AAM/C,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAEe,CAAC;AAMjD,gEAAgE;AAChE,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,8DAA8D;AAC9D,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAMnD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQrD,CAAC;AAMX,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAMX,mEAAmE;AACnE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,8DAA8D;AAC9D,eAAO,MAAM,yBAAyB,OAAO,CAAC"}
@@ -19,9 +19,9 @@ export var ScreenSizeEnum;
19
19
  // CANVAS DIMENSIONS
20
20
  // ============================================================================
21
21
  /** Default canvas width in pixels */
22
- export const CANVAS_WIDTH = 6000;
22
+ export const DEFAULT_CANVAS_WIDTH = 6000;
23
23
  /** Default canvas height in pixels */
24
- export const CANVAS_HEIGHT = 4000;
24
+ export const DEFAULT_CANVAS_HEIGHT = 4000;
25
25
  // ============================================================================
26
26
  // INTRO ANIMATION
27
27
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hunterchen/canvas",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "A React-based canvas library for creating pannable, zoomable, and interactive canvas experiences.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -58,6 +58,9 @@
58
58
  "@types/node": "^25.0.6",
59
59
  "@types/react": "19.0.12",
60
60
  "@types/react-dom": "19.0.4",
61
+ "framer-motion": "^12.26.2",
62
+ "react": "^19.2.3",
63
+ "react-dom": "^19.2.3",
61
64
  "tailwindcss": "^3.4.19",
62
65
  "tailwindcss-animate": "^1.0.7",
63
66
  "typescript": "^5.8.2"
@@ -35,6 +35,8 @@ import {
35
35
  STAGE2_TRANSITION,
36
36
  MOUSE_WHEEL_ZOOM_SENSITIVITY,
37
37
  TRACKPAD_ZOOM_SENSITIVITY,
38
+ DEFAULT_CANVAS_WIDTH,
39
+ DEFAULT_CANVAS_HEIGHT,
38
40
  } from "../../lib/constants";
39
41
  import useWindowDimensions from "../../hooks/useWindowDimensions";
40
42
  import Navbar from "./navbar";
@@ -54,6 +56,10 @@ interface Props {
54
56
  homeCoordinates: SectionCoordinates;
55
57
  children: React.ReactNode;
56
58
 
59
+ // Optional height and with params, if omitted sizing will be 6000x4000
60
+ canvasWidth?:number;
61
+ canvasHeight?:number;
62
+
57
63
  // Navbar data (optional). If omitted, navbar is hidden.
58
64
  /** Array of navigation items for the navbar. If omitted, navbar is hidden. */
59
65
  navItems?: NavItem[];
@@ -109,6 +115,8 @@ const Canvas: FC<Props> = ({
109
115
  canvasBackground,
110
116
  wrapperBackground,
111
117
  toolbarConfig,
118
+ canvasHeight,
119
+ canvasWidth,
112
120
  }) => {
113
121
  const { height: windowHeight, width: windowWidth } = useWindowDimensions();
114
122
 
@@ -116,8 +124,8 @@ const Canvas: FC<Props> = ({
116
124
 
117
125
  const hasNavbar = Boolean(navItems && navItems.length > 0);
118
126
 
119
- const sceneWidth = canvasWidth;
120
- const sceneHeight = canvasHeight;
127
+ const sceneWidth = canvasWidth ?? DEFAULT_CANVAS_WIDTH;
128
+ const sceneHeight = canvasHeight ?? DEFAULT_CANVAS_HEIGHT;
121
129
 
122
130
  const MIN_ZOOM = MIN_ZOOMS[getScreenSizeEnum(windowWidth)];
123
131
 
@@ -176,13 +184,13 @@ const Canvas: FC<Props> = ({
176
184
  // Precompute final stage1 scale and offsets (snapshot dimensions once on mount)
177
185
  const stage1Targets = useMemo(() => {
178
186
  const finalScale = Math.max(
179
- (windowWidth || 0) / canvasWidth,
180
- (windowHeight || 0) / canvasHeight
187
+ (windowWidth || 0) / sceneWidth,
188
+ (windowHeight || 0) / sceneHeight
181
189
  );
182
- const endX = (windowWidth - canvasWidth * finalScale) / 2;
183
- const endY = (windowHeight - canvasHeight * finalScale) / 2;
190
+ const endX = (windowWidth - sceneWidth * finalScale) / 2;
191
+ const endY = (windowHeight - sceneHeight * finalScale) / 2;
184
192
  return { finalScale, endX, endY };
185
- }, [windowWidth, windowHeight]);
193
+ }, [windowWidth, windowHeight, sceneWidth, sceneHeight]);
186
194
 
187
195
  // Replace direct motion values with derived transforms during stage1
188
196
  const derivedScale = useTransform(
@@ -406,8 +414,8 @@ const Canvas: FC<Props> = ({
406
414
 
407
415
  let newZoom = initialZoom * (currentDistance / initialDistance);
408
416
  newZoom = Math.max(
409
- (window.innerWidth / canvasWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
410
- (window.innerHeight / canvasHeight) * ZOOM_BOUND, // Ensure zoom is at least the height of the canvas
417
+ (window.innerWidth / sceneWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
418
+ (window.innerHeight / sceneHeight) * ZOOM_BOUND, // Ensure zoom is at least the height of the canvas
411
419
  Math.min(newZoom, 10),
412
420
  MIN_ZOOM // Ensure zoom is not less than MIN_ZOOM
413
421
  );
@@ -517,8 +525,8 @@ const Canvas: FC<Props> = ({
517
525
  MAX_ZOOM
518
526
  ),
519
527
  MIN_ZOOM,
520
- (window.innerWidth / canvasWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
521
- (window.innerHeight / canvasHeight) * ZOOM_BOUND // Ensure zoom is at least the height of the canvas
528
+ (window.innerWidth / sceneWidth) * ZOOM_BOUND, // Ensure zoom is at least the width of the canvas
529
+ (window.innerHeight / sceneHeight) * ZOOM_BOUND // Ensure zoom is at least the height of the canvas
522
530
  );
523
531
 
524
532
  const rect = viewportRef.current?.getBoundingClientRect();
@@ -666,8 +674,8 @@ const Canvas: FC<Props> = ({
666
674
  animate={{ opacity: 1 }}
667
675
  transition={{ duration: 0.3, ease: "easeIn" }}
668
676
  style={{
669
- width: `${canvasWidth}px`,
670
- height: `${canvasHeight}px`,
677
+ width: `${sceneWidth}px`,
678
+ height: `${sceneHeight}px`,
671
679
  x,
672
680
  y,
673
681
  scale,
package/src/lib/canvas.ts CHANGED
@@ -1,16 +1,16 @@
1
1
  import { animate, type MotionValue, type Point } from "framer-motion";
2
2
  import { useMemo } from "react";
3
3
  import {
4
- CANVAS_WIDTH,
5
- CANVAS_HEIGHT,
4
+ DEFAULT_CANVAS_WIDTH,
5
+ DEFAULT_CANVAS_HEIGHT,
6
6
  MAX_DIM_RATIO,
7
7
  INTRO_ASPECT_RATIO,
8
8
  PAN_SPRING,
9
9
  ScreenSizeEnum,
10
10
  } from "./constants";
11
11
 
12
- export const canvasWidth = CANVAS_WIDTH;
13
- export const canvasHeight = CANVAS_HEIGHT;
12
+ export const canvasWidth = DEFAULT_CANVAS_WIDTH;
13
+ export const canvasHeight = DEFAULT_CANVAS_HEIGHT;
14
14
 
15
15
  // Re-export ScreenSizeEnum for backward compatibility
16
16
  export { ScreenSizeEnum } from "./constants";
@@ -24,10 +24,10 @@ export enum ScreenSizeEnum {
24
24
  // ============================================================================
25
25
 
26
26
  /** Default canvas width in pixels */
27
- export const CANVAS_WIDTH = 6000;
27
+ export const DEFAULT_CANVAS_WIDTH = 6000;
28
28
 
29
29
  /** Default canvas height in pixels */
30
- export const CANVAS_HEIGHT = 4000;
30
+ export const DEFAULT_CANVAS_HEIGHT = 4000;
31
31
 
32
32
  // ============================================================================
33
33
  // INTRO ANIMATION