45 lines
1.1 KiB
TypeScript
45 lines
1.1 KiB
TypeScript
/**
|
|
* Canvas store: centralized state + commands + selectors.
|
|
* Entry point for store usage.
|
|
*/
|
|
|
|
export {
|
|
getCanvasStore,
|
|
dispatchCanvasCommand,
|
|
useCanvasStore,
|
|
useCanvasStoreDispatch,
|
|
canvasStore,
|
|
} from './canvasStore'
|
|
export type { CanvasStore, CanvasCommand } from './canvasStore'
|
|
export { initialCanvasStore, canvasStoreReducer } from './canvasStore.reducer'
|
|
export type { CanvasStore as CanvasStoreState, PathSlice, UISlice, GraphSlice, ConnectionFrom } from './canvasStore.types'
|
|
export {
|
|
selectGraph,
|
|
selectPath,
|
|
selectUI,
|
|
selectNodes,
|
|
selectEdges,
|
|
selectPathNodeIds,
|
|
selectPathActiveSegmentNodeIds,
|
|
selectConnectionStatusForEdge,
|
|
selectPathRoleForNode,
|
|
selectRenamingNodeId,
|
|
selectFullscreenNodeId,
|
|
selectConnectionFrom,
|
|
// Fine-grained selectors
|
|
selectNodeById,
|
|
selectNodesById,
|
|
selectNodesByType,
|
|
selectNodeIdsByType,
|
|
selectEdgesBySource,
|
|
selectEdgesByTarget,
|
|
selectEdgesForNode,
|
|
selectNodeCount,
|
|
selectEdgeCount,
|
|
selectHasNode,
|
|
selectHasEdge,
|
|
// SVG detection
|
|
isSvgContent,
|
|
} from './canvasStore.selectors'
|
|
export type { ConnectionPathRole } from './canvasStore.selectors'
|