- Foldable left panel (user profile) and right panel (task details) - Clicking a task in the list or graph node selects it and shows details - Both views (task list + graph) always mounted via absolute inset-0 for correct canvas dimensions; tabs toggle visibility with opacity - Graph node selection animation: other nodes repel outward (charge -600), then selected node smoothly slides to center (500ms cubic ease-out), then charge restores to -120 and graph stabilizes - Graph re-fits on tab switch and panel resize via ResizeObserver - Fix UUID string IDs throughout (backend returns UUIDs, not integers) - Add TaskDetailPanel, UserPanel components - Add CLAUDE.md project documentation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
21 lines
888 B
TypeScript
21 lines
888 B
TypeScript
import { Module } from "module";
|
|
import { TransformOptions, JITIOptions, JITIImportOptions } from "./types";
|
|
export type { JITIOptions, TransformOptions } from "./types";
|
|
type Require = typeof require;
|
|
type Module = typeof module;
|
|
type ModuleCache = Record<string, Module>;
|
|
export type EvalModuleOptions = Partial<{
|
|
id: string;
|
|
filename: string;
|
|
ext: string;
|
|
cache: ModuleCache;
|
|
}>;
|
|
export interface JITI extends Require {
|
|
transform: (opts: TransformOptions) => string;
|
|
register: () => () => void;
|
|
evalModule: (source: string, options?: EvalModuleOptions) => unknown;
|
|
/** @experimental Behavior of `jiti.import` might change in the future. */
|
|
import: (id: string, importOptions: JITIImportOptions) => Promise<unknown>;
|
|
}
|
|
export default function createJITI(_filename: string, opts?: JITIOptions, parentModule?: Module, parentCache?: ModuleCache): JITI;
|