- 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>
17 lines
806 B
Markdown
17 lines
806 B
Markdown
# commons
|
|
|
|
[](https://circleci.com/gh/sinonjs/commons)
|
|
[](https://codecov.io/gh/sinonjs/commons)
|
|
<a href="CODE_OF_CONDUCT.md"><img src="https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg" alt="Contributor Covenant" /></a>
|
|
|
|
Simple functions shared among the sinon end user libraries
|
|
|
|
## Rules
|
|
|
|
- Follows the [Sinon.JS compatibility](https://github.com/sinonjs/sinon/blob/master/CONTRIBUTING.md#compatibility)
|
|
- 100% test coverage
|
|
- Code formatted using [Prettier](https://prettier.io)
|
|
- No side effects welcome! (only pure functions)
|
|
- No platform specific functions
|
|
- One export per file (any bundler can do tree shaking)
|