{"id":34699761,"url":"https://github.com/oysteinamundsen/toolbox","last_synced_at":"2026-05-08T06:21:11.310Z","repository":{"id":329944511,"uuid":"1121062399","full_name":"OysteinAmundsen/toolbox","owner":"OysteinAmundsen","description":"A no-dependency component library for the web","archived":false,"fork":false,"pushed_at":"2026-04-26T11:28:29.000Z","size":10334,"stargazers_count":22,"open_issues_count":4,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-26T12:07:53.450Z","etag":null,"topics":["data-grid","datagrid","framework-agnostic","no-dependencies","table","typescript","vanilla-js","virtualization","web-components"],"latest_commit_sha":null,"homepage":"https://toolboxjs.com/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OysteinAmundsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"OysteinAmundsen","patreon":"OysteinAmundsen"}},"created_at":"2025-12-22T11:29:12.000Z","updated_at":"2026-04-26T11:28:17.000Z","dependencies_parsed_at":"2026-04-26T12:04:10.489Z","dependency_job_id":null,"html_url":"https://github.com/OysteinAmundsen/toolbox","commit_stats":null,"previous_names":["oysteinamundsen/toolbox"],"tags_count":235,"template":false,"template_full_name":null,"purl":"pkg:github/OysteinAmundsen/toolbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OysteinAmundsen%2Ftoolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OysteinAmundsen%2Ftoolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OysteinAmundsen%2Ftoolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OysteinAmundsen%2Ftoolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OysteinAmundsen","download_url":"https://codeload.github.com/OysteinAmundsen/toolbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OysteinAmundsen%2Ftoolbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32297900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-grid","datagrid","framework-agnostic","no-dependencies","table","typescript","vanilla-js","virtualization","web-components"],"created_at":"2025-12-24T22:50:32.850Z","updated_at":"2026-04-26T13:01:39.878Z","avatar_url":"https://github.com/OysteinAmundsen.png","language":"TypeScript","funding_links":["https://github.com/sponsors/OysteinAmundsen","https://patreon.com/OysteinAmundsen","https://www.patreon.com/c/OysteinAmundsen"],"categories":[],"sub_categories":[],"readme":"# Toolbox Web\n\n[![CI/CD Pipeline](https://github.com/OysteinAmundsen/toolbox/actions/workflows/ci.yml/badge.svg)](https://github.com/OysteinAmundsen/toolbox/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![GitHub Sponsors](https://img.shields.io/badge/Sponsor-❤-ea4aaa?logo=github)](https://github.com/sponsors/OysteinAmundsen)\n\nA monorepo for **framework-agnostic web component libraries** built with pure TypeScript. Components work natively in vanilla JS, React, Vue, Angular, Svelte, and any other framework.\n\n## Libraries\n\n| Package                                                                                | Description                                                           | Docs                                  |\n| -------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------- |\n| [`@toolbox-web/grid`](https://www.npmjs.com/package/@toolbox-web/grid)                 | High-performance data grid with virtualization, plugins, and theming  | [README](libs/grid/README.md)         |\n| [`@toolbox-web/grid-angular`](https://www.npmjs.com/package/@toolbox-web/grid-angular) | Angular adapter with directives for template-driven renderers/editors | [README](libs/grid-angular/README.md) |\n| [`@toolbox-web/grid-react`](https://www.npmjs.com/package/@toolbox-web/grid-react)     | React adapter                                                         | [README](libs/grid-react/README.md)   |\n| [`@toolbox-web/grid-vue`](https://www.npmjs.com/package/@toolbox-web/grid-vue)         | Vue 3 adapter                                                         | [README](libs/grid-vue/README.md)     |\n\n## Quick Start\n\n```bash\n# Install dependencies\nbun install\n\n# Start docs site (development)\nbun start\n\n# Build all libraries\nbun run build\n\n# Run all tests\nbun run test\n```\n\n## Development\n\n### Project Structure\n\n```\nlibs/\n  grid/           # @toolbox-web/grid - Data grid component\n  grid-angular/   # @toolbox-web/grid-angular - Angular adapter\n  grid-react/     # @toolbox-web/grid-react - React adapter\n  grid-vue/       # @toolbox-web/grid-vue - Vue 3 adapter\n  themes/         # Shared theme system\ndemos/\n  employee-management/   # Full-featured demo applications\n    shared/              # Shared types and data generators\n    vanilla/             # Pure TypeScript/Vite demo\n    angular/             # Angular 21 demo\n    react/               # React 19 demo\n    vue/                 # Vue 3 demo\napps/\n  docs/           # Astro/Starlight documentation site\n```\n\n### Commands\n\n```bash\n# Development\nbun start                    # Start docs site\nbun nx build \u003clib\u003e           # Build a library\nbun nx test \u003clib\u003e            # Run tests for a library\n\n# CI\nbun run build                # Build all libraries\nbun run test                 # Test all libraries\n```\n\n## AI/LLM Integration\n\nThis project includes [`llms.txt`](llms.txt) and [`llms-full.txt`](llms-full.txt) files following the [llms.txt specification](https://llmstxt.org/) to help AI assistants understand and work with the codebase:\n\n- **`llms.txt`** - Concise overview with links to documentation\n- **`llms-full.txt`** - Comprehensive implementation guide with migration patterns from AG Grid, TanStack Table, and ngx-datatable\n\n## Architecture\n\n### Design Philosophy\n\n- **Zero framework lock-in**: Pure web components using standard APIs\n- **Light DOM + CSS Nesting**: Render directly to element with scoped styles\n- **Plugin system**: Extend functionality without bloating core\n- **Virtualization**: Handle large datasets efficiently\n- **Theming**: CSS custom properties for easy customization\n\n### Adding a New Library\n\n1. Create library: `bun nx g @nx/js:lib libs/\u003cname\u003e --publishable --importPath=@toolbox/\u003cname\u003e`\n2. Add Vite config following `libs/grid/vite.config.ts` pattern\n3. Add path mappings to `tsconfig.base.json`\n4. Create stories in `apps/docs/src/components/demos/`\n\n## Tech Stack\n\n- **Bun** - Package manager and runtime\n- **Vite** - Build tool\n- **Vitest** - Test runner\n- **Astro/Starlight** - Documentation site\n- **Nx** - Monorepo orchestration\n- **TypeScript** - Type safety\n\n## Support\n\nBuilt and maintained by a solo developer. Sponsorship keeps this project alive:\n\n[![GitHub Sponsors](https://img.shields.io/badge/Sponsor_on_GitHub-ea4aaa?style=for-the-badge\u0026logo=github)](https://github.com/sponsors/OysteinAmundsen)\n[![Patreon](https://img.shields.io/badge/Support_on_Patreon-f96854?style=for-the-badge\u0026logo=patreon)](https://www.patreon.com/c/OysteinAmundsen)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foysteinamundsen%2Ftoolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foysteinamundsen%2Ftoolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foysteinamundsen%2Ftoolbox/lists"}