@dxos/react-ui-canvas 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef

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.
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/Canvas/Canvas.tsx", "../../../src/hooks/projection.tsx", "../../../src/hooks/useCanvasContext.tsx", "../../../src/hooks/useDrag.tsx", "../../../src/hooks/useWheel.tsx", "../../../src/util/svg.tsx", "../../../src/util/util.ts", "../../../src/components/FPS.tsx", "../../../src/components/Grid/Grid.tsx", "../../../src/types.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, {\n type CSSProperties,\n type HTMLAttributes,\n type PropsWithChildren,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nimport { CanvasContext, ProjectionMapper, type ProjectionState, defaultOrigin } from '../../hooks';\n\nexport interface CanvasController {\n setProjection(projection: ProjectionState): Promise<void>;\n}\n\nexport type CanvasProps = ThemedClassName<PropsWithChildren<Partial<ProjectionState> & HTMLAttributes<HTMLDivElement>>>;\n\n/**\n * Root canvas component.\n * Manages CSS projection.\n */\nexport const Canvas = forwardRef<CanvasController, CanvasProps>(\n ({ children, classNames, scale: scaleProp = 1, offset: offsetProp = defaultOrigin, ...props }, forwardedRef) => {\n // Size.\n const { ref, width = 0, height = 0 } = useResizeDetector();\n\n // Ready when initially resized.\n const [ready, setReady] = useState(false);\n\n // Projection.\n const [{ scale, offset }, setProjection] = useState<ProjectionState>({ scale: scaleProp, offset: offsetProp });\n useEffect(() => {\n if (width && height && offset === defaultOrigin) {\n setProjection({ scale, offset: { x: width / 2, y: height / 2 } });\n }\n }, [width, height, scale, offset]);\n\n // Projection mapper.\n const projection = useMemo(() => new ProjectionMapper(), []);\n useEffect(() => {\n projection.update({ width, height }, scale, offset);\n if (offset !== defaultOrigin) {\n setReady(true);\n }\n }, [projection, scale, offset, width, height]);\n\n // CSS transforms.\n const styles = useMemo<CSSProperties>(() => {\n return {\n // NOTE: Order is important.\n transform: `translate(${offset.x}px, ${offset.y}px) scale(${scale})`,\n visibility: width && height ? 'visible' : 'hidden',\n };\n }, [scale, offset]);\n\n // Controller.\n useImperativeHandle(forwardedRef, () => {\n return {\n setProjection: async (projection: ProjectionState) => {\n setProjection(projection);\n },\n };\n }, [ref]);\n\n return (\n <CanvasContext.Provider\n value={{ root: ref.current, ready, width, height, scale, offset, styles, projection, setProjection }}\n >\n <div role='none' {...props} className={mx('absolute inset-0 overflow-hidden', classNames)} ref={ref}>\n {ready ? children : null}\n </div>\n </CanvasContext.Provider>\n );\n },\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { easeSinOut, interpolate, interpolateObject, transition } from 'd3';\nimport {\n type Matrix,\n applyToPoints,\n compose,\n identity,\n inverse,\n scale as scaleMatrix,\n translate as translateMatrix,\n} from 'transformation-matrix';\n\nimport { type Dimension, type Point } from '../types';\n\nexport const defaultOrigin: Point = { x: 0, y: 0 };\n\n// TODO(burdon): Rotation also?\nexport type ProjectionState = {\n scale: number;\n offset: Point;\n};\n\n/**\n * Maps between screen and model coordinates.\n */\nexport interface Projection {\n get bounds(): Dimension;\n get scale(): number;\n get offset(): Point;\n\n /**\n * Maps the model space to the screen offset (from the top-left of the element).\n */\n toScreen(points: Point[]): Point[];\n\n /**\n * Maps the pointer coordinate (from the top-left of the element) to the model space.\n */\n toModel(points: Point[]): Point[];\n}\n\nexport class ProjectionMapper implements Projection {\n private _bounds: Dimension = { width: 0, height: 0 };\n private _scale: number = 1;\n private _offset: Point = defaultOrigin;\n private _toScreen: Matrix = identity();\n private _toModel: Matrix = identity();\n\n constructor(bounds?: Dimension, scale?: number, offset?: Point) {\n if (bounds && scale && offset) {\n this.update(bounds, scale, offset);\n }\n }\n\n update(bounds: Dimension, scale: number, offset: Point): this {\n this._bounds = bounds;\n this._scale = scale;\n this._offset = offset;\n this._toScreen = compose(\n // NOTE: Order is important.\n translateMatrix(this._offset.x, this._offset.y),\n scaleMatrix(this._scale),\n // TODO(burdon): Flip.\n // flipX(),\n );\n this._toModel = inverse(this._toScreen);\n return this;\n }\n\n get bounds() {\n return this._bounds;\n }\n\n get scale() {\n return this._scale;\n }\n\n get offset() {\n return this._offset;\n }\n\n toScreen(points: Point[]): Point[] {\n return applyToPoints(this._toScreen, points);\n }\n\n toModel(points: Point[]): Point[] {\n return applyToPoints(this._toModel, points);\n }\n}\n\n/**\n * Maintain position while zooming.\n */\nexport const getZoomTransform = ({\n scale,\n offset,\n pos,\n newScale,\n}: ProjectionState & { pos: Point; newScale: number }): ProjectionState => {\n return {\n scale: newScale,\n offset: {\n x: pos.x - (pos.x - offset.x) * (newScale / scale),\n y: pos.y - (pos.y - offset.y) * (newScale / scale),\n },\n };\n};\n\n/**\n * Zoom while keeping the specified position in place.\n */\n// TODO(burdon): Convert to object.\nexport const zoomInPlace = (\n setTransform: (state: ProjectionState) => void,\n pos: Point,\n offset: Point,\n current: number,\n next: number,\n delay = 200,\n) => {\n const is = interpolate(current, next);\n transition()\n .ease(easeSinOut)\n .duration(delay)\n .tween('zoom', () => (t) => {\n const newScale = is(t);\n setTransform(getZoomTransform({ scale: current, newScale, offset, pos }));\n });\n};\n\nconst noop = () => {};\n\n/**\n * Zoom to new scale and position.\n */\n// TODO(burdon): Convert to object.\nexport const zoomTo = (\n setTransform: (state: ProjectionState) => void,\n current: ProjectionState,\n next: ProjectionState,\n delay = 200,\n cb = noop,\n) => {\n const is = interpolateObject({ scale: current.scale, ...current.offset }, { scale: next.scale, ...next.offset });\n transition()\n .ease(easeSinOut)\n .duration(delay)\n .tween('zoom', () => (t) => {\n const { scale, x, y } = is(t);\n setTransform({ scale, offset: { x, y } });\n })\n .on('end', cb);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type CSSProperties, type Dispatch, type SetStateAction, createContext, useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { type Projection, type ProjectionState } from './projection';\n\nexport type CanvasContext = ProjectionState & {\n root: HTMLDivElement;\n ready: boolean;\n width: number;\n height: number;\n styles: CSSProperties;\n projection: Projection;\n setProjection: Dispatch<SetStateAction<ProjectionState>>;\n};\n\n/**\n * @internal\n */\n// TODO(burdon): Use radix?\nexport const CanvasContext = createContext<CanvasContext | null>(null);\n\nexport const useCanvasContext = (): CanvasContext => {\n return useContext(CanvasContext) ?? raise(new Error('Missing CanvasContext'));\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { bind } from 'bind-event-listener';\nimport { useEffect, useRef } from 'react';\n\nimport { useCanvasContext } from './useCanvasContext';\n\nexport type DragOptions = {\n // TODO(burdon): Add constraints?\n};\n\n/**\n * Handle drag events to update the transform state (offset).\n */\nexport const useDrag = (_options: DragOptions = {}) => {\n const { root, setProjection } = useCanvasContext();\n\n // Track drag state.\n const state = useRef<{\n panning: boolean;\n x: number;\n y: number;\n }>({ panning: false, x: 0, y: 0 });\n\n useEffect(() => {\n if (!root) {\n return;\n }\n\n // TODO(burdon): Use d3-drag?\n return bind(root, {\n type: 'pointerdown',\n listener: (ev: PointerEvent) => {\n // Only left click.\n if (ev.button !== 0) {\n return;\n }\n\n if (ev.defaultPrevented) {\n return;\n }\n\n if (ev.target !== root || ev.shiftKey) {\n return;\n }\n\n // Check if clicking on an interactive element?\n // For now, assume if it bubbled to root, it's fair game unless prevented.\n\n ev.preventDefault(); // Prevent text selection.\n root.setPointerCapture(ev.pointerId);\n state.current = { panning: true, x: ev.clientX, y: ev.clientY };\n\n const moveUnbind = bind(root, {\n type: 'pointermove',\n listener: (ev: PointerEvent) => {\n if (!state.current.panning) {\n return;\n }\n\n // Calculate delta.\n const dx = ev.clientX - state.current.x;\n const dy = ev.clientY - state.current.y;\n\n state.current.x = ev.clientX;\n state.current.y = ev.clientY;\n\n setProjection((prev) => ({\n ...prev,\n offset: {\n x: prev.offset.x + dx,\n y: prev.offset.y + dy,\n },\n }));\n },\n });\n\n const upUnbind = bind(root, {\n type: 'pointerup',\n listener: (ev: PointerEvent) => {\n state.current.panning = false;\n root.releasePointerCapture(ev.pointerId);\n moveUnbind();\n upUnbind();\n // Clean up lostpointercapture as well?\n },\n });\n\n // Handle cancellation/lost capture just in case?\n // Using setPointerCapture usually handles this well on the element.\n },\n });\n }, [root]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { bindAll } from 'bind-event-listener';\nimport { useEffect } from 'react';\n\nimport { getRelativePoint } from '../util';\nimport { getZoomTransform } from './projection';\nimport { useCanvasContext } from './useCanvasContext';\n\nexport type WheelOptions = {\n zoom?: boolean;\n};\n\nconst defaultOptions: WheelOptions = {\n zoom: true,\n};\n\n/**\n * Handle wheel events to update the transform state (zoom and offset).\n */\nexport const useWheel = (options: WheelOptions = defaultOptions) => {\n const { root, setProjection } = useCanvasContext();\n useEffect(() => {\n if (!root) {\n return;\n }\n\n return bindAll(root, [\n {\n type: 'wheel',\n options: { capture: true, passive: false },\n listener: (ev: WheelEvent) => {\n const zooming = isWheelZooming(ev);\n\n ev.preventDefault();\n if (zooming && !options.zoom) {\n return;\n }\n\n // Zoom or pan.\n if (ev.ctrlKey) {\n if (!root) {\n return;\n }\n\n // Keep centered while zooming.\n setProjection(({ scale, offset }) => {\n const pos = getRelativePoint(root, ev);\n const scaleSensitivity = 0.01;\n const newScale = scale * Math.exp(-ev.deltaY * scaleSensitivity);\n return getZoomTransform({ scale, offset, newScale, pos });\n });\n } else {\n setProjection(({ scale, offset: { x, y } }) => {\n return {\n scale,\n offset: {\n x: x - ev.deltaX,\n y: y - ev.deltaY,\n },\n };\n });\n }\n },\n },\n ]);\n }, [root]);\n};\n\nconst isWheelZooming = (ev: WheelEvent): boolean => {\n // Check for ctrl/cmd key + wheel action.\n if (ev.ctrlKey || ev.metaKey) {\n // Some browsers use deltaY, others deltaZ for zoom.\n return Math.abs(ev.deltaY) > 0 || Math.abs(ev.deltaZ) > 0;\n }\n\n return false;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type PropsWithChildren, type SVGProps } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nimport { type Dimension, type Point } from '../types';\n\n// Refs\n// - https://airbnb.io/visx/gallery\n// - https://github.com/tldraw/tldraw/blob/main/packages/editor/src/lib/primitives/Vec.ts\n\nexport const createPath = (points: Point[], join = false) => {\n return ['M', points.map(({ x, y }) => `${x},${y}`).join(' L '), join ? 'Z' : ''].join(' ');\n};\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\n * NOTE: Leave space around shape for line width.\n */\nexport const Markers = ({ id = 'dx-marker', classNames }: ThemedClassName<{ id?: string }>) => {\n return (\n <>\n <Arrow id={`${id}-arrow-start`} dir='start' classNames={classNames} />\n <Arrow id={`${id}-arrow-end`} dir='end' classNames={classNames} />\n <Arrow id={`${id}-triangle-start`} dir='start' closed classNames={classNames} />\n <Arrow id={`${id}-triangle-end`} dir='end' closed classNames={classNames} />\n <Marker id={`${id}-circle`} pos={{ x: 8, y: 8 }} size={{ width: 16, height: 16 }}>\n <circle cx={8} cy={8} r={5} stroke={'context-stroke'} className={mx(classNames)} />\n </Marker>\n </>\n );\n};\n\nexport type MarkerProps = SVGProps<SVGMarkerElement> &\n PropsWithChildren<\n ThemedClassName<{\n id: string;\n pos: Point;\n size: Dimension;\n fill?: boolean;\n }>\n >;\n\n/**\n * https://www.w3.org/TR/SVG2/painting.html#Markers\n */\nexport const Marker = ({\n id,\n className,\n children,\n pos: { x: refX, y: refY },\n size: { width: markerWidth, height: markerHeight },\n fill,\n ...rest\n}: MarkerProps) => (\n <marker\n id={id}\n className={className}\n {...{\n refX,\n refY,\n markerWidth,\n markerHeight,\n markerUnits: 'strokeWidth',\n orient: 'auto',\n ...rest,\n }}\n >\n {children}\n </marker>\n);\n\nexport const Arrow = ({\n classNames,\n id,\n size = 16,\n dir = 'end',\n closed = false,\n}: ThemedClassName<{ id: string; size?: number; dir?: 'start' | 'end'; closed?: boolean }>) => (\n <Marker\n id={id}\n size={{ width: size, height: size }}\n pos={dir === 'end' ? { x: size, y: size / 2 } : { x: 0, y: size / 2 }}\n >\n <path\n fill={closed ? undefined : 'none'}\n stroke={'context-stroke'}\n className={mx(classNames)}\n d={createPath(\n dir === 'end'\n ? [\n { x: 1, y: 1 },\n { x: size, y: size / 2 },\n { x: 1, y: size - 1 },\n ]\n : [\n { x: size - 1, y: 1 },\n { x: 0, y: size / 2 },\n { x: size - 1, y: size - 1 },\n ],\n closed,\n )}\n />\n </Marker>\n);\n\nexport const GridPattern = ({\n classNames,\n id,\n size,\n offset,\n}: ThemedClassName<{ id: string; size: number; offset: Point }>) => (\n <pattern\n id={id}\n x={(size / 2 + offset.x) % size}\n y={(size / 2 + offset.y) % size}\n width={size}\n height={size}\n patternUnits='userSpaceOnUse'\n >\n {/* TODO(burdon): vars. */}\n <g className={mx(classNames)}>\n <line x1={0} y1={size / 2} x2={size} y2={size / 2} />\n <line x1={size / 2} y1={0} x2={size / 2} y2={size} />\n </g>\n </pattern>\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nlet logged = false;\n\n/**\n * Get the relative point of the cursor.\n * NOTE: ev.offset returns the position relative to the target.\n */\nexport const getRelativePoint = (el: HTMLElement, ev: MouseEvent) => {\n const rect = el.getBoundingClientRect();\n return { x: ev.clientX - rect.x, y: ev.clientY - rect.top };\n};\n\n/**\n *\n */\n// TODO(burdon): Factor out.\nexport const testId = <ID = string>(id: ID, inspect = false) => {\n if (inspect) {\n if (!logged) {\n // eslint-disable-next-line no-console\n console.log('Open storybook in expanded window;\\nthen run INSPECT()');\n logged = true;\n }\n\n (window as any).INSPECT = () => {\n const el = document.querySelector(`[data-test-id=\"${id}\"]`);\n (window as any).inspect(el);\n // eslint-disable-next-line no-console\n console.log(el);\n };\n }\n\n return { [DATA_TEST_ID]: id };\n};\n\nexport const inspectElement = (el: Element) => {\n (window as any).INSPECT = () => {\n (window as any).inspect(el);\n (window as any).element = el;\n // eslint-disable-next-line no-console\n console.log('Open storybook in expanded window;\\nthen run INSPECT()');\n // eslint-disable-next-line no-console\n console.log(el);\n };\n};\n\nexport const DATA_TEST_ID = 'data-test-id';\n", "//\n// Copyright 2024 DXOS.org\n// Adapted from: https://github.com/smplrspace/react-fps-stats\n//\n\nimport React, { useEffect, useReducer, useRef } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nexport type FPSProps = ThemedClassName<{\n width?: number;\n height?: number;\n bar?: string;\n}>;\n\ntype State = {\n max: number;\n len: number;\n fps: number[];\n frames: number;\n prevTime: number;\n};\n\nconst SEC = 1_000;\n\nexport const FPS = ({ classNames, width = 60, height = 30, bar = 'bg-cyan-500' }: FPSProps) => {\n const [{ fps, max, len }, dispatch] = useReducer(\n (state: State) => {\n const currentTime = Date.now();\n if (currentTime > state.prevTime + SEC) {\n const nextFPS = [\n ...new Array(Math.floor((currentTime - state.prevTime - SEC) / SEC)).fill(0),\n Math.max(1, Math.round((state.frames * SEC) / (currentTime - state.prevTime))),\n ];\n return {\n max: Math.max(state.max, ...nextFPS),\n len: Math.min(state.len + nextFPS.length, width),\n fps: [...state.fps, ...nextFPS].slice(-width),\n frames: 1,\n prevTime: currentTime,\n };\n } else {\n return { ...state, frames: state.frames + 1 };\n }\n },\n {\n max: 0,\n len: 0,\n fps: [],\n frames: 0,\n prevTime: Date.now(),\n },\n );\n\n const requestRef = useRef<number | null>(null);\n const tick = () => {\n dispatch();\n requestRef.current = requestAnimationFrame(tick);\n };\n\n useEffect(() => {\n requestRef.current = requestAnimationFrame(tick);\n return () => {\n if (requestRef.current) {\n cancelAnimationFrame(requestRef.current);\n }\n };\n }, []);\n\n return (\n <div\n style={{ width: width + 6 }}\n className={mx(\n 'relative flex flex-col p-0.5',\n 'bg-base-surface text-xs text-subdued font-thin pointer-events-none border border-separator',\n classNames,\n )}\n >\n <div>{fps[len - 1]} FPS</div>\n <div className='w-full relative' style={{ height }}>\n {fps.map((frame, i) => (\n <div\n key={`fps-${i}`}\n className={bar}\n style={{\n position: 'absolute',\n bottom: 0,\n right: `${len - 1 - i}px`,\n height: `${(height * frame) / max}px`,\n width: 1,\n }}\n />\n ))}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useId, useMemo } from 'react';\n\nimport { type ThemedClassName, useForwardedRef } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nimport { useCanvasContext } from '../../hooks';\nimport { type Point } from '../../types';\nimport { GridPattern, testId } from '../../util';\n\nconst gridRatios = [1 / 4, 1, 4, 16];\n\nconst defaultGridSize = 16;\nconst defaultOffset: Point = { x: 0, y: 0 };\n\nconst createId = (parent: string, grid: number) => `dx-canvas-grid-${parent}-${grid}`;\n\n// TODO(burdon): Click to drag.\n\nexport type GridProps = ThemedClassName<{\n size?: number;\n scale?: number;\n offset?: Point;\n showAxes?: boolean;\n}>;\n\n// TODO(burdon): Use id of parent canvas.\nexport const Grid = (props: GridProps) => {\n const { scale, offset } = useCanvasContext();\n return <GridComponent {...props} scale={scale} offset={offset} />;\n};\n\nexport const GridComponent = forwardRef<SVGSVGElement, GridProps>(\n (\n { size: gridSize = defaultGridSize, scale = 1, offset = defaultOffset, showAxes = true, classNames },\n forwardedRef,\n ) => {\n const svgRef = useForwardedRef(forwardedRef);\n const { width = 0, height = 0 } = svgRef.current?.getBoundingClientRect() ?? {};\n\n const instanceId = useId();\n const grids = useMemo(\n () =>\n gridRatios\n .map((ratio) => ({ id: ratio, size: ratio * gridSize * scale }))\n .filter(({ size }) => size >= gridSize && size <= 128),\n [gridSize, scale],\n );\n\n return (\n <svg\n {...testId('dx-canvas-grid')}\n ref={svgRef}\n className={mx('dx-fullscreen pointer-events-none touch-none select-none', 'stroke-neutral-500', classNames)}\n >\n {/* NOTE: The pattern is offset so that the middle of the pattern aligns with the grid. */}\n <defs>\n {grids.map(({ id, size }) => (\n <GridPattern key={id} id={createId(instanceId, id)} offset={offset} size={size} />\n ))}\n </defs>\n {showAxes && (\n <>\n <line x1={0} y1={offset.y} x2={width} y2={offset.y} className='stroke-neutral-500 opacity-40' />\n <line x1={offset.x} y1={0} x2={offset.x} y2={height} className='stroke-neutral-500 opacity-40' />\n </>\n )}\n <g>\n {grids.map(({ id }, i) => (\n <rect\n key={id}\n opacity={0.1 + i * 0.05}\n fill={`url(#${createId(instanceId, id)})`}\n width='100%'\n height='100%'\n />\n ))}\n </g>\n </svg>\n );\n },\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nexport const Point = Schema.Struct({ x: Schema.Number, y: Schema.Number });\nexport const Dimension = Schema.Struct({ width: Schema.Number, height: Schema.Number });\nexport const Rect = Schema.extend(Point, Dimension);\n\nexport type Point = Schema.Schema.Type<typeof Point>;\nexport type Dimension = Schema.Schema.Type<typeof Dimension>;\nexport type Rect = Schema.Schema.Type<typeof Rect>;\n"],
5
- "mappings": "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",
6
- "names": ["React", "forwardRef", "useEffect", "useImperativeHandle", "useMemo", "useState", "useResizeDetector", "mx", "easeSinOut", "interpolate", "interpolateObject", "transition", "applyToPoints", "compose", "identity", "inverse", "scale", "scaleMatrix", "translate", "translateMatrix", "defaultOrigin", "x", "y", "ProjectionMapper", "_bounds", "width", "height", "_scale", "_offset", "_toScreen", "identity", "_toModel", "bounds", "scale", "offset", "update", "compose", "translateMatrix", "scaleMatrix", "inverse", "toScreen", "points", "applyToPoints", "toModel", "getZoomTransform", "pos", "newScale", "zoomInPlace", "setTransform", "current", "next", "delay", "is", "interpolate", "transition", "ease", "easeSinOut", "duration", "tween", "t", "noop", "zoomTo", "cb", "interpolateObject", "on", "createContext", "useContext", "raise", "CanvasContext", "createContext", "useCanvasContext", "useContext", "raise", "Error", "bind", "useEffect", "useRef", "useDrag", "_options", "root", "setProjection", "useCanvasContext", "state", "useRef", "panning", "x", "y", "useEffect", "bind", "type", "listener", "ev", "button", "defaultPrevented", "target", "shiftKey", "preventDefault", "setPointerCapture", "pointerId", "current", "clientX", "clientY", "moveUnbind", "dx", "dy", "prev", "offset", "upUnbind", "releasePointerCapture", "bindAll", "useEffect", "React", "mx", "createPath", "points", "join", "map", "x", "y", "Markers", "id", "classNames", "Arrow", "dir", "closed", "Marker", "pos", "size", "width", "height", "circle", "cx", "cy", "r", "stroke", "className", "mx", "children", "refX", "refY", "markerWidth", "markerHeight", "fill", "rest", "marker", "markerUnits", "orient", "path", "undefined", "d", "GridPattern", "offset", "pattern", "patternUnits", "g", "line", "x1", "y1", "x2", "y2", "logged", "getRelativePoint", "el", "ev", "rect", "getBoundingClientRect", "x", "clientX", "y", "clientY", "top", "testId", "id", "inspect", "console", "log", "window", "INSPECT", "document", "querySelector", "DATA_TEST_ID", "inspectElement", "element", "defaultOptions", "zoom", "useWheel", "options", "root", "setProjection", "useCanvasContext", "useEffect", "bindAll", "type", "capture", "passive", "listener", "ev", "zooming", "isWheelZooming", "preventDefault", "ctrlKey", "scale", "offset", "pos", "getRelativePoint", "scaleSensitivity", "newScale", "Math", "exp", "deltaY", "getZoomTransform", "x", "y", "deltaX", "metaKey", "abs", "deltaZ", "Canvas", "forwardRef", "children", "classNames", "scale", "scaleProp", "offset", "offsetProp", "defaultOrigin", "props", "forwardedRef", "ref", "width", "height", "useResizeDetector", "ready", "setReady", "useState", "setProjection", "useEffect", "x", "y", "projection", "useMemo", "ProjectionMapper", "update", "styles", "transform", "visibility", "useImperativeHandle", "React", "CanvasContext", "Provider", "value", "root", "current", "div", "role", "className", "mx", "React", "useEffect", "useReducer", "useRef", "mx", "SEC", "FPS", "classNames", "width", "height", "bar", "fps", "max", "len", "dispatch", "useReducer", "state", "currentTime", "Date", "now", "prevTime", "nextFPS", "Array", "Math", "floor", "fill", "round", "frames", "min", "length", "slice", "requestRef", "useRef", "tick", "current", "requestAnimationFrame", "useEffect", "cancelAnimationFrame", "React", "div", "style", "className", "mx", "map", "frame", "i", "key", "position", "bottom", "right", "React", "forwardRef", "useId", "useMemo", "useForwardedRef", "mx", "gridRatios", "defaultGridSize", "defaultOffset", "x", "y", "createId", "parent", "grid", "Grid", "props", "scale", "offset", "useCanvasContext", "React", "GridComponent", "forwardRef", "size", "gridSize", "showAxes", "classNames", "forwardedRef", "svgRef", "useForwardedRef", "width", "height", "current", "getBoundingClientRect", "instanceId", "useId", "grids", "useMemo", "map", "ratio", "id", "filter", "svg", "testId", "ref", "className", "mx", "defs", "GridPattern", "key", "line", "x1", "y1", "x2", "y2", "g", "i", "rect", "opacity", "fill", "Schema", "Point", "Struct", "x", "Number", "y", "Dimension", "width", "height", "Rect", "extend"]
5
+ "mappings": "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",
6
+ "names": ["React", "forwardRef", "useEffect", "useImperativeHandle", "useMemo", "useState", "useResizeDetector", "mx", "easeSinOut", "interpolate", "interpolateObject", "transition", "applyToPoints", "compose", "identity", "inverse", "scale", "scaleMatrix", "translate", "translateMatrix", "defaultOrigin", "x", "y", "ProjectionMapper", "_bounds", "width", "height", "_scale", "_offset", "_toScreen", "_toModel", "bounds", "offset", "update", "toScreen", "points", "toModel", "getZoomTransform", "pos", "newScale", "zoomInPlace", "setTransform", "current", "next", "delay", "is", "ease", "duration", "tween", "t", "noop", "zoomTo", "cb", "on", "createContext", "useContext", "raise", "CanvasContext", "useCanvasContext", "Error", "bind", "useEffect", "useRef", "useDrag", "_options", "root", "setProjection", "useCanvasContext", "state", "useRef", "panning", "x", "y", "useEffect", "bind", "type", "listener", "ev", "button", "defaultPrevented", "target", "shiftKey", "preventDefault", "setPointerCapture", "pointerId", "current", "clientX", "clientY", "moveUnbind", "dx", "dy", "prev", "offset", "upUnbind", "releasePointerCapture", "bindAll", "useEffect", "React", "mx", "createPath", "points", "join", "map", "x", "y", "Markers", "id", "classNames", "Arrow", "dir", "closed", "Marker", "pos", "size", "width", "height", "circle", "cx", "cy", "r", "stroke", "className", "children", "refX", "refY", "markerWidth", "markerHeight", "fill", "rest", "marker", "markerUnits", "orient", "path", "undefined", "d", "GridPattern", "offset", "pattern", "patternUnits", "g", "line", "x1", "y1", "x2", "y2", "logged", "getRelativePoint", "el", "ev", "rect", "getBoundingClientRect", "x", "clientX", "y", "clientY", "top", "testId", "id", "inspect", "console", "log", "window", "INSPECT", "document", "querySelector", "DATA_TEST_ID", "inspectElement", "element", "defaultOptions", "zoom", "useWheel", "options", "root", "setProjection", "useCanvasContext", "useEffect", "bindAll", "type", "capture", "passive", "listener", "ev", "zooming", "isWheelZooming", "preventDefault", "ctrlKey", "scale", "offset", "pos", "getRelativePoint", "scaleSensitivity", "newScale", "Math", "exp", "deltaY", "getZoomTransform", "x", "y", "deltaX", "metaKey", "abs", "deltaZ", "Canvas", "forwardRef", "children", "classNames", "scale", "scaleProp", "offset", "offsetProp", "defaultOrigin", "props", "forwardedRef", "ref", "width", "height", "useResizeDetector", "ready", "setReady", "useState", "setProjection", "useEffect", "x", "y", "projection", "useMemo", "ProjectionMapper", "update", "styles", "transform", "visibility", "useImperativeHandle", "React", "CanvasContext", "Provider", "value", "root", "current", "div", "role", "className", "mx", "React", "useEffect", "useReducer", "useRef", "mx", "SEC", "FPS", "classNames", "width", "height", "bar", "fps", "max", "len", "dispatch", "state", "currentTime", "Date", "now", "prevTime", "nextFPS", "Array", "Math", "floor", "fill", "round", "frames", "min", "length", "slice", "requestRef", "tick", "current", "requestAnimationFrame", "cancelAnimationFrame", "div", "style", "className", "map", "frame", "i", "key", "position", "bottom", "right", "React", "forwardRef", "useId", "useMemo", "useForwardedRef", "mx", "gridRatios", "defaultGridSize", "defaultOffset", "x", "y", "createId", "parent", "grid", "Grid", "props", "scale", "offset", "useCanvasContext", "React", "GridComponent", "forwardRef", "size", "gridSize", "showAxes", "classNames", "forwardedRef", "svgRef", "useForwardedRef", "width", "height", "current", "getBoundingClientRect", "instanceId", "useId", "grids", "useMemo", "map", "ratio", "id", "filter", "svg", "testId", "ref", "className", "mx", "defs", "GridPattern", "key", "line", "x1", "y1", "x2", "y2", "g", "i", "rect", "opacity", "fill", "Schema", "Point", "Struct", "x", "Number", "y", "Dimension", "width", "height", "Rect", "extend"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/hooks/projection.tsx":{"bytes":11707,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useCanvasContext.tsx":{"bytes":2093,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useDrag.tsx":{"bytes":9040,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/util/svg.tsx":{"bytes":12306,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/util/util.ts":{"bytes":4725,"imports":[],"format":"esm"},"src/util/index.ts":{"bytes":526,"imports":[{"path":"src/util/svg.tsx","kind":"import-statement","original":"./svg"},{"path":"src/util/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/hooks/useWheel.tsx":{"bytes":7858,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/hooks/index.ts":{"bytes":749,"imports":[{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"},{"path":"src/hooks/useDrag.tsx","kind":"import-statement","original":"./useDrag"},{"path":"src/hooks/useWheel.tsx","kind":"import-statement","original":"./useWheel"}],"format":"esm"},"src/components/Canvas/Canvas.tsx":{"bytes":9073,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"}],"format":"esm"},"src/components/Canvas/index.ts":{"bytes":470,"imports":[{"path":"src/components/Canvas/Canvas.tsx","kind":"import-statement","original":"./Canvas"}],"format":"esm"},"src/components/FPS.tsx":{"bytes":8908,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Grid/Grid.tsx":{"bytes":9243,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/Grid/index.ts":{"bytes":462,"imports":[{"path":"src/components/Grid/Grid.tsx","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/components/index.ts":{"bytes":618,"imports":[{"path":"src/components/Canvas/index.ts","kind":"import-statement","original":"./Canvas"},{"path":"src/components/FPS.tsx","kind":"import-statement","original":"./FPS"},{"path":"src/components/Grid/index.ts","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/types.ts":{"bytes":1697,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":702,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38544},"dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true}],"exports":["Arrow","Canvas","CanvasContext","DATA_TEST_ID","Dimension","FPS","Grid","GridComponent","GridPattern","Marker","Markers","Point","ProjectionMapper","Rect","createPath","defaultOrigin","getRelativePoint","getZoomTransform","inspectElement","testId","useCanvasContext","useDrag","useWheel","zoomInPlace","zoomTo"],"entryPoint":"src/index.ts","inputs":{"src/components/Canvas/Canvas.tsx":{"bytesInOutput":2000},"src/hooks/projection.tsx":{"bytesInOutput":2203},"src/hooks/index.ts":{"bytesInOutput":0},"src/hooks/useCanvasContext.tsx":{"bytesInOutput":260},"src/hooks/useDrag.tsx":{"bytesInOutput":1670},"src/hooks/useWheel.tsx":{"bytesInOutput":1585},"src/util/svg.tsx":{"bytesInOutput":2730},"src/util/index.ts":{"bytesInOutput":0},"src/util/util.ts":{"bytesInOutput":800},"src/components/Canvas/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/FPS.tsx":{"bytesInOutput":2082},"src/components/Grid/Grid.tsx":{"bytesInOutput":2164},"src/components/Grid/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0},"src/types.ts":{"bytesInOutput":240}},"bytes":16453}}}
1
+ {"inputs":{"src/hooks/projection.tsx":{"bytes":11613,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useCanvasContext.tsx":{"bytes":1997,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useDrag.tsx":{"bytes":8949,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/util/svg.tsx":{"bytes":12224,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/util/util.ts":{"bytes":4639,"imports":[],"format":"esm"},"src/util/index.ts":{"bytes":443,"imports":[{"path":"src/util/svg.tsx","kind":"import-statement","original":"./svg"},{"path":"src/util/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/hooks/useWheel.tsx":{"bytes":7766,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/hooks/index.ts":{"bytes":665,"imports":[{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"},{"path":"src/hooks/useDrag.tsx","kind":"import-statement","original":"./useDrag"},{"path":"src/hooks/useWheel.tsx","kind":"import-statement","original":"./useWheel"}],"format":"esm"},"src/components/Canvas/Canvas.tsx":{"bytes":8971,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"}],"format":"esm"},"src/components/Canvas/index.ts":{"bytes":370,"imports":[{"path":"src/components/Canvas/Canvas.tsx","kind":"import-statement","original":"./Canvas"}],"format":"esm"},"src/components/FPS.tsx":{"bytes":8820,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Grid/Grid.tsx":{"bytes":9149,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/Grid/index.ts":{"bytes":368,"imports":[{"path":"src/components/Grid/Grid.tsx","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/components/index.ts":{"bytes":525,"imports":[{"path":"src/components/Canvas/index.ts","kind":"import-statement","original":"./Canvas"},{"path":"src/components/FPS.tsx","kind":"import-statement","original":"./FPS"},{"path":"src/components/Grid/index.ts","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/types.ts":{"bytes":1615,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":620,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38327},"dist/lib/browser/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true}],"exports":["Arrow","Canvas","CanvasContext","DATA_TEST_ID","Dimension","FPS","Grid","GridComponent","GridPattern","Marker","Markers","Point","ProjectionMapper","Rect","createPath","defaultOrigin","getRelativePoint","getZoomTransform","inspectElement","testId","useCanvasContext","useDrag","useWheel","zoomInPlace","zoomTo"],"entryPoint":"src/index.ts","inputs":{"src/components/Canvas/Canvas.tsx":{"bytesInOutput":2000},"src/hooks/projection.tsx":{"bytesInOutput":2203},"src/hooks/index.ts":{"bytesInOutput":0},"src/hooks/useCanvasContext.tsx":{"bytesInOutput":260},"src/hooks/useDrag.tsx":{"bytesInOutput":1670},"src/hooks/useWheel.tsx":{"bytesInOutput":1585},"src/util/svg.tsx":{"bytesInOutput":2730},"src/util/index.ts":{"bytesInOutput":0},"src/util/util.ts":{"bytesInOutput":800},"src/components/Canvas/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/FPS.tsx":{"bytesInOutput":2082},"src/components/Grid/Grid.tsx":{"bytesInOutput":2164},"src/components/Grid/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0},"src/types.ts":{"bytesInOutput":240}},"bytes":16453}}}
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/Canvas/Canvas.tsx", "../../../src/hooks/projection.tsx", "../../../src/hooks/useCanvasContext.tsx", "../../../src/hooks/useDrag.tsx", "../../../src/hooks/useWheel.tsx", "../../../src/util/svg.tsx", "../../../src/util/util.ts", "../../../src/components/FPS.tsx", "../../../src/components/Grid/Grid.tsx", "../../../src/types.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, {\n type CSSProperties,\n type HTMLAttributes,\n type PropsWithChildren,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n} from 'react';\nimport { useResizeDetector } from 'react-resize-detector';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nimport { CanvasContext, ProjectionMapper, type ProjectionState, defaultOrigin } from '../../hooks';\n\nexport interface CanvasController {\n setProjection(projection: ProjectionState): Promise<void>;\n}\n\nexport type CanvasProps = ThemedClassName<PropsWithChildren<Partial<ProjectionState> & HTMLAttributes<HTMLDivElement>>>;\n\n/**\n * Root canvas component.\n * Manages CSS projection.\n */\nexport const Canvas = forwardRef<CanvasController, CanvasProps>(\n ({ children, classNames, scale: scaleProp = 1, offset: offsetProp = defaultOrigin, ...props }, forwardedRef) => {\n // Size.\n const { ref, width = 0, height = 0 } = useResizeDetector();\n\n // Ready when initially resized.\n const [ready, setReady] = useState(false);\n\n // Projection.\n const [{ scale, offset }, setProjection] = useState<ProjectionState>({ scale: scaleProp, offset: offsetProp });\n useEffect(() => {\n if (width && height && offset === defaultOrigin) {\n setProjection({ scale, offset: { x: width / 2, y: height / 2 } });\n }\n }, [width, height, scale, offset]);\n\n // Projection mapper.\n const projection = useMemo(() => new ProjectionMapper(), []);\n useEffect(() => {\n projection.update({ width, height }, scale, offset);\n if (offset !== defaultOrigin) {\n setReady(true);\n }\n }, [projection, scale, offset, width, height]);\n\n // CSS transforms.\n const styles = useMemo<CSSProperties>(() => {\n return {\n // NOTE: Order is important.\n transform: `translate(${offset.x}px, ${offset.y}px) scale(${scale})`,\n visibility: width && height ? 'visible' : 'hidden',\n };\n }, [scale, offset]);\n\n // Controller.\n useImperativeHandle(forwardedRef, () => {\n return {\n setProjection: async (projection: ProjectionState) => {\n setProjection(projection);\n },\n };\n }, [ref]);\n\n return (\n <CanvasContext.Provider\n value={{ root: ref.current, ready, width, height, scale, offset, styles, projection, setProjection }}\n >\n <div role='none' {...props} className={mx('absolute inset-0 overflow-hidden', classNames)} ref={ref}>\n {ready ? children : null}\n </div>\n </CanvasContext.Provider>\n );\n },\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { easeSinOut, interpolate, interpolateObject, transition } from 'd3';\nimport {\n type Matrix,\n applyToPoints,\n compose,\n identity,\n inverse,\n scale as scaleMatrix,\n translate as translateMatrix,\n} from 'transformation-matrix';\n\nimport { type Dimension, type Point } from '../types';\n\nexport const defaultOrigin: Point = { x: 0, y: 0 };\n\n// TODO(burdon): Rotation also?\nexport type ProjectionState = {\n scale: number;\n offset: Point;\n};\n\n/**\n * Maps between screen and model coordinates.\n */\nexport interface Projection {\n get bounds(): Dimension;\n get scale(): number;\n get offset(): Point;\n\n /**\n * Maps the model space to the screen offset (from the top-left of the element).\n */\n toScreen(points: Point[]): Point[];\n\n /**\n * Maps the pointer coordinate (from the top-left of the element) to the model space.\n */\n toModel(points: Point[]): Point[];\n}\n\nexport class ProjectionMapper implements Projection {\n private _bounds: Dimension = { width: 0, height: 0 };\n private _scale: number = 1;\n private _offset: Point = defaultOrigin;\n private _toScreen: Matrix = identity();\n private _toModel: Matrix = identity();\n\n constructor(bounds?: Dimension, scale?: number, offset?: Point) {\n if (bounds && scale && offset) {\n this.update(bounds, scale, offset);\n }\n }\n\n update(bounds: Dimension, scale: number, offset: Point): this {\n this._bounds = bounds;\n this._scale = scale;\n this._offset = offset;\n this._toScreen = compose(\n // NOTE: Order is important.\n translateMatrix(this._offset.x, this._offset.y),\n scaleMatrix(this._scale),\n // TODO(burdon): Flip.\n // flipX(),\n );\n this._toModel = inverse(this._toScreen);\n return this;\n }\n\n get bounds() {\n return this._bounds;\n }\n\n get scale() {\n return this._scale;\n }\n\n get offset() {\n return this._offset;\n }\n\n toScreen(points: Point[]): Point[] {\n return applyToPoints(this._toScreen, points);\n }\n\n toModel(points: Point[]): Point[] {\n return applyToPoints(this._toModel, points);\n }\n}\n\n/**\n * Maintain position while zooming.\n */\nexport const getZoomTransform = ({\n scale,\n offset,\n pos,\n newScale,\n}: ProjectionState & { pos: Point; newScale: number }): ProjectionState => {\n return {\n scale: newScale,\n offset: {\n x: pos.x - (pos.x - offset.x) * (newScale / scale),\n y: pos.y - (pos.y - offset.y) * (newScale / scale),\n },\n };\n};\n\n/**\n * Zoom while keeping the specified position in place.\n */\n// TODO(burdon): Convert to object.\nexport const zoomInPlace = (\n setTransform: (state: ProjectionState) => void,\n pos: Point,\n offset: Point,\n current: number,\n next: number,\n delay = 200,\n) => {\n const is = interpolate(current, next);\n transition()\n .ease(easeSinOut)\n .duration(delay)\n .tween('zoom', () => (t) => {\n const newScale = is(t);\n setTransform(getZoomTransform({ scale: current, newScale, offset, pos }));\n });\n};\n\nconst noop = () => {};\n\n/**\n * Zoom to new scale and position.\n */\n// TODO(burdon): Convert to object.\nexport const zoomTo = (\n setTransform: (state: ProjectionState) => void,\n current: ProjectionState,\n next: ProjectionState,\n delay = 200,\n cb = noop,\n) => {\n const is = interpolateObject({ scale: current.scale, ...current.offset }, { scale: next.scale, ...next.offset });\n transition()\n .ease(easeSinOut)\n .duration(delay)\n .tween('zoom', () => (t) => {\n const { scale, x, y } = is(t);\n setTransform({ scale, offset: { x, y } });\n })\n .on('end', cb);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type CSSProperties, type Dispatch, type SetStateAction, createContext, useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { type Projection, type ProjectionState } from './projection';\n\nexport type CanvasContext = ProjectionState & {\n root: HTMLDivElement;\n ready: boolean;\n width: number;\n height: number;\n styles: CSSProperties;\n projection: Projection;\n setProjection: Dispatch<SetStateAction<ProjectionState>>;\n};\n\n/**\n * @internal\n */\n// TODO(burdon): Use radix?\nexport const CanvasContext = createContext<CanvasContext | null>(null);\n\nexport const useCanvasContext = (): CanvasContext => {\n return useContext(CanvasContext) ?? raise(new Error('Missing CanvasContext'));\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { bind } from 'bind-event-listener';\nimport { useEffect, useRef } from 'react';\n\nimport { useCanvasContext } from './useCanvasContext';\n\nexport type DragOptions = {\n // TODO(burdon): Add constraints?\n};\n\n/**\n * Handle drag events to update the transform state (offset).\n */\nexport const useDrag = (_options: DragOptions = {}) => {\n const { root, setProjection } = useCanvasContext();\n\n // Track drag state.\n const state = useRef<{\n panning: boolean;\n x: number;\n y: number;\n }>({ panning: false, x: 0, y: 0 });\n\n useEffect(() => {\n if (!root) {\n return;\n }\n\n // TODO(burdon): Use d3-drag?\n return bind(root, {\n type: 'pointerdown',\n listener: (ev: PointerEvent) => {\n // Only left click.\n if (ev.button !== 0) {\n return;\n }\n\n if (ev.defaultPrevented) {\n return;\n }\n\n if (ev.target !== root || ev.shiftKey) {\n return;\n }\n\n // Check if clicking on an interactive element?\n // For now, assume if it bubbled to root, it's fair game unless prevented.\n\n ev.preventDefault(); // Prevent text selection.\n root.setPointerCapture(ev.pointerId);\n state.current = { panning: true, x: ev.clientX, y: ev.clientY };\n\n const moveUnbind = bind(root, {\n type: 'pointermove',\n listener: (ev: PointerEvent) => {\n if (!state.current.panning) {\n return;\n }\n\n // Calculate delta.\n const dx = ev.clientX - state.current.x;\n const dy = ev.clientY - state.current.y;\n\n state.current.x = ev.clientX;\n state.current.y = ev.clientY;\n\n setProjection((prev) => ({\n ...prev,\n offset: {\n x: prev.offset.x + dx,\n y: prev.offset.y + dy,\n },\n }));\n },\n });\n\n const upUnbind = bind(root, {\n type: 'pointerup',\n listener: (ev: PointerEvent) => {\n state.current.panning = false;\n root.releasePointerCapture(ev.pointerId);\n moveUnbind();\n upUnbind();\n // Clean up lostpointercapture as well?\n },\n });\n\n // Handle cancellation/lost capture just in case?\n // Using setPointerCapture usually handles this well on the element.\n },\n });\n }, [root]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { bindAll } from 'bind-event-listener';\nimport { useEffect } from 'react';\n\nimport { getRelativePoint } from '../util';\nimport { getZoomTransform } from './projection';\nimport { useCanvasContext } from './useCanvasContext';\n\nexport type WheelOptions = {\n zoom?: boolean;\n};\n\nconst defaultOptions: WheelOptions = {\n zoom: true,\n};\n\n/**\n * Handle wheel events to update the transform state (zoom and offset).\n */\nexport const useWheel = (options: WheelOptions = defaultOptions) => {\n const { root, setProjection } = useCanvasContext();\n useEffect(() => {\n if (!root) {\n return;\n }\n\n return bindAll(root, [\n {\n type: 'wheel',\n options: { capture: true, passive: false },\n listener: (ev: WheelEvent) => {\n const zooming = isWheelZooming(ev);\n\n ev.preventDefault();\n if (zooming && !options.zoom) {\n return;\n }\n\n // Zoom or pan.\n if (ev.ctrlKey) {\n if (!root) {\n return;\n }\n\n // Keep centered while zooming.\n setProjection(({ scale, offset }) => {\n const pos = getRelativePoint(root, ev);\n const scaleSensitivity = 0.01;\n const newScale = scale * Math.exp(-ev.deltaY * scaleSensitivity);\n return getZoomTransform({ scale, offset, newScale, pos });\n });\n } else {\n setProjection(({ scale, offset: { x, y } }) => {\n return {\n scale,\n offset: {\n x: x - ev.deltaX,\n y: y - ev.deltaY,\n },\n };\n });\n }\n },\n },\n ]);\n }, [root]);\n};\n\nconst isWheelZooming = (ev: WheelEvent): boolean => {\n // Check for ctrl/cmd key + wheel action.\n if (ev.ctrlKey || ev.metaKey) {\n // Some browsers use deltaY, others deltaZ for zoom.\n return Math.abs(ev.deltaY) > 0 || Math.abs(ev.deltaZ) > 0;\n }\n\n return false;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type PropsWithChildren, type SVGProps } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nimport { type Dimension, type Point } from '../types';\n\n// Refs\n// - https://airbnb.io/visx/gallery\n// - https://github.com/tldraw/tldraw/blob/main/packages/editor/src/lib/primitives/Vec.ts\n\nexport const createPath = (points: Point[], join = false) => {\n return ['M', points.map(({ x, y }) => `${x},${y}`).join(' L '), join ? 'Z' : ''].join(' ');\n};\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths\n * NOTE: Leave space around shape for line width.\n */\nexport const Markers = ({ id = 'dx-marker', classNames }: ThemedClassName<{ id?: string }>) => {\n return (\n <>\n <Arrow id={`${id}-arrow-start`} dir='start' classNames={classNames} />\n <Arrow id={`${id}-arrow-end`} dir='end' classNames={classNames} />\n <Arrow id={`${id}-triangle-start`} dir='start' closed classNames={classNames} />\n <Arrow id={`${id}-triangle-end`} dir='end' closed classNames={classNames} />\n <Marker id={`${id}-circle`} pos={{ x: 8, y: 8 }} size={{ width: 16, height: 16 }}>\n <circle cx={8} cy={8} r={5} stroke={'context-stroke'} className={mx(classNames)} />\n </Marker>\n </>\n );\n};\n\nexport type MarkerProps = SVGProps<SVGMarkerElement> &\n PropsWithChildren<\n ThemedClassName<{\n id: string;\n pos: Point;\n size: Dimension;\n fill?: boolean;\n }>\n >;\n\n/**\n * https://www.w3.org/TR/SVG2/painting.html#Markers\n */\nexport const Marker = ({\n id,\n className,\n children,\n pos: { x: refX, y: refY },\n size: { width: markerWidth, height: markerHeight },\n fill,\n ...rest\n}: MarkerProps) => (\n <marker\n id={id}\n className={className}\n {...{\n refX,\n refY,\n markerWidth,\n markerHeight,\n markerUnits: 'strokeWidth',\n orient: 'auto',\n ...rest,\n }}\n >\n {children}\n </marker>\n);\n\nexport const Arrow = ({\n classNames,\n id,\n size = 16,\n dir = 'end',\n closed = false,\n}: ThemedClassName<{ id: string; size?: number; dir?: 'start' | 'end'; closed?: boolean }>) => (\n <Marker\n id={id}\n size={{ width: size, height: size }}\n pos={dir === 'end' ? { x: size, y: size / 2 } : { x: 0, y: size / 2 }}\n >\n <path\n fill={closed ? undefined : 'none'}\n stroke={'context-stroke'}\n className={mx(classNames)}\n d={createPath(\n dir === 'end'\n ? [\n { x: 1, y: 1 },\n { x: size, y: size / 2 },\n { x: 1, y: size - 1 },\n ]\n : [\n { x: size - 1, y: 1 },\n { x: 0, y: size / 2 },\n { x: size - 1, y: size - 1 },\n ],\n closed,\n )}\n />\n </Marker>\n);\n\nexport const GridPattern = ({\n classNames,\n id,\n size,\n offset,\n}: ThemedClassName<{ id: string; size: number; offset: Point }>) => (\n <pattern\n id={id}\n x={(size / 2 + offset.x) % size}\n y={(size / 2 + offset.y) % size}\n width={size}\n height={size}\n patternUnits='userSpaceOnUse'\n >\n {/* TODO(burdon): vars. */}\n <g className={mx(classNames)}>\n <line x1={0} y1={size / 2} x2={size} y2={size / 2} />\n <line x1={size / 2} y1={0} x2={size / 2} y2={size} />\n </g>\n </pattern>\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nlet logged = false;\n\n/**\n * Get the relative point of the cursor.\n * NOTE: ev.offset returns the position relative to the target.\n */\nexport const getRelativePoint = (el: HTMLElement, ev: MouseEvent) => {\n const rect = el.getBoundingClientRect();\n return { x: ev.clientX - rect.x, y: ev.clientY - rect.top };\n};\n\n/**\n *\n */\n// TODO(burdon): Factor out.\nexport const testId = <ID = string>(id: ID, inspect = false) => {\n if (inspect) {\n if (!logged) {\n // eslint-disable-next-line no-console\n console.log('Open storybook in expanded window;\\nthen run INSPECT()');\n logged = true;\n }\n\n (window as any).INSPECT = () => {\n const el = document.querySelector(`[data-test-id=\"${id}\"]`);\n (window as any).inspect(el);\n // eslint-disable-next-line no-console\n console.log(el);\n };\n }\n\n return { [DATA_TEST_ID]: id };\n};\n\nexport const inspectElement = (el: Element) => {\n (window as any).INSPECT = () => {\n (window as any).inspect(el);\n (window as any).element = el;\n // eslint-disable-next-line no-console\n console.log('Open storybook in expanded window;\\nthen run INSPECT()');\n // eslint-disable-next-line no-console\n console.log(el);\n };\n};\n\nexport const DATA_TEST_ID = 'data-test-id';\n", "//\n// Copyright 2024 DXOS.org\n// Adapted from: https://github.com/smplrspace/react-fps-stats\n//\n\nimport React, { useEffect, useReducer, useRef } from 'react';\n\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nexport type FPSProps = ThemedClassName<{\n width?: number;\n height?: number;\n bar?: string;\n}>;\n\ntype State = {\n max: number;\n len: number;\n fps: number[];\n frames: number;\n prevTime: number;\n};\n\nconst SEC = 1_000;\n\nexport const FPS = ({ classNames, width = 60, height = 30, bar = 'bg-cyan-500' }: FPSProps) => {\n const [{ fps, max, len }, dispatch] = useReducer(\n (state: State) => {\n const currentTime = Date.now();\n if (currentTime > state.prevTime + SEC) {\n const nextFPS = [\n ...new Array(Math.floor((currentTime - state.prevTime - SEC) / SEC)).fill(0),\n Math.max(1, Math.round((state.frames * SEC) / (currentTime - state.prevTime))),\n ];\n return {\n max: Math.max(state.max, ...nextFPS),\n len: Math.min(state.len + nextFPS.length, width),\n fps: [...state.fps, ...nextFPS].slice(-width),\n frames: 1,\n prevTime: currentTime,\n };\n } else {\n return { ...state, frames: state.frames + 1 };\n }\n },\n {\n max: 0,\n len: 0,\n fps: [],\n frames: 0,\n prevTime: Date.now(),\n },\n );\n\n const requestRef = useRef<number | null>(null);\n const tick = () => {\n dispatch();\n requestRef.current = requestAnimationFrame(tick);\n };\n\n useEffect(() => {\n requestRef.current = requestAnimationFrame(tick);\n return () => {\n if (requestRef.current) {\n cancelAnimationFrame(requestRef.current);\n }\n };\n }, []);\n\n return (\n <div\n style={{ width: width + 6 }}\n className={mx(\n 'relative flex flex-col p-0.5',\n 'bg-base-surface text-xs text-subdued font-thin pointer-events-none border border-separator',\n classNames,\n )}\n >\n <div>{fps[len - 1]} FPS</div>\n <div className='w-full relative' style={{ height }}>\n {fps.map((frame, i) => (\n <div\n key={`fps-${i}`}\n className={bar}\n style={{\n position: 'absolute',\n bottom: 0,\n right: `${len - 1 - i}px`,\n height: `${(height * frame) / max}px`,\n width: 1,\n }}\n />\n ))}\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useId, useMemo } from 'react';\n\nimport { type ThemedClassName, useForwardedRef } from '@dxos/react-ui';\nimport { mx } from '@dxos/ui-theme';\n\nimport { useCanvasContext } from '../../hooks';\nimport { type Point } from '../../types';\nimport { GridPattern, testId } from '../../util';\n\nconst gridRatios = [1 / 4, 1, 4, 16];\n\nconst defaultGridSize = 16;\nconst defaultOffset: Point = { x: 0, y: 0 };\n\nconst createId = (parent: string, grid: number) => `dx-canvas-grid-${parent}-${grid}`;\n\n// TODO(burdon): Click to drag.\n\nexport type GridProps = ThemedClassName<{\n size?: number;\n scale?: number;\n offset?: Point;\n showAxes?: boolean;\n}>;\n\n// TODO(burdon): Use id of parent canvas.\nexport const Grid = (props: GridProps) => {\n const { scale, offset } = useCanvasContext();\n return <GridComponent {...props} scale={scale} offset={offset} />;\n};\n\nexport const GridComponent = forwardRef<SVGSVGElement, GridProps>(\n (\n { size: gridSize = defaultGridSize, scale = 1, offset = defaultOffset, showAxes = true, classNames },\n forwardedRef,\n ) => {\n const svgRef = useForwardedRef(forwardedRef);\n const { width = 0, height = 0 } = svgRef.current?.getBoundingClientRect() ?? {};\n\n const instanceId = useId();\n const grids = useMemo(\n () =>\n gridRatios\n .map((ratio) => ({ id: ratio, size: ratio * gridSize * scale }))\n .filter(({ size }) => size >= gridSize && size <= 128),\n [gridSize, scale],\n );\n\n return (\n <svg\n {...testId('dx-canvas-grid')}\n ref={svgRef}\n className={mx('dx-fullscreen pointer-events-none touch-none select-none', 'stroke-neutral-500', classNames)}\n >\n {/* NOTE: The pattern is offset so that the middle of the pattern aligns with the grid. */}\n <defs>\n {grids.map(({ id, size }) => (\n <GridPattern key={id} id={createId(instanceId, id)} offset={offset} size={size} />\n ))}\n </defs>\n {showAxes && (\n <>\n <line x1={0} y1={offset.y} x2={width} y2={offset.y} className='stroke-neutral-500 opacity-40' />\n <line x1={offset.x} y1={0} x2={offset.x} y2={height} className='stroke-neutral-500 opacity-40' />\n </>\n )}\n <g>\n {grids.map(({ id }, i) => (\n <rect\n key={id}\n opacity={0.1 + i * 0.05}\n fill={`url(#${createId(instanceId, id)})`}\n width='100%'\n height='100%'\n />\n ))}\n </g>\n </svg>\n );\n },\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nexport const Point = Schema.Struct({ x: Schema.Number, y: Schema.Number });\nexport const Dimension = Schema.Struct({ width: Schema.Number, height: Schema.Number });\nexport const Rect = Schema.extend(Point, Dimension);\n\nexport type Point = Schema.Schema.Type<typeof Point>;\nexport type Dimension = Schema.Schema.Type<typeof Dimension>;\nexport type Rect = Schema.Schema.Type<typeof Rect>;\n"],
5
- "mappings": "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",
6
- "names": ["React", "forwardRef", "useEffect", "useImperativeHandle", "useMemo", "useState", "useResizeDetector", "mx", "easeSinOut", "interpolate", "interpolateObject", "transition", "applyToPoints", "compose", "identity", "inverse", "scale", "scaleMatrix", "translate", "translateMatrix", "defaultOrigin", "x", "y", "ProjectionMapper", "_bounds", "width", "height", "_scale", "_offset", "_toScreen", "identity", "_toModel", "bounds", "scale", "offset", "update", "compose", "translateMatrix", "scaleMatrix", "inverse", "toScreen", "points", "applyToPoints", "toModel", "getZoomTransform", "pos", "newScale", "zoomInPlace", "setTransform", "current", "next", "delay", "is", "interpolate", "transition", "ease", "easeSinOut", "duration", "tween", "t", "noop", "zoomTo", "cb", "interpolateObject", "on", "createContext", "useContext", "raise", "CanvasContext", "createContext", "useCanvasContext", "useContext", "raise", "Error", "bind", "useEffect", "useRef", "useDrag", "_options", "root", "setProjection", "useCanvasContext", "state", "useRef", "panning", "x", "y", "useEffect", "bind", "type", "listener", "ev", "button", "defaultPrevented", "target", "shiftKey", "preventDefault", "setPointerCapture", "pointerId", "current", "clientX", "clientY", "moveUnbind", "dx", "dy", "prev", "offset", "upUnbind", "releasePointerCapture", "bindAll", "useEffect", "React", "mx", "createPath", "points", "join", "map", "x", "y", "Markers", "id", "classNames", "Arrow", "dir", "closed", "Marker", "pos", "size", "width", "height", "circle", "cx", "cy", "r", "stroke", "className", "mx", "children", "refX", "refY", "markerWidth", "markerHeight", "fill", "rest", "marker", "markerUnits", "orient", "path", "undefined", "d", "GridPattern", "offset", "pattern", "patternUnits", "g", "line", "x1", "y1", "x2", "y2", "logged", "getRelativePoint", "el", "ev", "rect", "getBoundingClientRect", "x", "clientX", "y", "clientY", "top", "testId", "id", "inspect", "console", "log", "window", "INSPECT", "document", "querySelector", "DATA_TEST_ID", "inspectElement", "element", "defaultOptions", "zoom", "useWheel", "options", "root", "setProjection", "useCanvasContext", "useEffect", "bindAll", "type", "capture", "passive", "listener", "ev", "zooming", "isWheelZooming", "preventDefault", "ctrlKey", "scale", "offset", "pos", "getRelativePoint", "scaleSensitivity", "newScale", "Math", "exp", "deltaY", "getZoomTransform", "x", "y", "deltaX", "metaKey", "abs", "deltaZ", "Canvas", "forwardRef", "children", "classNames", "scale", "scaleProp", "offset", "offsetProp", "defaultOrigin", "props", "forwardedRef", "ref", "width", "height", "useResizeDetector", "ready", "setReady", "useState", "setProjection", "useEffect", "x", "y", "projection", "useMemo", "ProjectionMapper", "update", "styles", "transform", "visibility", "useImperativeHandle", "React", "CanvasContext", "Provider", "value", "root", "current", "div", "role", "className", "mx", "React", "useEffect", "useReducer", "useRef", "mx", "SEC", "FPS", "classNames", "width", "height", "bar", "fps", "max", "len", "dispatch", "useReducer", "state", "currentTime", "Date", "now", "prevTime", "nextFPS", "Array", "Math", "floor", "fill", "round", "frames", "min", "length", "slice", "requestRef", "useRef", "tick", "current", "requestAnimationFrame", "useEffect", "cancelAnimationFrame", "React", "div", "style", "className", "mx", "map", "frame", "i", "key", "position", "bottom", "right", "React", "forwardRef", "useId", "useMemo", "useForwardedRef", "mx", "gridRatios", "defaultGridSize", "defaultOffset", "x", "y", "createId", "parent", "grid", "Grid", "props", "scale", "offset", "useCanvasContext", "React", "GridComponent", "forwardRef", "size", "gridSize", "showAxes", "classNames", "forwardedRef", "svgRef", "useForwardedRef", "width", "height", "current", "getBoundingClientRect", "instanceId", "useId", "grids", "useMemo", "map", "ratio", "id", "filter", "svg", "testId", "ref", "className", "mx", "defs", "GridPattern", "key", "line", "x1", "y1", "x2", "y2", "g", "i", "rect", "opacity", "fill", "Schema", "Point", "Struct", "x", "Number", "y", "Dimension", "width", "height", "Rect", "extend"]
5
+ "mappings": "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",
6
+ "names": ["React", "forwardRef", "useEffect", "useImperativeHandle", "useMemo", "useState", "useResizeDetector", "mx", "easeSinOut", "interpolate", "interpolateObject", "transition", "applyToPoints", "compose", "identity", "inverse", "scale", "scaleMatrix", "translate", "translateMatrix", "defaultOrigin", "x", "y", "ProjectionMapper", "_bounds", "width", "height", "_scale", "_offset", "_toScreen", "_toModel", "bounds", "offset", "update", "toScreen", "points", "toModel", "getZoomTransform", "pos", "newScale", "zoomInPlace", "setTransform", "current", "next", "delay", "is", "ease", "duration", "tween", "t", "noop", "zoomTo", "cb", "on", "createContext", "useContext", "raise", "CanvasContext", "useCanvasContext", "Error", "bind", "useEffect", "useRef", "useDrag", "_options", "root", "setProjection", "useCanvasContext", "state", "useRef", "panning", "x", "y", "useEffect", "bind", "type", "listener", "ev", "button", "defaultPrevented", "target", "shiftKey", "preventDefault", "setPointerCapture", "pointerId", "current", "clientX", "clientY", "moveUnbind", "dx", "dy", "prev", "offset", "upUnbind", "releasePointerCapture", "bindAll", "useEffect", "React", "mx", "createPath", "points", "join", "map", "x", "y", "Markers", "id", "classNames", "Arrow", "dir", "closed", "Marker", "pos", "size", "width", "height", "circle", "cx", "cy", "r", "stroke", "className", "children", "refX", "refY", "markerWidth", "markerHeight", "fill", "rest", "marker", "markerUnits", "orient", "path", "undefined", "d", "GridPattern", "offset", "pattern", "patternUnits", "g", "line", "x1", "y1", "x2", "y2", "logged", "getRelativePoint", "el", "ev", "rect", "getBoundingClientRect", "x", "clientX", "y", "clientY", "top", "testId", "id", "inspect", "console", "log", "window", "INSPECT", "document", "querySelector", "DATA_TEST_ID", "inspectElement", "element", "defaultOptions", "zoom", "useWheel", "options", "root", "setProjection", "useCanvasContext", "useEffect", "bindAll", "type", "capture", "passive", "listener", "ev", "zooming", "isWheelZooming", "preventDefault", "ctrlKey", "scale", "offset", "pos", "getRelativePoint", "scaleSensitivity", "newScale", "Math", "exp", "deltaY", "getZoomTransform", "x", "y", "deltaX", "metaKey", "abs", "deltaZ", "Canvas", "forwardRef", "children", "classNames", "scale", "scaleProp", "offset", "offsetProp", "defaultOrigin", "props", "forwardedRef", "ref", "width", "height", "useResizeDetector", "ready", "setReady", "useState", "setProjection", "useEffect", "x", "y", "projection", "useMemo", "ProjectionMapper", "update", "styles", "transform", "visibility", "useImperativeHandle", "React", "CanvasContext", "Provider", "value", "root", "current", "div", "role", "className", "mx", "React", "useEffect", "useReducer", "useRef", "mx", "SEC", "FPS", "classNames", "width", "height", "bar", "fps", "max", "len", "dispatch", "state", "currentTime", "Date", "now", "prevTime", "nextFPS", "Array", "Math", "floor", "fill", "round", "frames", "min", "length", "slice", "requestRef", "tick", "current", "requestAnimationFrame", "cancelAnimationFrame", "div", "style", "className", "map", "frame", "i", "key", "position", "bottom", "right", "React", "forwardRef", "useId", "useMemo", "useForwardedRef", "mx", "gridRatios", "defaultGridSize", "defaultOffset", "x", "y", "createId", "parent", "grid", "Grid", "props", "scale", "offset", "useCanvasContext", "React", "GridComponent", "forwardRef", "size", "gridSize", "showAxes", "classNames", "forwardedRef", "svgRef", "useForwardedRef", "width", "height", "current", "getBoundingClientRect", "instanceId", "useId", "grids", "useMemo", "map", "ratio", "id", "filter", "svg", "testId", "ref", "className", "mx", "defs", "GridPattern", "key", "line", "x1", "y1", "x2", "y2", "g", "i", "rect", "opacity", "fill", "Schema", "Point", "Struct", "x", "Number", "y", "Dimension", "width", "height", "Rect", "extend"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/hooks/projection.tsx":{"bytes":11707,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useCanvasContext.tsx":{"bytes":2093,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useDrag.tsx":{"bytes":9040,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/util/svg.tsx":{"bytes":12306,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/util/util.ts":{"bytes":4725,"imports":[],"format":"esm"},"src/util/index.ts":{"bytes":526,"imports":[{"path":"src/util/svg.tsx","kind":"import-statement","original":"./svg"},{"path":"src/util/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/hooks/useWheel.tsx":{"bytes":7858,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/hooks/index.ts":{"bytes":749,"imports":[{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"},{"path":"src/hooks/useDrag.tsx","kind":"import-statement","original":"./useDrag"},{"path":"src/hooks/useWheel.tsx","kind":"import-statement","original":"./useWheel"}],"format":"esm"},"src/components/Canvas/Canvas.tsx":{"bytes":9073,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"}],"format":"esm"},"src/components/Canvas/index.ts":{"bytes":470,"imports":[{"path":"src/components/Canvas/Canvas.tsx","kind":"import-statement","original":"./Canvas"}],"format":"esm"},"src/components/FPS.tsx":{"bytes":8908,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Grid/Grid.tsx":{"bytes":9243,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/Grid/index.ts":{"bytes":462,"imports":[{"path":"src/components/Grid/Grid.tsx","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/components/index.ts":{"bytes":618,"imports":[{"path":"src/components/Canvas/index.ts","kind":"import-statement","original":"./Canvas"},{"path":"src/components/FPS.tsx","kind":"import-statement","original":"./FPS"},{"path":"src/components/Grid/index.ts","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/types.ts":{"bytes":1697,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":702,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38546},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true}],"exports":["Arrow","Canvas","CanvasContext","DATA_TEST_ID","Dimension","FPS","Grid","GridComponent","GridPattern","Marker","Markers","Point","ProjectionMapper","Rect","createPath","defaultOrigin","getRelativePoint","getZoomTransform","inspectElement","testId","useCanvasContext","useDrag","useWheel","zoomInPlace","zoomTo"],"entryPoint":"src/index.ts","inputs":{"src/components/Canvas/Canvas.tsx":{"bytesInOutput":2000},"src/hooks/projection.tsx":{"bytesInOutput":2203},"src/hooks/index.ts":{"bytesInOutput":0},"src/hooks/useCanvasContext.tsx":{"bytesInOutput":260},"src/hooks/useDrag.tsx":{"bytesInOutput":1670},"src/hooks/useWheel.tsx":{"bytesInOutput":1585},"src/util/svg.tsx":{"bytesInOutput":2730},"src/util/index.ts":{"bytesInOutput":0},"src/util/util.ts":{"bytesInOutput":800},"src/components/Canvas/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/FPS.tsx":{"bytesInOutput":2082},"src/components/Grid/Grid.tsx":{"bytesInOutput":2164},"src/components/Grid/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0},"src/types.ts":{"bytesInOutput":240}},"bytes":16546}}}
1
+ {"inputs":{"src/hooks/projection.tsx":{"bytes":11613,"imports":[{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useCanvasContext.tsx":{"bytes":1997,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useDrag.tsx":{"bytes":8949,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/util/svg.tsx":{"bytes":12224,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/util/util.ts":{"bytes":4639,"imports":[],"format":"esm"},"src/util/index.ts":{"bytes":443,"imports":[{"path":"src/util/svg.tsx","kind":"import-statement","original":"./svg"},{"path":"src/util/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/hooks/useWheel.tsx":{"bytes":7766,"imports":[{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"}],"format":"esm"},"src/hooks/index.ts":{"bytes":665,"imports":[{"path":"src/hooks/projection.tsx","kind":"import-statement","original":"./projection"},{"path":"src/hooks/useCanvasContext.tsx","kind":"import-statement","original":"./useCanvasContext"},{"path":"src/hooks/useDrag.tsx","kind":"import-statement","original":"./useDrag"},{"path":"src/hooks/useWheel.tsx","kind":"import-statement","original":"./useWheel"}],"format":"esm"},"src/components/Canvas/Canvas.tsx":{"bytes":8971,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"}],"format":"esm"},"src/components/Canvas/index.ts":{"bytes":370,"imports":[{"path":"src/components/Canvas/Canvas.tsx","kind":"import-statement","original":"./Canvas"}],"format":"esm"},"src/components/FPS.tsx":{"bytes":8820,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"format":"esm"},"src/components/Grid/Grid.tsx":{"bytes":9149,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/Grid/index.ts":{"bytes":368,"imports":[{"path":"src/components/Grid/Grid.tsx","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/components/index.ts":{"bytes":525,"imports":[{"path":"src/components/Canvas/index.ts","kind":"import-statement","original":"./Canvas"},{"path":"src/components/FPS.tsx","kind":"import-statement","original":"./FPS"},{"path":"src/components/Grid/index.ts","kind":"import-statement","original":"./Grid"}],"format":"esm"},"src/types.ts":{"bytes":1615,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":620,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/types.ts","kind":"import-statement","original":"./types"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":38329},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"d3","kind":"import-statement","external":true},{"path":"transformation-matrix","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"bind-event-listener","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true}],"exports":["Arrow","Canvas","CanvasContext","DATA_TEST_ID","Dimension","FPS","Grid","GridComponent","GridPattern","Marker","Markers","Point","ProjectionMapper","Rect","createPath","defaultOrigin","getRelativePoint","getZoomTransform","inspectElement","testId","useCanvasContext","useDrag","useWheel","zoomInPlace","zoomTo"],"entryPoint":"src/index.ts","inputs":{"src/components/Canvas/Canvas.tsx":{"bytesInOutput":2000},"src/hooks/projection.tsx":{"bytesInOutput":2203},"src/hooks/index.ts":{"bytesInOutput":0},"src/hooks/useCanvasContext.tsx":{"bytesInOutput":260},"src/hooks/useDrag.tsx":{"bytesInOutput":1670},"src/hooks/useWheel.tsx":{"bytesInOutput":1585},"src/util/svg.tsx":{"bytesInOutput":2730},"src/util/index.ts":{"bytesInOutput":0},"src/util/util.ts":{"bytesInOutput":800},"src/components/Canvas/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/components/FPS.tsx":{"bytesInOutput":2082},"src/components/Grid/Grid.tsx":{"bytesInOutput":2164},"src/components/Grid/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0},"src/types.ts":{"bytesInOutput":240}},"bytes":16546}}}
@@ -9,7 +9,7 @@ export type CanvasProps = ThemedClassName<PropsWithChildren<Partial<ProjectionSt
9
9
  * Root canvas component.
10
10
  * Manages CSS projection.
11
11
  */
12
- export declare const Canvas: React.ForwardRefExoticComponent<Omit<React.PropsWithChildren<Partial<ProjectionState> & React.HTMLAttributes<HTMLDivElement>>, "className"> & {
12
+ export declare const Canvas: React.ForwardRefExoticComponent<Omit<PropsWithChildren<Partial<ProjectionState> & HTMLAttributes<HTMLDivElement>>, "className"> & {
13
13
  classNames?: import("@dxos/ui-types").ClassNameValue;
14
14
  } & React.RefAttributes<CanvasController>>;
15
15
  //# sourceMappingURL=Canvas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Canvas.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Canvas/Canvas.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AA6E/C,QAAA,MAAM,IAAI;;;oBAnEmB,SAAS;;;;;CA2ET,CAAC;AAE9B,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAGxB,CAAC"}
1
+ {"version":3,"file":"Canvas.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Canvas/Canvas.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AA6E/C,QAAA,MAAM,IAAI;;;oBAnEmB,SAAS;;;QAyElC,MAAM;;CAEmB,CAAC;eAEf,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAGxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FPS.d.ts","sourceRoot":"","sources":["../../../../src/components/FPS.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAYH,eAAO,MAAM,GAAG,GAAI,oCAA8D,QAAQ,sBAuEzF,CAAC"}
1
+ {"version":3,"file":"FPS.d.ts","sourceRoot":"","sources":["../../../../src/components/FPS.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAYH,eAAO,MAAM,GAAG,uCAAkE,QAAQ,sBAuEzF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../../../src/components/Grid/Grid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAIvE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAYzC,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAGH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,sBAGpC,CAAC;AAEF,eAAO,MAAM,aAAa;WAZjB,MAAM;YACL,MAAM;aACL,KAAK;eACH,OAAO;;;uCA0DnB,CAAC"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../../../src/components/Grid/Grid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,gBAAgB,CAAC;AAIvE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAYzC,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAGH,eAAO,MAAM,IAAI,UAAW,SAAS,sBAGpC,CAAC;AAEF,eAAO,MAAM,aAAa;WAZjB,MAAM;YACL,MAAM;aACL,KAAK;eACH,OAAO;;;uCA0DnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Grid/Grid.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA2B,MAAM,OAAO,CAAC;AAKhD,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAavD,QAAA,MAAM,IAAI;;;;;;;;;;oBAXmB,SAAS;;;;;CAmBA,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
1
+ {"version":3,"file":"Grid.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Grid/Grid.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA2B,MAAM,OAAO,CAAC;AAKhD,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAavD,QAAA,MAAM,IAAI;;;;;;;;;;oBAXmB,SAAS;;;QAiBlC,MAAM;;CAE4B,CAAC;eAExB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/projection.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,KAAsB,CAAC;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,MAAM,IAAI,SAAS,CAAC;IACxB,IAAI,KAAK,IAAI,MAAM,CAAC;IACpB,IAAI,MAAM,IAAI,KAAK,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;CACnC;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAsB;gBAE1B,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IAM9D,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI;IAe7D,IAAI,MAAM;;;MAET;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM;;;MAET;IAED,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;IAIlC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;CAGlC;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,mCAK9B,eAAe,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAG,eAQvD,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,WAAW,GACtB,cAAc,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EAC9C,KAAK,KAAK,EACV,QAAQ,KAAK,EACb,SAAS,MAAM,EACf,MAAM,MAAM,EACZ,cAAW,SAUZ,CAAC;AAIF;;GAEG;AAEH,eAAO,MAAM,MAAM,GACjB,cAAc,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EAC9C,SAAS,eAAe,EACxB,MAAM,eAAe,EACrB,cAAW,EACX,eAAS,SAWV,CAAC"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/projection.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,KAAsB,CAAC;AAGnD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,MAAM,IAAI,SAAS,CAAC;IACxB,IAAI,KAAK,IAAI,MAAM,CAAC;IACpB,IAAI,MAAM,IAAI,KAAK,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;CACnC;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAsB;IAEtC,YAAY,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAI7D;IAED,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,CAa5D;IAED,IAAI,MAAM;;;MAET;IAED,IAAI,KAAK,WAER;IAED,IAAI,MAAM;;;MAET;IAED,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAEjC;IAED,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAEhC;CACF;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,sCAK1B,eAAe,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAG,eAQvD,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,WAAW,iBACR,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,OACzC,KAAK,UACF,KAAK,WACJ,MAAM,QACT,MAAM,yBAWb,CAAC;AAIF;;GAEG;AAEH,eAAO,MAAM,MAAM,iBACH,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,WACrC,eAAe,QAClB,eAAe,0CAatB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDrag.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDrag.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,WAAW,GAAG,EAEzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,WAAU,WAAgB,SA+EjD,CAAC"}
1
+ {"version":3,"file":"useDrag.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDrag.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,WAAW,GAAG,EAEzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,cAAc,WAAW,SA+E5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWheel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useWheel.tsx"],"names":[],"mappings":"AAWA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAS,YAA6B,SA+C9D,CAAC"}
1
+ {"version":3,"file":"useWheel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useWheel.tsx"],"names":[],"mappings":"AAWA,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,QAAQ,aAAa,YAAY,SA+C7C,CAAC"}
@@ -22,7 +22,7 @@ export declare const Marker: ({ id, className, children, pos: { x: refX, y: refY
22
22
  export declare const Arrow: ({ classNames, id, size, dir, closed, }: ThemedClassName<{
23
23
  id: string;
24
24
  size?: number;
25
- dir?: "start" | "end";
25
+ dir?: 'start' | 'end';
26
26
  closed?: boolean;
27
27
  }>) => React.JSX.Element;
28
28
  export declare const GridPattern: ({ classNames, id, size, offset, }: ThemedClassName<{
@@ -1 +1 @@
1
- {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../../src/util/svg.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAMtD,eAAO,MAAM,UAAU,GAAI,QAAQ,KAAK,EAAE,EAAE,cAAY,WAEvD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,oBAAkC,eAAe,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,sBAYzF,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAClD,iBAAiB,CACf,eAAe,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC,CACH,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,2HAQpB,WAAW,sBAgBb,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,wCAMnB,eAAe,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,sBA0BzF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,mCAKzB,eAAe,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAA;CAAE,CAAC,sBAe9D,CAAC"}
1
+ {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../../../src/util/svg.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAMtD,eAAO,MAAM,UAAU,WAAY,KAAK,EAAE,2BAEzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,uBAAsC,eAAe,CAAC;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,sBAYzF,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAClD,iBAAiB,CACf,eAAe,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC,CACH,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,MAAM,8HAQhB,WAAW,sBAgBb,CAAC;AAEF,eAAO,MAAM,KAAK,2CAMf,eAAe,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,sBA0BzF,CAAC;AAEF,eAAO,MAAM,WAAW,sCAKrB,eAAe,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,CAAA;CAAE,CAAC,sBAe9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"svg.stories.d.ts","sourceRoot":"","sources":["../../../../src/util/svg.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,QAAA,MAAM,IAAI;;;;;;;CAOM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"svg.stories.d.ts","sourceRoot":"","sources":["../../../../src/util/svg.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AA0B1B,QAAA,MAAM,IAAI;;;;;QAKN,MAAM;;CAEM,CAAC;eAEF,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/util/util.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,IAAI,WAAW,EAAE,IAAI,UAAU;;;CAG/D,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,MAAM,GAAI,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,EAAE,iBAAe;;CAiB1D,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,IAAI,OAAO,SASzC,CAAC;AAEF,eAAO,MAAM,YAAY,iBAAiB,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/util/util.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAAQ,WAAW,MAAM,UAAU;IAErD,CAAC;IAAuB,CAAC;CACnC,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,MAAM,GAAI,EAAE,eAAe,EAAE;;CAiBzC,CAAC;AAEF,eAAO,MAAM,cAAc,OAAQ,OAAO,SASzC,CAAC;AAEF,eAAO,MAAM,YAAY,iBAAiB,CAAC"}