@dxos/react-ui-canvas 0.12.0-next-73daef452f1464b62efdbca75fb0067c1066f264 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/chunk-Grid.mjs +99 -0
- package/dist/lib/chunk-Grid.mjs.map +1 -0
- package/dist/lib/index.mjs +30 -82
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/scene.mjs +6835 -0
- package/dist/lib/scene.mjs.map +1 -0
- package/dist/lib/types.mjs +1 -1
- package/dist/lib/types.mjs.map +1 -1
- package/dist/types/src/{components → archive/components}/Canvas/Canvas.d.ts +3 -3
- package/dist/types/src/archive/components/Canvas/Canvas.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/Canvas/Canvas.stories.d.ts +1 -1
- package/dist/types/src/archive/components/Canvas/Canvas.stories.d.ts.map +1 -0
- package/dist/types/src/archive/components/Canvas/index.d.ts +2 -0
- package/dist/types/src/{components/CellGrid/state → archive/components/Canvas}/index.d.ts.map +1 -1
- package/dist/types/src/{components → archive/components}/CellGrid/CellGrid.d.ts +6 -6
- package/dist/types/src/archive/components/CellGrid/CellGrid.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/CellGrid.stories.d.ts +2 -2
- package/dist/types/src/archive/components/CellGrid/CellGrid.stories.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/headers/Ruler.d.ts +1 -1
- package/dist/types/src/archive/components/CellGrid/headers/Ruler.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/headers/TrackHeader.d.ts +1 -1
- package/dist/types/src/archive/components/CellGrid/headers/TrackHeader.d.ts.map +1 -0
- package/dist/types/src/archive/components/CellGrid/headers/index.d.ts +3 -0
- package/dist/types/src/archive/components/CellGrid/headers/index.d.ts.map +1 -0
- package/dist/types/src/archive/components/CellGrid/index.d.ts +6 -0
- package/dist/types/src/archive/components/CellGrid/index.d.ts.map +1 -0
- package/dist/types/src/archive/components/CellGrid/input/index.d.ts +3 -0
- package/dist/types/src/archive/components/CellGrid/input/index.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/input/pointer.d.ts +3 -3
- package/dist/types/src/archive/components/CellGrid/input/pointer.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/input/wheel.d.ts +3 -3
- package/dist/types/src/archive/components/CellGrid/input/wheel.d.ts.map +1 -0
- package/dist/types/src/archive/components/CellGrid/render/index.d.ts +3 -0
- package/dist/types/src/archive/components/CellGrid/render/index.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/render/overlay-layer.d.ts +1 -1
- package/dist/types/src/archive/components/CellGrid/render/overlay-layer.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/render/static-layer.d.ts +1 -1
- package/dist/types/src/archive/components/CellGrid/render/static-layer.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/state/atoms.d.ts +2 -2
- package/dist/types/src/archive/components/CellGrid/state/atoms.d.ts.map +1 -0
- package/dist/types/src/archive/components/CellGrid/state/index.d.ts +4 -0
- package/dist/types/src/archive/components/CellGrid/state/index.d.ts.map +1 -0
- package/dist/types/src/archive/components/CellGrid/state/types.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/CellGrid/state/viewport.d.ts +1 -1
- package/dist/types/src/archive/components/CellGrid/state/viewport.d.ts.map +1 -0
- package/dist/types/src/archive/components/CellGrid/state/viewport.test.d.ts.map +1 -0
- package/dist/types/src/{components → archive/components}/FPS.d.ts +2 -2
- package/dist/types/src/archive/components/FPS.d.ts.map +1 -0
- package/dist/types/src/archive/components/Grid/Grid.d.ts +6 -0
- package/dist/types/src/archive/components/Grid/Grid.d.ts.map +1 -0
- package/dist/types/src/archive/components/Grid/index.d.ts +2 -0
- package/dist/types/src/archive/components/Grid/index.d.ts.map +1 -0
- package/dist/types/src/archive/components/index.d.ts +5 -0
- package/dist/types/src/archive/components/index.d.ts.map +1 -0
- package/dist/types/src/archive/hooks/index.d.ts +5 -0
- package/dist/types/src/archive/hooks/index.d.ts.map +1 -0
- package/dist/types/src/{hooks → archive/hooks}/projection.d.ts +1 -1
- package/dist/types/src/archive/hooks/projection.d.ts.map +1 -0
- package/dist/types/src/{hooks → archive/hooks}/useCanvasContext.d.ts +1 -1
- package/dist/types/src/archive/hooks/useCanvasContext.d.ts.map +1 -0
- package/dist/types/src/archive/hooks/useDrag.d.ts.map +1 -0
- package/dist/types/src/archive/hooks/useWheel.d.ts +8 -0
- package/dist/types/src/archive/hooks/useWheel.d.ts.map +1 -0
- package/dist/types/src/archive/index.d.ts +5 -0
- package/dist/types/src/archive/index.d.ts.map +1 -0
- package/dist/types/src/archive/types.d.ts.map +1 -0
- package/dist/types/src/archive/util/index.d.ts +4 -0
- package/dist/types/src/archive/util/index.d.ts.map +1 -0
- package/dist/types/src/{util → archive/util}/svg-path.d.ts +1 -1
- package/dist/types/src/archive/util/svg-path.d.ts.map +1 -0
- package/dist/types/src/{util → archive/util}/svg.d.ts +6 -6
- package/dist/types/src/archive/util/svg.d.ts.map +1 -0
- package/dist/types/src/archive/util/svg.stories.d.ts.map +1 -0
- package/dist/types/src/archive/util/util.d.ts.map +1 -0
- package/dist/types/src/components/Breadcrumbs/Breadcrumbs.d.ts +10 -0
- package/dist/types/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/types/src/components/Breadcrumbs/index.d.ts +2 -0
- package/dist/types/src/components/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/types/src/components/ControlFrame/ControlFrame.d.ts +33 -0
- package/dist/types/src/components/ControlFrame/ControlFrame.d.ts.map +1 -0
- package/dist/types/src/components/ControlFrame/index.d.ts +2 -0
- package/dist/types/src/components/ControlFrame/index.d.ts.map +1 -0
- package/dist/types/src/components/Grid/Grid.d.ts +12 -4
- package/dist/types/src/components/Grid/Grid.d.ts.map +1 -1
- package/dist/types/src/components/Grid/Grid.stories.d.ts +4 -21
- package/dist/types/src/components/Grid/Grid.stories.d.ts.map +1 -1
- package/dist/types/src/components/Grid/index.d.ts +1 -1
- package/dist/types/src/components/Grid/index.d.ts.map +1 -1
- package/dist/types/src/components/LatticeGrid/LatticeGrid.d.ts +16 -0
- package/dist/types/src/components/LatticeGrid/LatticeGrid.d.ts.map +1 -0
- package/dist/types/src/components/LatticeGrid/index.d.ts +2 -0
- package/dist/types/src/components/LatticeGrid/index.d.ts.map +1 -0
- package/dist/types/src/components/Palette/Palette.d.ts +30 -0
- package/dist/types/src/components/Palette/Palette.d.ts.map +1 -0
- package/dist/types/src/components/Palette/index.d.ts +2 -0
- package/dist/types/src/components/Palette/index.d.ts.map +1 -0
- package/dist/types/src/components/PartEditor/PartEditor.d.ts +12 -0
- package/dist/types/src/components/PartEditor/PartEditor.d.ts.map +1 -0
- package/dist/types/src/components/PartEditor/index.d.ts +2 -0
- package/dist/types/src/components/PartEditor/index.d.ts.map +1 -0
- package/dist/types/src/components/Properties/Properties.d.ts +18 -0
- package/dist/types/src/components/Properties/Properties.d.ts.map +1 -0
- package/dist/types/src/components/Properties/StyleGrid.d.ts +28 -0
- package/dist/types/src/components/Properties/StyleGrid.d.ts.map +1 -0
- package/dist/types/src/components/Properties/index.d.ts +2 -0
- package/dist/types/src/components/Properties/index.d.ts.map +1 -0
- package/dist/types/src/components/SceneLayer/SceneLayer.d.ts +66 -0
- package/dist/types/src/components/SceneLayer/SceneLayer.d.ts.map +1 -0
- package/dist/types/src/components/SceneLayer/index.d.ts +2 -0
- package/dist/types/src/components/SceneLayer/index.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/Constrained.stories.d.ts +5 -0
- package/dist/types/src/components/SceneView/Constrained.stories.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/Dynamic.stories.d.ts +5 -0
- package/dist/types/src/components/SceneView/Dynamic.stories.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/SceneView.d.ts +83 -0
- package/dist/types/src/components/SceneView/SceneView.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/SceneView.stories.d.ts +40 -0
- package/dist/types/src/components/SceneView/SceneView.stories.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/SceneViewContext.d.ts +126 -0
- package/dist/types/src/components/SceneView/SceneViewContext.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/Scored.stories.d.ts +16 -0
- package/dist/types/src/components/SceneView/Scored.stories.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/index.d.ts +3 -0
- package/dist/types/src/components/SceneView/index.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/usePointerMachine.d.ts +89 -0
- package/dist/types/src/components/SceneView/usePointerMachine.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/useSceneCamera.d.ts +30 -0
- package/dist/types/src/components/SceneView/useSceneCamera.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/useSceneClipboard.d.ts +26 -0
- package/dist/types/src/components/SceneView/useSceneClipboard.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/useSceneKeys.d.ts +41 -0
- package/dist/types/src/components/SceneView/useSceneKeys.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/useSceneNavigation.d.ts +44 -0
- package/dist/types/src/components/SceneView/useSceneNavigation.d.ts.map +1 -0
- package/dist/types/src/components/SceneView/useSceneSnap.d.ts +26 -0
- package/dist/types/src/components/SceneView/useSceneSnap.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar/Toolbar.d.ts +58 -0
- package/dist/types/src/components/Toolbar/Toolbar.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts +5 -0
- package/dist/types/src/components/Toolbar/Toolbar.stories.d.ts.map +1 -0
- package/dist/types/src/components/Toolbar/index.d.ts +2 -0
- package/dist/types/src/components/Toolbar/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +10 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +4 -4
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useRegistry.d.ts +3 -0
- package/dist/types/src/hooks/useRegistry.d.ts.map +1 -0
- package/dist/types/src/hooks/useSceneProjection.d.ts +19 -0
- package/dist/types/src/hooks/useSceneProjection.d.ts.map +1 -0
- package/dist/types/src/hooks/useViewport.d.ts +8 -0
- package/dist/types/src/hooks/useViewport.d.ts.map +1 -0
- package/dist/types/src/hooks/useWheel.d.ts +7 -7
- package/dist/types/src/hooks/useWheel.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/model/atoms.d.ts +133 -0
- package/dist/types/src/model/atoms.d.ts.map +1 -0
- package/dist/types/src/model/index.d.ts +11 -0
- package/dist/types/src/model/index.d.ts.map +1 -0
- package/dist/types/src/model/keys.d.ts +35 -0
- package/dist/types/src/model/keys.d.ts.map +1 -0
- package/dist/types/src/model/keys.test.d.ts +2 -0
- package/dist/types/src/model/keys.test.d.ts.map +1 -0
- package/dist/types/src/model/node-def.d.ts +5 -0
- package/dist/types/src/model/node-def.d.ts.map +1 -0
- package/dist/types/src/model/projection.d.ts +44 -0
- package/dist/types/src/model/projection.d.ts.map +1 -0
- package/dist/types/src/model/projection.test.d.ts +2 -0
- package/dist/types/src/model/projection.test.d.ts.map +1 -0
- package/dist/types/src/model/projections/constrained.d.ts +54 -0
- package/dist/types/src/model/projections/constrained.d.ts.map +1 -0
- package/dist/types/src/model/projections/constrained.test.d.ts +2 -0
- package/dist/types/src/model/projections/constrained.test.d.ts.map +1 -0
- package/dist/types/src/model/projections/dynamic.d.ts +42 -0
- package/dist/types/src/model/projections/dynamic.d.ts.map +1 -0
- package/dist/types/src/model/projections/dynamic.test.d.ts +2 -0
- package/dist/types/src/model/projections/dynamic.test.d.ts.map +1 -0
- package/dist/types/src/model/projections/lattice.d.ts +21 -0
- package/dist/types/src/model/projections/lattice.d.ts.map +1 -0
- package/dist/types/src/model/projections/lattice.test.d.ts +2 -0
- package/dist/types/src/model/projections/lattice.test.d.ts.map +1 -0
- package/dist/types/src/model/registry.d.ts +86 -0
- package/dist/types/src/model/registry.d.ts.map +1 -0
- package/dist/types/src/model/registry.test.d.ts +2 -0
- package/dist/types/src/model/registry.test.d.ts.map +1 -0
- package/dist/types/src/model/store.d.ts +15 -0
- package/dist/types/src/model/store.d.ts.map +1 -0
- package/dist/types/src/model/types.d.ts +1520 -0
- package/dist/types/src/model/types.d.ts.map +1 -0
- package/dist/types/src/playwright/SceneManager.d.ts +50 -0
- package/dist/types/src/playwright/SceneManager.d.ts.map +1 -0
- package/dist/types/src/playwright/create.spec.d.ts +2 -0
- package/dist/types/src/playwright/create.spec.d.ts.map +1 -0
- package/dist/types/src/playwright/demo.spec.d.ts +2 -0
- package/dist/types/src/playwright/demo.spec.d.ts.map +1 -0
- package/dist/types/src/playwright/lattice.spec.d.ts +2 -0
- package/dist/types/src/playwright/lattice.spec.d.ts.map +1 -0
- package/dist/types/src/playwright/playwright.config.d.ts +3 -0
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
- package/dist/types/src/playwright/scene.spec.d.ts +2 -0
- package/dist/types/src/playwright/scene.spec.d.ts.map +1 -0
- package/dist/types/src/scene.d.ts +5 -0
- package/dist/types/src/scene.d.ts.map +1 -0
- package/dist/types/src/utils/builder.d.ts +213 -0
- package/dist/types/src/utils/builder.d.ts.map +1 -0
- package/dist/types/src/utils/builder.test.d.ts +2 -0
- package/dist/types/src/utils/builder.test.d.ts.map +1 -0
- package/dist/types/src/utils/camera.d.ts +45 -0
- package/dist/types/src/utils/camera.d.ts.map +1 -0
- package/dist/types/src/utils/camera.test.d.ts +2 -0
- package/dist/types/src/utils/camera.test.d.ts.map +1 -0
- package/dist/types/src/utils/clipboard.d.ts +32 -0
- package/dist/types/src/utils/clipboard.d.ts.map +1 -0
- package/dist/types/src/utils/clipboard.test.d.ts +2 -0
- package/dist/types/src/utils/clipboard.test.d.ts.map +1 -0
- package/dist/types/src/utils/diagram.d.ts +17 -0
- package/dist/types/src/utils/diagram.d.ts.map +1 -0
- package/dist/types/src/utils/diagram.test.d.ts +2 -0
- package/dist/types/src/utils/diagram.test.d.ts.map +1 -0
- package/dist/types/src/utils/dnd.d.ts +6 -0
- package/dist/types/src/utils/dnd.d.ts.map +1 -0
- package/dist/types/src/utils/gutter-route.d.ts +9 -0
- package/dist/types/src/utils/gutter-route.d.ts.map +1 -0
- package/dist/types/src/utils/gutter-route.test.d.ts +2 -0
- package/dist/types/src/utils/gutter-route.test.d.ts.map +1 -0
- package/dist/types/src/utils/hit.d.ts +37 -0
- package/dist/types/src/utils/hit.d.ts.map +1 -0
- package/dist/types/src/utils/hit.test.d.ts +2 -0
- package/dist/types/src/utils/hit.test.d.ts.map +1 -0
- package/dist/types/src/utils/index.d.ts +17 -0
- package/dist/types/src/utils/index.d.ts.map +1 -0
- package/dist/types/src/utils/lattice.d.ts +42 -0
- package/dist/types/src/utils/lattice.d.ts.map +1 -0
- package/dist/types/src/utils/lattice.test.d.ts +2 -0
- package/dist/types/src/utils/lattice.test.d.ts.map +1 -0
- package/dist/types/src/utils/layout.d.ts +30 -0
- package/dist/types/src/utils/layout.d.ts.map +1 -0
- package/dist/types/src/utils/layout.test.d.ts +2 -0
- package/dist/types/src/utils/layout.test.d.ts.map +1 -0
- package/dist/types/src/utils/order.d.ts +16 -0
- package/dist/types/src/utils/order.d.ts.map +1 -0
- package/dist/types/src/utils/order.test.d.ts +2 -0
- package/dist/types/src/utils/order.test.d.ts.map +1 -0
- package/dist/types/src/utils/parts.d.ts +17 -0
- package/dist/types/src/utils/parts.d.ts.map +1 -0
- package/dist/types/src/utils/parts.test.d.ts +2 -0
- package/dist/types/src/utils/parts.test.d.ts.map +1 -0
- package/dist/types/src/utils/ports.d.ts +51 -0
- package/dist/types/src/utils/ports.d.ts.map +1 -0
- package/dist/types/src/utils/ports.test.d.ts +2 -0
- package/dist/types/src/utils/ports.test.d.ts.map +1 -0
- package/dist/types/src/utils/properties.d.ts +29 -0
- package/dist/types/src/utils/properties.d.ts.map +1 -0
- package/dist/types/src/utils/properties.test.d.ts +2 -0
- package/dist/types/src/utils/properties.test.d.ts.map +1 -0
- package/dist/types/src/utils/resize.d.ts +13 -0
- package/dist/types/src/utils/resize.d.ts.map +1 -0
- package/dist/types/src/utils/resize.test.d.ts +2 -0
- package/dist/types/src/utils/resize.test.d.ts.map +1 -0
- package/dist/types/src/utils/route.d.ts +55 -0
- package/dist/types/src/utils/route.d.ts.map +1 -0
- package/dist/types/src/utils/route.test.d.ts +2 -0
- package/dist/types/src/utils/route.test.d.ts.map +1 -0
- package/dist/types/src/utils/shapes.d.ts +41 -0
- package/dist/types/src/utils/shapes.d.ts.map +1 -0
- package/dist/types/src/utils/shapes.test.d.ts +2 -0
- package/dist/types/src/utils/shapes.test.d.ts.map +1 -0
- package/dist/types/src/utils/style.d.ts +30 -0
- package/dist/types/src/utils/style.d.ts.map +1 -0
- package/dist/types/src/utils/testing.d.ts +18 -0
- package/dist/types/src/utils/testing.d.ts.map +1 -0
- package/dist/types/src/utils/testing.test.d.ts +2 -0
- package/dist/types/src/utils/testing.test.d.ts.map +1 -0
- package/dist/types/src/utils/undo.d.ts +20 -0
- package/dist/types/src/utils/undo.d.ts.map +1 -0
- package/dist/types/src/utils/undo.test.d.ts +2 -0
- package/dist/types/src/utils/undo.test.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +32 -13
- package/src/{components → archive/components}/Canvas/Canvas.stories.tsx +6 -6
- package/src/{components → archive/components}/Canvas/Canvas.tsx +6 -4
- package/src/archive/components/Canvas/index.ts +5 -0
- package/src/{components → archive/components}/CellGrid/CellGrid.stories.tsx +7 -7
- package/src/{components → archive/components}/CellGrid/CellGrid.tsx +11 -11
- package/src/{components → archive/components}/CellGrid/headers/Ruler.tsx +2 -2
- package/src/{components → archive/components}/CellGrid/headers/TrackHeader.tsx +1 -1
- package/src/archive/components/CellGrid/headers/index.ts +6 -0
- package/src/archive/components/CellGrid/index.ts +9 -0
- package/src/archive/components/CellGrid/input/index.ts +6 -0
- package/src/{components → archive/components}/CellGrid/input/pointer.ts +4 -4
- package/src/{components → archive/components}/CellGrid/input/wheel.ts +4 -4
- package/src/archive/components/CellGrid/render/index.ts +6 -0
- package/src/{components → archive/components}/CellGrid/render/overlay-layer.ts +2 -2
- package/src/{components → archive/components}/CellGrid/render/static-layer.ts +2 -2
- package/src/{components → archive/components}/CellGrid/state/atoms.ts +2 -2
- package/src/archive/components/CellGrid/state/index.ts +7 -0
- package/src/{components → archive/components}/CellGrid/state/viewport.test.ts +2 -2
- package/src/{components → archive/components}/CellGrid/state/viewport.ts +1 -1
- package/src/{components → archive/components}/FPS.tsx +3 -3
- package/src/archive/components/Grid/Grid.tsx +17 -0
- package/src/{components/Canvas → archive/components/Grid}/index.ts +1 -1
- package/src/archive/components/index.ts +8 -0
- package/src/archive/hooks/index.ts +8 -0
- package/src/{hooks → archive/hooks}/projection.tsx +1 -1
- package/src/{hooks → archive/hooks}/useCanvasContext.ts +2 -2
- package/src/{hooks → archive/hooks}/useDrag.tsx +1 -1
- package/src/{hooks → archive/hooks}/useWheel.tsx +3 -3
- package/src/archive/index.ts +8 -0
- package/src/archive/util/index.ts +7 -0
- package/src/{util → archive/util}/svg-path.ts +1 -1
- package/src/{util → archive/util}/svg.stories.tsx +3 -3
- package/src/{util → archive/util}/svg.tsx +7 -7
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +30 -0
- package/src/components/Breadcrumbs/index.ts +5 -0
- package/src/components/ControlFrame/ControlFrame.tsx +319 -0
- package/src/components/ControlFrame/index.ts +5 -0
- package/src/components/Grid/Grid.stories.tsx +110 -17
- package/src/components/Grid/Grid.tsx +54 -22
- package/src/components/Grid/index.ts +2 -2
- package/src/components/LatticeGrid/LatticeGrid.tsx +58 -0
- package/src/components/LatticeGrid/index.ts +5 -0
- package/src/components/Palette/Palette.tsx +133 -0
- package/src/components/Palette/index.ts +5 -0
- package/src/components/PartEditor/PartEditor.tsx +126 -0
- package/src/components/PartEditor/index.ts +5 -0
- package/src/components/Properties/Properties.tsx +218 -0
- package/src/components/Properties/StyleGrid.tsx +118 -0
- package/src/components/Properties/index.ts +5 -0
- package/src/components/SceneLayer/SceneLayer.tsx +454 -0
- package/src/components/SceneLayer/index.ts +5 -0
- package/src/components/SceneView/Constrained.stories.tsx +97 -0
- package/src/components/SceneView/Dynamic.stories.tsx +136 -0
- package/src/components/SceneView/SceneView.stories.tsx +206 -0
- package/src/components/SceneView/SceneView.tsx +1036 -0
- package/src/components/SceneView/SceneViewContext.ts +111 -0
- package/src/components/SceneView/Scored.stories.tsx +393 -0
- package/src/components/SceneView/index.ts +6 -0
- package/src/components/SceneView/usePointerMachine.ts +869 -0
- package/src/components/SceneView/useSceneCamera.ts +118 -0
- package/src/components/SceneView/useSceneClipboard.ts +101 -0
- package/src/components/SceneView/useSceneKeys.ts +236 -0
- package/src/components/SceneView/useSceneNavigation.ts +288 -0
- package/src/components/SceneView/useSceneSnap.ts +52 -0
- package/src/components/Toolbar/Toolbar.stories.tsx +70 -0
- package/src/components/Toolbar/Toolbar.tsx +270 -0
- package/src/components/Toolbar/index.ts +5 -0
- package/src/components/index.ts +11 -5
- package/src/hooks/index.ts +5 -5
- package/src/hooks/useRegistry.ts +9 -0
- package/src/hooks/useSceneProjection.ts +55 -0
- package/src/hooks/useViewport.ts +31 -0
- package/src/hooks/useWheel.ts +24 -0
- package/src/index.ts +3 -4
- package/src/model/atoms.ts +119 -0
- package/src/model/index.ts +14 -0
- package/src/model/keys.test.ts +57 -0
- package/src/model/keys.ts +128 -0
- package/src/model/node-def.ts +12 -0
- package/src/model/projection.test.ts +134 -0
- package/src/model/projection.ts +199 -0
- package/src/model/projections/constrained.test.ts +138 -0
- package/src/model/projections/constrained.ts +336 -0
- package/src/model/projections/dynamic.test.ts +75 -0
- package/src/model/projections/dynamic.ts +218 -0
- package/src/model/projections/lattice.test.ts +114 -0
- package/src/model/projections/lattice.ts +171 -0
- package/src/model/registry.test.ts +120 -0
- package/src/model/registry.ts +227 -0
- package/src/model/store.ts +60 -0
- package/src/model/types.ts +352 -0
- package/src/playwright/SceneManager.ts +141 -0
- package/src/playwright/create.spec.ts +117 -0
- package/src/playwright/demo.spec.ts +94 -0
- package/src/playwright/lattice.spec.ts +121 -0
- package/src/playwright/playwright.config.ts +13 -0
- package/src/playwright/scene.spec.ts +341 -0
- package/src/scene.ts +9 -0
- package/src/utils/builder.test.ts +94 -0
- package/src/utils/builder.ts +250 -0
- package/src/utils/camera.test.ts +158 -0
- package/src/utils/camera.ts +195 -0
- package/src/utils/clipboard.test.ts +115 -0
- package/src/utils/clipboard.ts +122 -0
- package/src/utils/diagram.test.ts +58 -0
- package/src/utils/diagram.ts +118 -0
- package/src/utils/dnd.ts +19 -0
- package/src/utils/gutter-route.test.ts +141 -0
- package/src/utils/gutter-route.ts +162 -0
- package/src/utils/hit.test.ts +83 -0
- package/src/utils/hit.ts +117 -0
- package/src/utils/index.ts +20 -0
- package/src/utils/lattice.test.ts +105 -0
- package/src/utils/lattice.ts +152 -0
- package/src/utils/layout.test.ts +100 -0
- package/src/utils/layout.ts +109 -0
- package/src/utils/order.test.ts +46 -0
- package/src/utils/order.ts +72 -0
- package/src/utils/parts.test.ts +85 -0
- package/src/utils/parts.ts +67 -0
- package/src/utils/ports.test.ts +190 -0
- package/src/utils/ports.ts +179 -0
- package/src/utils/properties.test.ts +63 -0
- package/src/utils/properties.ts +166 -0
- package/src/utils/resize.test.ts +47 -0
- package/src/utils/resize.ts +77 -0
- package/src/utils/route.test.ts +101 -0
- package/src/utils/route.ts +304 -0
- package/src/utils/shapes.test.ts +38 -0
- package/src/utils/shapes.ts +140 -0
- package/src/utils/style.ts +147 -0
- package/src/utils/testing.test.ts +101 -0
- package/src/utils/testing.ts +228 -0
- package/src/utils/undo.test.ts +74 -0
- package/src/utils/undo.ts +87 -0
- package/dist/types/src/components/Canvas/Canvas.d.ts.map +0 -1
- package/dist/types/src/components/Canvas/Canvas.stories.d.ts.map +0 -1
- package/dist/types/src/components/Canvas/index.d.ts +0 -2
- package/dist/types/src/components/Canvas/index.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/CellGrid.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/CellGrid.stories.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/headers/Ruler.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/headers/TrackHeader.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/headers/index.d.ts +0 -3
- package/dist/types/src/components/CellGrid/headers/index.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/index.d.ts +0 -6
- package/dist/types/src/components/CellGrid/index.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/input/index.d.ts +0 -3
- package/dist/types/src/components/CellGrid/input/index.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/input/pointer.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/input/wheel.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/render/index.d.ts +0 -3
- package/dist/types/src/components/CellGrid/render/index.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/render/overlay-layer.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/render/static-layer.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/state/atoms.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/state/index.d.ts +0 -4
- package/dist/types/src/components/CellGrid/state/types.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/state/viewport.d.ts.map +0 -1
- package/dist/types/src/components/CellGrid/state/viewport.test.d.ts.map +0 -1
- package/dist/types/src/components/FPS.d.ts.map +0 -1
- package/dist/types/src/hooks/projection.d.ts.map +0 -1
- package/dist/types/src/hooks/useCanvasContext.d.ts.map +0 -1
- package/dist/types/src/hooks/useDrag.d.ts.map +0 -1
- package/dist/types/src/types.d.ts.map +0 -1
- package/dist/types/src/util/index.d.ts +0 -4
- package/dist/types/src/util/index.d.ts.map +0 -1
- package/dist/types/src/util/svg-path.d.ts.map +0 -1
- package/dist/types/src/util/svg.d.ts.map +0 -1
- package/dist/types/src/util/svg.stories.d.ts.map +0 -1
- package/dist/types/src/util/util.d.ts.map +0 -1
- package/src/components/CellGrid/headers/index.ts +0 -6
- package/src/components/CellGrid/index.ts +0 -9
- package/src/components/CellGrid/input/index.ts +0 -6
- package/src/components/CellGrid/render/index.ts +0 -6
- package/src/components/CellGrid/state/index.ts +0 -7
- package/src/util/index.ts +0 -7
- /package/dist/types/src/{components → archive/components}/CellGrid/state/types.d.ts +0 -0
- /package/dist/types/src/{components → archive/components}/CellGrid/state/viewport.test.d.ts +0 -0
- /package/dist/types/src/{hooks → archive/hooks}/useDrag.d.ts +0 -0
- /package/dist/types/src/{types.d.ts → archive/types.d.ts} +0 -0
- /package/dist/types/src/{util → archive/util}/svg.stories.d.ts +0 -0
- /package/dist/types/src/{util → archive/util}/util.d.ts +0 -0
- /package/src/{components → archive/components}/CellGrid/state/types.ts +0 -0
- /package/src/{types.ts → archive/types.ts} +0 -0
- /package/src/{util → archive/util}/util.ts +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { forwardRef, useId, useMemo } from "react";
|
|
2
|
+
import { mx } from "@dxos/ui-theme";
|
|
3
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import * as Hooks from "@dxos/react-ui/Hooks";
|
|
5
|
+
//#region src/components/Grid/Grid.tsx
|
|
6
|
+
var gridRatios = [
|
|
7
|
+
1 / 4,
|
|
8
|
+
1,
|
|
9
|
+
4,
|
|
10
|
+
16
|
|
11
|
+
];
|
|
12
|
+
var defaultGridSize = 16;
|
|
13
|
+
var defaultOffset = {
|
|
14
|
+
x: 0,
|
|
15
|
+
y: 0
|
|
16
|
+
};
|
|
17
|
+
var defaultRange = [defaultGridSize, 128];
|
|
18
|
+
var createId = (parent, grid) => `dx-canvas-grid-${parent}-${grid}`;
|
|
19
|
+
/**
|
|
20
|
+
* A level's line opacity from its on-screen spacing alone: faint at the finest drawn spacing, a step
|
|
21
|
+
* darker per fourfold. A level then fades in as the view zooms rather than popping, and a scene swap
|
|
22
|
+
* that keeps every spacing (drilling through a grid-aligned portal) keeps every line as it was. The
|
|
23
|
+
* step is small and the ceiling low: the grid is a guide under the diagram, so the coarse levels in
|
|
24
|
+
* particular must not read as content.
|
|
25
|
+
*/
|
|
26
|
+
var levelOpacity = (size, min) => Math.min(.12, .04 + .02 * Math.log(size / min) / Math.log(4));
|
|
27
|
+
/** Multi-level grid in screen space, fed the camera's scale and offset. */
|
|
28
|
+
var GridComponent = forwardRef(({ size: gridSize = defaultGridSize, scale = 1, offset = defaultOffset, showAxes = true, ratios = gridRatios, range = defaultRange, classNames }, forwardedRef) => {
|
|
29
|
+
const svgRef = Hooks.useForwardedRef(forwardedRef);
|
|
30
|
+
const { width = 0, height = 0 } = svgRef.current?.getBoundingClientRect() ?? {};
|
|
31
|
+
const instanceId = useId();
|
|
32
|
+
const [min, max] = range;
|
|
33
|
+
const grids = useMemo(() => ratios.map((ratio) => ({
|
|
34
|
+
id: ratio,
|
|
35
|
+
size: ratio * gridSize * scale
|
|
36
|
+
})).filter(({ size }) => size >= min && size <= max), [
|
|
37
|
+
ratios,
|
|
38
|
+
gridSize,
|
|
39
|
+
scale,
|
|
40
|
+
min,
|
|
41
|
+
max
|
|
42
|
+
]);
|
|
43
|
+
return /* @__PURE__ */ jsxs("svg", {
|
|
44
|
+
"data-testid": "dx-canvas-grid",
|
|
45
|
+
ref: svgRef,
|
|
46
|
+
className: mx("dx-cover w-full h-full pointer-events-none touch-none select-none", "stroke-neutral-500", classNames),
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ jsx("defs", { children: grids.map(({ id, size }) => /* @__PURE__ */ jsx(GridPattern, {
|
|
49
|
+
id: createId(instanceId, id),
|
|
50
|
+
offset,
|
|
51
|
+
size
|
|
52
|
+
}, id)) }),
|
|
53
|
+
showAxes && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("line", {
|
|
54
|
+
x1: 0,
|
|
55
|
+
y1: offset.y,
|
|
56
|
+
x2: width,
|
|
57
|
+
y2: offset.y,
|
|
58
|
+
className: "stroke-neutral-500 opacity-40"
|
|
59
|
+
}), /* @__PURE__ */ jsx("line", {
|
|
60
|
+
x1: offset.x,
|
|
61
|
+
y1: 0,
|
|
62
|
+
x2: offset.x,
|
|
63
|
+
y2: height,
|
|
64
|
+
className: "stroke-neutral-500 opacity-40"
|
|
65
|
+
})] }),
|
|
66
|
+
/* @__PURE__ */ jsx("g", { children: grids.map(({ id, size }) => /* @__PURE__ */ jsx("rect", {
|
|
67
|
+
opacity: levelOpacity(size, min),
|
|
68
|
+
fill: `url(#${createId(instanceId, id)})`,
|
|
69
|
+
width: "100%",
|
|
70
|
+
height: "100%"
|
|
71
|
+
}, id)) })
|
|
72
|
+
]
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
GridComponent.displayName = "GridComponent";
|
|
76
|
+
/** One grid level as an SVG pattern of crossing lines, offset so a line sits on the origin. */
|
|
77
|
+
var GridPattern = ({ id, size, offset }) => /* @__PURE__ */ jsxs("pattern", {
|
|
78
|
+
id,
|
|
79
|
+
x: (size / 2 + offset.x) % size,
|
|
80
|
+
y: (size / 2 + offset.y) % size,
|
|
81
|
+
width: size,
|
|
82
|
+
height: size,
|
|
83
|
+
patternUnits: "userSpaceOnUse",
|
|
84
|
+
children: [/* @__PURE__ */ jsx("line", {
|
|
85
|
+
x1: 0,
|
|
86
|
+
y1: size / 2,
|
|
87
|
+
x2: size,
|
|
88
|
+
y2: size / 2
|
|
89
|
+
}), /* @__PURE__ */ jsx("line", {
|
|
90
|
+
x1: size / 2,
|
|
91
|
+
y1: 0,
|
|
92
|
+
x2: size / 2,
|
|
93
|
+
y2: size
|
|
94
|
+
})]
|
|
95
|
+
});
|
|
96
|
+
//#endregion
|
|
97
|
+
export { GridComponent as t };
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=chunk-Grid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-Grid.mjs","names":[],"sources":["../../src/components/Grid/Grid.tsx"],"sourcesContent":["//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { forwardRef, useId, useMemo } from 'react';\n\nimport * as Hooks from '@dxos/react-ui/Hooks';\nimport type * as Util from '@dxos/react-ui/Util';\nimport { mx } from '@dxos/ui-theme';\n\nimport { type Point } from '../../model/types.ts';\n\nconst gridRatios = [1 / 4, 1, 4, 16];\n\nconst defaultGridSize = 16;\nconst defaultOffset: Point = { x: 0, y: 0 };\nconst defaultRange = [defaultGridSize, 128] as const;\n\nconst createId = (parent: string, grid: number) => `dx-canvas-grid-${parent}-${grid}`;\n\n/**\n * A level's line opacity from its on-screen spacing alone: faint at the finest drawn spacing, a step\n * darker per fourfold. A level then fades in as the view zooms rather than popping, and a scene swap\n * that keeps every spacing (drilling through a grid-aligned portal) keeps every line as it was. The\n * step is small and the ceiling low: the grid is a guide under the diagram, so the coarse levels in\n * particular must not read as content.\n */\nconst levelOpacity = (size: number, min: number) => Math.min(0.12, 0.04 + (0.02 * Math.log(size / min)) / Math.log(4));\n\nexport type GridProps = Util.ThemedClassName<{\n size?: number;\n scale?: number;\n offset?: Point;\n showAxes?: boolean;\n /** Grid levels as multiples of `size`, finest first. */\n ratios?: readonly number[];\n /** On-screen cell size (px) outside which a level is not drawn. */\n range?: readonly [min: number, max: number];\n}>;\n\n/** Multi-level grid in screen space, fed the camera's scale and offset. */\nexport const GridComponent = forwardRef<SVGSVGElement, GridProps>(\n (\n {\n size: gridSize = defaultGridSize,\n scale = 1,\n offset = defaultOffset,\n showAxes = true,\n ratios = gridRatios,\n range = defaultRange,\n classNames,\n },\n forwardedRef,\n ) => {\n const svgRef = Hooks.useForwardedRef(forwardedRef);\n const { width = 0, height = 0 } = svgRef.current?.getBoundingClientRect() ?? {};\n\n const instanceId = useId();\n const [min, max] = range;\n const grids = useMemo(\n () =>\n ratios\n .map((ratio) => ({ id: ratio, size: ratio * gridSize * scale }))\n .filter(({ size }) => size >= min && size <= max),\n [ratios, gridSize, scale, min, max],\n );\n\n return (\n <svg\n data-testid='dx-canvas-grid'\n ref={svgRef}\n // `dx-cover` (absolute inset-0) does not stretch a replaced <svg> element — without an explicit\n // size it falls back to the intrinsic 300x150, clipping the 100%-sized grid rects. Force full size.\n className={mx(\n 'dx-cover w-full h-full pointer-events-none touch-none select-none',\n 'stroke-neutral-500',\n classNames,\n )}\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, size }) => (\n <rect\n key={id}\n opacity={levelOpacity(size, min)}\n fill={`url(#${createId(instanceId, id)})`}\n width='100%'\n height='100%'\n />\n ))}\n </g>\n </svg>\n );\n },\n);\n\nGridComponent.displayName = 'GridComponent';\n\n/** One grid level as an SVG pattern of crossing lines, offset so a line sits on the origin. */\nconst GridPattern = ({ id, size, offset }: { 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 <line x1={0} y1={size / 2} x2={size} y2={size / 2} />\n <line x1={size / 2} y1={0} x2={size / 2} y2={size} />\n </pattern>\n);\n"],"mappings":";;;;;AAYA,IAAM,aAAa;CAAC,IAAI;CAAG;CAAG;CAAG;AAAE;AAEnC,IAAM,kBAAkB;AACxB,IAAM,gBAAuB;CAAE,GAAG;CAAG,GAAG;AAAE;AAC1C,IAAM,eAAe,CAAC,iBAAiB,GAAG;AAE1C,IAAM,YAAY,QAAgB,SAAiB,kBAAkB,OAAO,GAAG;;;;;;;;AAS/E,IAAM,gBAAgB,MAAc,QAAgB,KAAK,IAAI,KAAM,MAAQ,MAAO,KAAK,IAAI,OAAO,GAAG,IAAK,KAAK,IAAI,CAAC,CAAC;;AAcrH,IAAa,gBAAgB,YAEzB,EACE,MAAM,WAAW,iBACjB,QAAQ,GACR,SAAS,eACT,WAAW,MACX,SAAS,YACT,QAAQ,cACR,cAEF,iBACG;CACH,MAAM,SAAS,MAAM,gBAAgB,YAAY;CACjD,MAAM,EAAE,QAAQ,GAAG,SAAS,MAAM,OAAO,SAAS,sBAAsB,KAAK,CAAC;CAE9E,MAAM,aAAa,MAAM;CACzB,MAAM,CAAC,KAAK,OAAO;CACnB,MAAM,QAAQ,cAEV,OACG,KAAK,WAAW;EAAE,IAAI;EAAO,MAAM,QAAQ,WAAW;CAAM,EAAE,CAAA,CAC9D,QAAQ,EAAE,WAAW,QAAQ,OAAO,QAAQ,GAAG,GACpD;EAAC;EAAQ;EAAU;EAAO;EAAK;CAAG,CACpC;CAEA,OACE,qBAAC,OAAD;EACE,eAAY;EACZ,KAAK;EAGL,WAAW,GACT,qEACA,sBACA,UACF;EATF,UAAA;GAYE,oBAAC,QAAD,EAAA,UACG,MAAM,KAAK,EAAE,IAAI,WAChB,oBAAC,aAAD;IAAsB,IAAI,SAAS,YAAY,EAAE;IAAW;IAAc;GAAO,GAA/D,EAA+D,CAClF,EACG,CAAA;GACL,YACC,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,QAAD;IAAM,IAAI;IAAG,IAAI,OAAO;IAAG,IAAI;IAAO,IAAI,OAAO;IAAG,WAAU;GAAiC,CAAA,GAC/F,oBAAC,QAAD;IAAM,IAAI,OAAO;IAAG,IAAI;IAAG,IAAI,OAAO;IAAG,IAAI;IAAQ,WAAU;GAAiC,CAAA,CAChG,EAAA,CAAA;GAEJ,oBAAC,KAAD,EAAA,UACG,MAAM,KAAK,EAAE,IAAI,WAChB,oBAAC,QAAD;IAEE,SAAS,aAAa,MAAM,GAAG;IAC/B,MAAM,QAAQ,SAAS,YAAY,EAAE,EAAE;IACvC,OAAM;IACN,QAAO;GACR,GALM,EAKN,CACF,EACA,CAAA;EACA;;AAET,CACF;AAEA,cAAc,cAAc;;AAG5B,IAAM,eAAe,EAAE,IAAI,MAAM,aAC/B,qBAAC,WAAD;CACM;CACJ,IAAI,OAAO,IAAI,OAAO,KAAK;CAC3B,IAAI,OAAO,IAAI,OAAO,KAAK;CAC3B,OAAO;CACP,QAAQ;CACR,cAAa;CANf,UAAA,CAQE,oBAAC,QAAD;EAAM,IAAI;EAAG,IAAI,OAAO;EAAG,IAAI;EAAM,IAAI,OAAO;CAAI,CAAA,GACpD,oBAAC,QAAD;EAAM,IAAI,OAAO;EAAG,IAAI;EAAG,IAAI,OAAO;EAAG,IAAI;CAAO,CAAA,CAC7C"}
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import { t as GridComponent } from "./chunk-Grid.mjs";
|
|
1
2
|
import { Dimension, Point, Rect } from "./types.mjs";
|
|
2
|
-
import { createContext, forwardRef, useContext, useEffect,
|
|
3
|
+
import { createContext, forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useReducer, useRef, useState } from "react";
|
|
3
4
|
import { useResizeDetector } from "react-resize-detector";
|
|
4
5
|
import { mx } from "@dxos/ui-theme";
|
|
5
6
|
import { easeSinOut, interpolate, interpolateObject, transition } from "d3";
|
|
6
7
|
import { applyToPoints, compose, identity, inverse, scale, translate } from "transformation-matrix";
|
|
7
8
|
import { raise } from "@dxos/debug";
|
|
8
9
|
import { bind, bindAll } from "bind-event-listener";
|
|
9
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
10
11
|
import { RegistryContext } from "@effect/atom-react/RegistryContext";
|
|
11
|
-
import * as Atom from "effect/
|
|
12
|
-
|
|
13
|
-
//#region src/hooks/projection.tsx
|
|
12
|
+
import * as Atom from "effect/reactivity/Atom";
|
|
13
|
+
//#region src/archive/hooks/projection.tsx
|
|
14
14
|
var defaultOrigin = {
|
|
15
15
|
x: 0,
|
|
16
16
|
y: 0
|
|
@@ -101,7 +101,7 @@ var zoomTo = (setTransform, current, next, delay = 200, cb = noop) => {
|
|
|
101
101
|
}).on("end", cb);
|
|
102
102
|
};
|
|
103
103
|
//#endregion
|
|
104
|
-
//#region src/hooks/useCanvasContext.ts
|
|
104
|
+
//#region src/archive/hooks/useCanvasContext.ts
|
|
105
105
|
/**
|
|
106
106
|
* @internal
|
|
107
107
|
*/
|
|
@@ -110,7 +110,7 @@ var useCanvasContext = () => {
|
|
|
110
110
|
return useContext(CanvasContext) ?? raise(/* @__PURE__ */ new Error("Missing CanvasContext"));
|
|
111
111
|
};
|
|
112
112
|
//#endregion
|
|
113
|
-
//#region src/hooks/useDrag.tsx
|
|
113
|
+
//#region src/archive/hooks/useDrag.tsx
|
|
114
114
|
/**
|
|
115
115
|
* Handle drag events to update the transform state (offset).
|
|
116
116
|
*/
|
|
@@ -167,7 +167,7 @@ var useDrag = (_options = {}) => {
|
|
|
167
167
|
}, [root]);
|
|
168
168
|
};
|
|
169
169
|
//#endregion
|
|
170
|
-
//#region src/util/svg-path.ts
|
|
170
|
+
//#region src/archive/util/svg-path.ts
|
|
171
171
|
/** https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths */
|
|
172
172
|
var createPath = (points, join = false) => {
|
|
173
173
|
return [
|
|
@@ -177,13 +177,13 @@ var createPath = (points, join = false) => {
|
|
|
177
177
|
].join(" ");
|
|
178
178
|
};
|
|
179
179
|
//#endregion
|
|
180
|
-
//#region src/util/svg.tsx
|
|
180
|
+
//#region src/archive/util/svg.tsx
|
|
181
181
|
/**
|
|
182
182
|
* https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths
|
|
183
183
|
* NOTE: Leave space around shape for line width.
|
|
184
184
|
*/
|
|
185
185
|
var Markers = ({ id = "dx-marker", classNames }) => {
|
|
186
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
186
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
187
187
|
/* @__PURE__ */ jsx(Arrow, {
|
|
188
188
|
id: `${id}-arrow-start`,
|
|
189
189
|
dir: "start",
|
|
@@ -310,7 +310,7 @@ var GridPattern = ({ classNames, id, size, offset }) => /* @__PURE__ */ jsx("pat
|
|
|
310
310
|
})
|
|
311
311
|
});
|
|
312
312
|
//#endregion
|
|
313
|
-
//#region src/util/util.ts
|
|
313
|
+
//#region src/archive/util/util.ts
|
|
314
314
|
var logged = false;
|
|
315
315
|
/**
|
|
316
316
|
* Get the relative point of the cursor.
|
|
@@ -350,7 +350,7 @@ var inspectElement = (el) => {
|
|
|
350
350
|
};
|
|
351
351
|
var DATA_TEST_ID = "data-test-id";
|
|
352
352
|
//#endregion
|
|
353
|
-
//#region src/hooks/useWheel.tsx
|
|
353
|
+
//#region src/archive/hooks/useWheel.tsx
|
|
354
354
|
var defaultOptions = { zoom: true };
|
|
355
355
|
/**
|
|
356
356
|
* Handle wheel events to update the transform state (zoom and offset).
|
|
@@ -398,7 +398,7 @@ var isWheelZooming = (ev) => {
|
|
|
398
398
|
return false;
|
|
399
399
|
};
|
|
400
400
|
//#endregion
|
|
401
|
-
//#region src/components/Canvas/Canvas.tsx
|
|
401
|
+
//#region src/archive/components/Canvas/Canvas.tsx
|
|
402
402
|
/**
|
|
403
403
|
* Root canvas component.
|
|
404
404
|
* Manages CSS projection.
|
|
@@ -463,14 +463,14 @@ var Canvas = forwardRef(({ children, classNames, scale: scaleProp = 1, offset: o
|
|
|
463
463
|
},
|
|
464
464
|
children: /* @__PURE__ */ jsx("div", {
|
|
465
465
|
...props,
|
|
466
|
-
className: mx("
|
|
466
|
+
className: mx("dx-cover overflow-hidden", classNames),
|
|
467
467
|
ref,
|
|
468
468
|
children: ready ? children : null
|
|
469
469
|
})
|
|
470
470
|
});
|
|
471
471
|
});
|
|
472
472
|
//#endregion
|
|
473
|
-
//#region src/components/CellGrid/state/viewport.ts
|
|
473
|
+
//#region src/archive/components/CellGrid/state/viewport.ts
|
|
474
474
|
var cellKey = (col, row) => `${col},${row}`;
|
|
475
475
|
var cellWidth = (viewport) => viewport.baseCellWidth * viewport.zoomX;
|
|
476
476
|
/**
|
|
@@ -530,7 +530,7 @@ var visibleCells = function* (cells, range) {
|
|
|
530
530
|
}
|
|
531
531
|
};
|
|
532
532
|
//#endregion
|
|
533
|
-
//#region src/components/CellGrid/headers/Ruler.tsx
|
|
533
|
+
//#region src/archive/components/CellGrid/headers/Ruler.tsx
|
|
534
534
|
/**
|
|
535
535
|
* Frozen top ruler. Ticks reflect the current viewport scroll and zoom.
|
|
536
536
|
*/
|
|
@@ -569,7 +569,7 @@ var Ruler = ({ viewport, headers, width, majorEvery = 4, classNames }) => {
|
|
|
569
569
|
});
|
|
570
570
|
};
|
|
571
571
|
//#endregion
|
|
572
|
-
//#region src/components/CellGrid/headers/TrackHeader.tsx
|
|
572
|
+
//#region src/archive/components/CellGrid/headers/TrackHeader.tsx
|
|
573
573
|
/**
|
|
574
574
|
* Frozen left column listing row labels. Translates vertically in sync with viewport scroll.
|
|
575
575
|
*
|
|
@@ -601,7 +601,7 @@ var TrackHeader = ({ viewport, headers, rows, height, classNames }) => {
|
|
|
601
601
|
});
|
|
602
602
|
};
|
|
603
603
|
//#endregion
|
|
604
|
-
//#region src/components/CellGrid/input/pointer.ts
|
|
604
|
+
//#region src/archive/components/CellGrid/input/pointer.ts
|
|
605
605
|
/**
|
|
606
606
|
* Attach pointer handlers to an element. Returns an unsubscribe.
|
|
607
607
|
*/
|
|
@@ -760,7 +760,7 @@ var toggleCell = (registry, atoms, coord, factory, mode = "toggle") => {
|
|
|
760
760
|
});
|
|
761
761
|
};
|
|
762
762
|
//#endregion
|
|
763
|
-
//#region src/components/CellGrid/input/wheel.ts
|
|
763
|
+
//#region src/archive/components/CellGrid/input/wheel.ts
|
|
764
764
|
var MIN_ZOOM = .25;
|
|
765
765
|
var MAX_ZOOM = 8;
|
|
766
766
|
/**
|
|
@@ -806,7 +806,7 @@ var attachWheelHandlers = (element, { registry, atoms, headers }) => {
|
|
|
806
806
|
return () => element.removeEventListener("wheel", onWheel);
|
|
807
807
|
};
|
|
808
808
|
//#endregion
|
|
809
|
-
//#region src/components/CellGrid/render/overlay-layer.ts
|
|
809
|
+
//#region src/archive/components/CellGrid/render/overlay-layer.ts
|
|
810
810
|
var drawOverlay = ({ ctx, size, viewport, headers, selection, playhead, style }) => {
|
|
811
811
|
ctx.clearRect(0, 0, size.width, size.height);
|
|
812
812
|
ctx.save();
|
|
@@ -850,7 +850,7 @@ var drawOverlay = ({ ctx, size, viewport, headers, selection, playhead, style })
|
|
|
850
850
|
ctx.restore();
|
|
851
851
|
};
|
|
852
852
|
//#endregion
|
|
853
|
-
//#region src/components/CellGrid/render/static-layer.ts
|
|
853
|
+
//#region src/archive/components/CellGrid/render/static-layer.ts
|
|
854
854
|
/**
|
|
855
855
|
* Paint the static layer: background, gridlines, alternating row bands, and cells.
|
|
856
856
|
* Pure with respect to its inputs (writes only to the supplied ctx).
|
|
@@ -903,7 +903,7 @@ var drawCells = ({ ctx, size, viewport, headers, rows, cells, renderCell, style
|
|
|
903
903
|
ctx.restore();
|
|
904
904
|
};
|
|
905
905
|
//#endregion
|
|
906
|
-
//#region src/components/CellGrid/CellGrid.tsx
|
|
906
|
+
//#region src/archive/components/CellGrid/CellGrid.tsx
|
|
907
907
|
var defaultHeaders = {
|
|
908
908
|
left: 80,
|
|
909
909
|
top: 24
|
|
@@ -1106,11 +1106,11 @@ var CellGrid = ({ atoms, rows, renderCell, headers: headersProp, staticStyle: st
|
|
|
1106
1106
|
]);
|
|
1107
1107
|
return /* @__PURE__ */ jsxs("div", {
|
|
1108
1108
|
ref: containerRef,
|
|
1109
|
-
className: mx("relative
|
|
1109
|
+
className: mx("relative dx-fill overflow-hidden dx-base-surface", classNames),
|
|
1110
1110
|
children: [
|
|
1111
1111
|
/* @__PURE__ */ jsx("canvas", {
|
|
1112
1112
|
ref: staticCanvasRef,
|
|
1113
|
-
className: "
|
|
1113
|
+
className: "dx-cover pointer-events-none",
|
|
1114
1114
|
style: {
|
|
1115
1115
|
top: -1,
|
|
1116
1116
|
left: -1
|
|
@@ -1118,7 +1118,7 @@ var CellGrid = ({ atoms, rows, renderCell, headers: headersProp, staticStyle: st
|
|
|
1118
1118
|
}),
|
|
1119
1119
|
/* @__PURE__ */ jsx("canvas", {
|
|
1120
1120
|
ref: overlayCanvasRef,
|
|
1121
|
-
className: "
|
|
1121
|
+
className: "dx-cover pointer-events-none",
|
|
1122
1122
|
style: {
|
|
1123
1123
|
top: -1,
|
|
1124
1124
|
left: -1
|
|
@@ -1126,7 +1126,7 @@ var CellGrid = ({ atoms, rows, renderCell, headers: headersProp, staticStyle: st
|
|
|
1126
1126
|
}),
|
|
1127
1127
|
/* @__PURE__ */ jsx("div", {
|
|
1128
1128
|
ref: overlayInputRef,
|
|
1129
|
-
className: "
|
|
1129
|
+
className: "dx-cover touch-none",
|
|
1130
1130
|
style: {
|
|
1131
1131
|
paddingLeft: headers.left,
|
|
1132
1132
|
paddingTop: headers.top
|
|
@@ -1154,7 +1154,7 @@ var CellGrid = ({ atoms, rows, renderCell, headers: headersProp, staticStyle: st
|
|
|
1154
1154
|
});
|
|
1155
1155
|
};
|
|
1156
1156
|
//#endregion
|
|
1157
|
-
//#region src/components/CellGrid/state/atoms.ts
|
|
1157
|
+
//#region src/archive/components/CellGrid/state/atoms.ts
|
|
1158
1158
|
var defaultViewport = (options = {}) => ({
|
|
1159
1159
|
scrollX: 0,
|
|
1160
1160
|
scrollY: 0,
|
|
@@ -1177,7 +1177,7 @@ var createCellGridAtoms = (options = {}) => ({
|
|
|
1177
1177
|
tool: Atom.keepAlive(Atom.make("toggle"))
|
|
1178
1178
|
});
|
|
1179
1179
|
//#endregion
|
|
1180
|
-
//#region src/components/FPS.tsx
|
|
1180
|
+
//#region src/archive/components/FPS.tsx
|
|
1181
1181
|
var SEC = 1e3;
|
|
1182
1182
|
var FPS = ({ classNames, width = 60, height = 30, bar = "bg-cyan-500" }) => {
|
|
1183
1183
|
const [{ fps, max, len }, dispatch] = useReducer((state) => {
|
|
@@ -1215,7 +1215,7 @@ var FPS = ({ classNames, width = 60, height = 30, bar = "bg-cyan-500" }) => {
|
|
|
1215
1215
|
}, []);
|
|
1216
1216
|
return /* @__PURE__ */ jsxs("div", {
|
|
1217
1217
|
style: { width: width + 6 },
|
|
1218
|
-
className: mx("relative flex flex-col p-0.5", "bg-base-surface text-xs text-
|
|
1218
|
+
className: mx("relative flex flex-col p-0.5", "bg-base-surface text-xs text-fg-subtle font-thin pointer-events-none border border-separator", classNames),
|
|
1219
1219
|
children: [/* @__PURE__ */ jsxs("div", { children: [fps[len - 1], " FPS"] }), /* @__PURE__ */ jsx("div", {
|
|
1220
1220
|
className: "w-full relative",
|
|
1221
1221
|
style: { height },
|
|
@@ -1233,19 +1233,7 @@ var FPS = ({ classNames, width = 60, height = 30, bar = "bg-cyan-500" }) => {
|
|
|
1233
1233
|
});
|
|
1234
1234
|
};
|
|
1235
1235
|
//#endregion
|
|
1236
|
-
//#region src/components/Grid/Grid.tsx
|
|
1237
|
-
var gridRatios = [
|
|
1238
|
-
1 / 4,
|
|
1239
|
-
1,
|
|
1240
|
-
4,
|
|
1241
|
-
16
|
|
1242
|
-
];
|
|
1243
|
-
var defaultGridSize = 16;
|
|
1244
|
-
var defaultOffset = {
|
|
1245
|
-
x: 0,
|
|
1246
|
-
y: 0
|
|
1247
|
-
};
|
|
1248
|
-
var createId = (parent, grid) => `dx-canvas-grid-${parent}-${grid}`;
|
|
1236
|
+
//#region src/archive/components/Grid/Grid.tsx
|
|
1249
1237
|
var Grid = (props) => {
|
|
1250
1238
|
const { scale, offset } = useCanvasContext();
|
|
1251
1239
|
return /* @__PURE__ */ jsx(GridComponent, {
|
|
@@ -1254,46 +1242,6 @@ var Grid = (props) => {
|
|
|
1254
1242
|
offset
|
|
1255
1243
|
});
|
|
1256
1244
|
};
|
|
1257
|
-
var GridComponent = forwardRef(({ size: gridSize = defaultGridSize, scale = 1, offset = defaultOffset, showAxes = true, classNames }, forwardedRef) => {
|
|
1258
|
-
const svgRef = useForwardedRef(forwardedRef);
|
|
1259
|
-
const { width = 0, height = 0 } = svgRef.current?.getBoundingClientRect() ?? {};
|
|
1260
|
-
const instanceId = useId();
|
|
1261
|
-
const grids = useMemo(() => gridRatios.map((ratio) => ({
|
|
1262
|
-
id: ratio,
|
|
1263
|
-
size: ratio * gridSize * scale
|
|
1264
|
-
})).filter(({ size }) => size >= gridSize && size <= 128), [gridSize, scale]);
|
|
1265
|
-
return /* @__PURE__ */ jsxs("svg", {
|
|
1266
|
-
...testId("dx-canvas-grid"),
|
|
1267
|
-
ref: svgRef,
|
|
1268
|
-
className: mx("dx-fullscreen w-full h-full pointer-events-none touch-none select-none", "stroke-neutral-500", classNames),
|
|
1269
|
-
children: [
|
|
1270
|
-
/* @__PURE__ */ jsx("defs", { children: grids.map(({ id, size }) => /* @__PURE__ */ jsx(GridPattern, {
|
|
1271
|
-
id: createId(instanceId, id),
|
|
1272
|
-
offset,
|
|
1273
|
-
size
|
|
1274
|
-
}, id)) }),
|
|
1275
|
-
showAxes && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("line", {
|
|
1276
|
-
x1: 0,
|
|
1277
|
-
y1: offset.y,
|
|
1278
|
-
x2: width,
|
|
1279
|
-
y2: offset.y,
|
|
1280
|
-
className: "stroke-neutral-500 opacity-40"
|
|
1281
|
-
}), /* @__PURE__ */ jsx("line", {
|
|
1282
|
-
x1: offset.x,
|
|
1283
|
-
y1: 0,
|
|
1284
|
-
x2: offset.x,
|
|
1285
|
-
y2: height,
|
|
1286
|
-
className: "stroke-neutral-500 opacity-40"
|
|
1287
|
-
})] }),
|
|
1288
|
-
/* @__PURE__ */ jsx("g", { children: grids.map(({ id }, i) => /* @__PURE__ */ jsx("rect", {
|
|
1289
|
-
opacity: .1 + i * .05,
|
|
1290
|
-
fill: `url(#${createId(instanceId, id)})`,
|
|
1291
|
-
width: "100%",
|
|
1292
|
-
height: "100%"
|
|
1293
|
-
}, id)) })
|
|
1294
|
-
]
|
|
1295
|
-
});
|
|
1296
|
-
});
|
|
1297
1245
|
//#endregion
|
|
1298
1246
|
export { Arrow, Canvas, CanvasContext, CellGrid, DATA_TEST_ID, Dimension, FPS, Grid, GridComponent, GridPattern, Marker, Markers, Point, ProjectionMapper, Rect, Ruler, TrackHeader, attachPointerHandlers, attachWheelHandlers, cellKey, cellWidth, createCellGridAtoms, createPath, defaultOrigin, defaultViewport, drawCells, drawOverlay, getRelativePoint, getZoomTransform, hitTestCell, inspectElement, screenToWorld, testId, toggleCell, useCanvasContext, useDrag, useWheel, visibleCellRange, visibleCells, worldToScreen, zoomInPlace, zoomTo };
|
|
1299
1247
|
|