{"id":43783986,"url":"https://github.com/Unify-India/uni-table","last_synced_at":"2026-02-15T17:00:59.728Z","repository":{"id":334645495,"uuid":"1141777057","full_name":"Unify-India/uni-table","owner":"Unify-India","description":"Enterprise-grade Angular 19 Data Table powered by Signals. Features hybrid responsiveness, config-driven architecture, decoupled translation, and automatic state persistence.","archived":false,"fork":false,"pushed_at":"2026-02-04T08:01:14.000Z","size":382,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-04T17:49:14.807Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/Unify-India.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-25T12:15:41.000Z","updated_at":"2026-02-04T08:01:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Unify-India/uni-table","commit_stats":null,"previous_names":["unify-india/uni-table"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Unify-India/uni-table","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unify-India%2Funi-table","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unify-India%2Funi-table/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unify-India%2Funi-table/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unify-India%2Funi-table/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Unify-India","download_url":"https://codeload.github.com/Unify-India/uni-table/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Unify-India%2Funi-table/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29484948,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T15:33:17.885Z","status":"ssl_error","status_checked_at":"2026-02-15T15:32:53.698Z","response_time":118,"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":[],"created_at":"2026-02-05T19:00:26.068Z","updated_at":"2026-02-15T17:00:59.717Z","avatar_url":"https://github.com/Unify-India.png","language":"TypeScript","funding_links":[],"categories":["Third Party Components"],"sub_categories":["Data Grids"],"readme":"# Uni-Table: High-Performance Angular Data Table with Signals\n\n[![npm version](https://img.shields.io/npm/v/@unify-india/uni-table.svg)](https://www.npmjs.com/package/@unify-india/uni-table)\n[![npm downloads](https://img.shields.io/npm/dm/@unify-india/uni-table.svg)](https://www.npmjs.com/package/@unify-india/uni-table)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n**Uni-Table** is a next-generation data grid for Angular, re-engineered with **Signals** to deliver zero-lag performance. It combines enterprise-grade features—like server-side processing and complex filtering—with a developer-friendly configuration API, making it the ideal choice for building responsive, data-heavy applications.\n\n---\n\n**[✨ Explore the Interactive Demo on StackBlitz](https://stackblitz.com/edit/uni-table)**\n\n---\n\n## 📚 Table of Contents\n\n- [Introduction](#uni-table-high-performance-angular-data-table-with-signals)\n- [Visual Tour](#-visual-tour-features-in-action)\n- [Installation](#-installation)\n- [Version Compatibility](#-version-compatibility)\n- [Key Features](#-key-features)\n- [Styling \u0026 Theming](#-effortless-styling-with-css-variables)\n- [Quick Start](#-quick-start)\n- [Documentation](#-detailed-documentation)\n- [Contributing](#-contributing--feedback)\n\n---\n\n![Uni-Table Client-Side Data Grid with Pagination and Search](https://github.com/Unify-India/uni-table/blob/master/projects/uni-table-demo/docs/images/client-side-table.png)\n![Uni-Table Server-Side Data Grid](https://github.com/Unify-India/uni-table/blob/master/projects/uni-table-demo/docs/images/server-side-table.png)\n\n### 🎨 Visual Tour: Features in Action\n\nWhat you see in the screenshots above isn't just a static table—it's a high-performance data engine in action:\n\n1.  **Dynamic Header Controls:** Take full command of your table's toolbar. Seamlessly toggle features like **Export**, **Global Search**, and **Column Visibility (`colVis`)**. You can even enable a **Context Menu** for quick client-side actions (available in client-side mode).\n2.  **Smart Conditional Highlighting:** Visualize your data's meaning at a glance. Easily apply conditional styling—like the orange cell highlights shown—to draw attention to critical values or specific data states without complex CSS hacks.\n3.  **Rich Custom Templates:** Go beyond simple text. Inject custom `ng-template`s to render interactive **Action columns**, formatted **Pricing**, status badges, or even complex nested components.\n\n## 📦 Installation\n\nTo install the library, run:\n\n```bash\nnpm install @unify-india/uni-table\n```\n\nSince `UniTableComponent` is a standalone component, import it directly into your component's `imports` array:\n\n```typescript\nimport { UniTableComponent } from '@unify-india/uni-table';\n\n@Component({\n  // ...\n  imports: [UniTableComponent],\n})\nexport class YourComponent {}\n```\n\n## 📊 Version Compatibility\n\n\u003e **Note:** The current version (`0.1.1`) is considered a **beta release**. Once we receive sufficient feedback and confirmation from our users, we will transition to a versioning scheme that aligns directly with Angular's major and minor versions (e.g., `@unify-india/uni-table` version `19.2.x` will target Angular `19.2.x`).\n\n| Angular Version | Uni-Table Version |\n| :--- | :--- |\n| **Angular 19+** | `0.1.1` (Beta) |\n| **Angular 20** | *Coming Soon* |\n| **Angular 21** | *Coming Soon* |\n\n## ✨ Key Features\n\nUni-Table isn't just another data grid; it's a complete toolkit for building data-rich interfaces that your users will love.\n\n*   **🚀 Signal-First Architecture: Speed by Design**\n    Forget about sluggish UI updates. Built entirely on Angular Signals, Uni-Table delivers ultra-fast, fine-grained reactivity. Sorting, paging, and filtering happen instantly, ensuring a buttery-smooth 60fps experience even with complex data interactions.\n\n*   **🎨 Your Pagination, Your Rules**\n    Why settle for generic controls?\n    *   **Fully Customizable:** Choose between text labels (\"Previous\", \"Next\"), intuitive icons, or both.\n    *   **Flexible Navigation:** Decide exactly which controls to show—First/Last, Previous/Next—tailoring the experience to your design system.\n\n*   **📱 Advanced Responsiveness: Mobile-Ready Instantly**\n    Don't let wide tables break your mobile layout.\n    *   **Smart Collapse:** Columns that don't fit are automatically tucked away into an expandable \"details view.\"\n    *   **Priority Control:** You decide what matters most. Use the `priority` setting to ensure critical columns stay visible on smaller screens while secondary data gracefully yields space.\n\n*   **👁️ Reactive Column Visibility: User-Centric Control**\n    Empower your users to curate their own view. The built-in, reactive `colVis` menu lets users instantly toggle columns on or off. No page reloads, no heavy DOM re-rendering—just instant personalization.\n\n*   **💾 Intelligent State Persistence**\n    Users hate losing their place. With `autoSaveState`, Uni-Table remembers everything:\n    *   Current page \u0026 page size\n    *   Sort order \u0026 direction\n    *   Search terms\n    *   Hidden/Visible columns\n    *   *Result:* Users pick up exactly where they left off, every time.\n\n*   **🌐 Universal Data Handling: Client or Server? Yes.**\n    *   **Client-Side Agility:** Pass a local array, and let Uni-Table handle the heavy lifting—sorting, searching, and pagination are automatic.\n    *   **Server-Side Power:** dealing with millions of records? Flip the `serverSide` switch. Hook into the `stateChange` event to fetch exactly what you need, when you need it.\n\n*   **🔧 Pixel-Perfect Column Control**\n    *   **Precise Layouts:** Define exact `width` and `minWidth` to ensure your data breathes.\n    *   **Rich Content:** Inject custom `ng-template`s for any cell. Render status badges, action buttons, user avatars, or complex components with ease.\n    *   **Styling Freedom:** Apply custom classes and styles to headers and cells dynamically based on data.\n\n*   **🔍 Powerful, Flexible Search**\n    *   **Global Search:** Out-of-the-box text search that filters across all your columns.\n    *   **Manual Control:** Need to trigger search from an external input or clear it programmatically? The `manualSearch` API puts you in the driver's seat.\n\n## 🎨 Effortless Styling with CSS Variables\n\nSay goodbye to `::ng-deep` and complex CSS selectors. Uni-Table is built with a modern **variable-based styling mechanism**. You can directly update the design of the entire table by simply overriding CSS variables in your component's CSS or global styles.\n\n```css\n/* Customize your table globally or per component */\nuni-table {\n  --uni-primary-color: #6366f1;\n  --uni-bg: #ffffff;\n  --uni-table-striped-bg: #f8fafc;\n  --uni-border-radius: 12px;\n  --uni-font-family: 'Inter', sans-serif;\n  --uni-table-head-bg: #f1f5f9;\n}\n```\n\nThis approach gives you complete control over the look and feel while keeping your stylesheets clean and maintainable.\n\n## 🚀 Quick Start\n\nDefine your options and data configuration:\n\n```typescript\nimport { Component } from '@angular/core';\nimport { UniDataConfig, UniTableConfig } from '@unify-india/uni-table';\n\n@Component({\n  selector: 'app-root',\n  template: `\n    \u003cuni-table [config]=\"tableConfig\" [dataConfig]=\"dataConfig\"\u003e\u003c/uni-table\u003e\n  `\n})\nexport class AppComponent {\n  tableConfig: UniTableConfig = {\n    paging: true,\n    searching: true,\n    colVis: true,\n    autoSaveState: true,\n    storageKey: 'my-users-table'\n  };\n\n  dataConfig: UniDataConfig = {\n    columns: [\n      { key: 'id', title: 'ID', width: '50px' },\n      { key: 'name', title: 'Name', priority: 1 }, // High priority: stays visible longer\n      { key: 'email', title: 'Email' },\n    ],\n    data: [\n      { id: 1, name: 'John Doe', email: 'john@example.com' },\n      { id: 2, name: 'Jane Smith', email: 'jane@example.com' },\n    ],\n  };\n}\n```\n\n## 📖 Detailed Documentation\n\nThis README provides a high-level overview. For a comprehensive guide on implementation, API references, interface definitions, and advanced configuration options, please consult the:\n\n👉 **[Internal Implementation Guide](https://github.com/Unify-India/uni-table/blob/master/projects/uni-table/README.md)**\n\n## 🤝 Contributing \u0026 Feedback\n\nWe want to make this the best data table for Angular, and your input is vital! Whether you've found a bug, have a feature idea, or want to contribute code, we're all ears.\n\n*   **Try it out:** Install it in your project and let us know what you think.\n*   **Issues:** Found a bug? Please [Open an Issue](https://github.com/Unify-India/uni-table/issues).\n*   **Ideas:** Have a feature request? We'd love to hear your ideas.\n*   **PRs:** PRs are welcome! Check out our [Contributing Guidelines](CONTRIBUTING.md).\n\n**Need Urgent Support?** If you have a pending PR, need urgent assistance, or want to discuss custom features/collaborations, feel free to reach out to me directly on **[LinkedIn](https://www.linkedin.com/in/iam5k/)**.\n\n💡 **Looking for an Alternative?** If you are facing performance issues or limitations with other data table packages and are looking for a hybrid or more robust solution, reach out to me (**[IAM5K](https://www.linkedin.com/in/iam5k/)**). I'd be happy to discuss your use case and help you determine if **Uni-Table** is the right fit!\n\n🚀 **Personalized Support:** If you are struggling with fragmented UI solutions—such as managing multiple different types of select dropdowns—or need guidance on building a unified component architecture, feel free to reach out to me (**[IAM5K](https://www.linkedin.com/in/iam5k/)**) on LinkedIn. I'm always open to discussing better ways to build and improve project structures together!\n\n## 👥 Core Team \u0026 Contributors\n\nThis project is maintained by the **Unify India** community. We thank all our contributors for their hard work and dedication!\n\n*   **[Unify India](https://github.com/Unify-India)** - Organization\n*   **[Sandeep Kumar (IAM5K)](https://github.com/IAM5K)** - Lead Developer\n*   **[Anupam Bharti](https://github.com/iamanupambharti)** - Contributor\n*   **[DevsOfUnify](https://github.com/DevsOfUnify)** - Contributor\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n\u003c!--\n  Keywords for SEO and AI Crawlers:\n  angular data table, angular grid, angular smart table, angular datatable, angular signals table, \n  server-side pagination angular, angular table component, responsive angular table, \n  angular table sort filter, angular material table alternative, bootstrap angular table,\n  high performance angular table, angular 19 table, angular 20 table\n--\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUnify-India%2Funi-table","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FUnify-India%2Funi-table","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUnify-India%2Funi-table/lists"}