{"_id":"@dvirco123/mini-mui-table","_rev":"1-179e440a0a20cf92c16986fd1201497c","name":"@dvirco123/mini-mui-table","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@dvirco123/mini-mui-table","version":"1.0.0","keywords":["react","table","mui","material-ui","typescript","sorting","filtering","pagination"],"author":"","license":"MIT","_id":"@dvirco123/mini-mui-table@1.0.0","maintainers":[{"name":"dvirco123","email":"dvirco123@gmail.com"}],"dist":{"shasum":"b01c359d1e30eca74cf84171fd449fc53159e15e","tarball":"https://registry.npmjs.org/@dvirco123/mini-mui-table/-/mini-mui-table-1.0.0.tgz","fileCount":8,"integrity":"sha512-yizHylaHQORXJWLrDw3YDkbTgA7d61FR9Z7RbmqSjA7CEhv9qJdqyhchXXYGOiLq9ax9GzBKzl93sHL54Yq2nA==","signatures":[{"sig":"MEUCICTryWzWzRVnSj+lUPYojbv2XAOmxtJ5rkglN4D5OoD3AiEAzqOAWOJdErNJMjgVYCOlWNnzUd1wkwpMyPd8A/dJPjg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86045},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"e48750c2c2b6c8426a22c52002e36536121f8544","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"dvirco123","email":"dvirco123@gmail.com"},"_npmVersion":"10.9.2","description":"A reusable Material UI-inspired table component with sorting, filtering, and pagination","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.0.0","tailwind-merge":"^2.1.0","@tabler/icons-react":"^3.30.0","class-variance-authority":"^0.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.1","typescript":"^5","@types/react":"^19","@types/react-dom":"^19"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/mini-mui-table_1.0.0_1741095587816_0.8356520172527568","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@dvirco123/mini-mui-table","version":"1.0.1","description":"A reusable Material UI-inspired table component with sorting, filtering, and pagination","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"tsup","prepublishOnly":"npm run build","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["react","table","mui","material-ui","typescript","sorting","filtering","pagination"],"author":"","license":"MIT","peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"dependencies":{"@tabler/icons-react":"^3.30.0","class-variance-authority":"^0.7.0","clsx":"^2.0.0","tailwind-merge":"^2.1.0"},"devDependencies":{"@types/react":"^19","@types/react-dom":"^19","tsup":"^8.0.1","typescript":"^5"},"_id":"@dvirco123/mini-mui-table@1.0.1","gitHead":"e48750c2c2b6c8426a22c52002e36536121f8544","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-yyVdEMsDNmEk5uNWCw7iGfyE1lVCjIn+1NrHLtcIznV+up2D3FT6HMU+S5SDpcfbD6c7oxsMBc/yg9ZI6gLwVg==","shasum":"b7bcd75803ccbadb5d5c70f7c1325eec05089222","tarball":"https://registry.npmjs.org/@dvirco123/mini-mui-table/-/mini-mui-table-1.0.1.tgz","fileCount":8,"unpackedSize":87083,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDGSmUMYI80bDUE9Oc19B1eyEQGsCPMzlod+Mxkd5SH3gIgK3rzLayUTmtgj765Y9BQ00pdv7c5WU/8r59gCiKnFWE="}]},"_npmUser":{"name":"dvirco123","email":"dvirco123@gmail.com"},"directories":{},"maintainers":[{"name":"dvirco123","email":"dvirco123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mini-mui-table_1.0.1_1741095886031_0.534281058818906"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-04T13:39:47.713Z","modified":"2025-03-04T13:44:46.364Z","1.0.0":"2025-03-04T13:39:48.048Z","1.0.1":"2025-03-04T13:44:46.208Z"},"license":"MIT","keywords":["react","table","mui","material-ui","typescript","sorting","filtering","pagination"],"description":"A reusable Material UI-inspired table component with sorting, filtering, and pagination","maintainers":[{"name":"dvirco123","email":"dvirco123@gmail.com"}],"readme":"# Mini MUI Table\n\nA reusable Material UI-inspired table component with sorting, filtering, and pagination.\n\n## Installation\n\n```bash\nnpm install @dvirco123/mini-mui-table\n```\n\n## Usage\n\n```jsx\nimport { Table } from \"@dvirco123/mini-mui-table\";\n\n// Example usage\nconst columns = [\n  { id: \"name\", label: \"Name\" },\n  { id: \"email\", label: \"Email\" },\n  { id: \"role\", label: \"Role\" },\n];\n\nconst data = [\n  { name: \"John Doe\", email: \"john@example.com\", role: \"Admin\" },\n  { name: \"Jane Smith\", email: \"jane@example.com\", role: \"User\" },\n];\n\nfunction MyComponent() {\n  return (\n    <Table\n      columns={columns}\n      data={data}\n      pagination={{\n        currentPage: 1,\n        pageSize: 10,\n        totalItems: data.length,\n        onPageChange: (page) => console.log(`Page changed to ${page}`),\n        onPageSizeChange: (size) => console.log(`Page size changed to ${size}`),\n      }}\n      onSort={(field, order) =>\n        console.log(`Sort by ${field} in ${order} order`)\n      }\n      onFilterChange={(field, value) =>\n        console.log(`Filter ${field} by ${value}`)\n      }\n    />\n  );\n}\n```\n\n## Features\n\n- 🔄 Sorting - Sort your data by any column\n- 🔍 Filtering - Filter your data with built-in or custom filters\n- 📄 Pagination - Navigate through large datasets with ease\n- 🎨 Customizable - Easily customize the appearance and behavior\n- 🌙 Dark Mode Support - Works seamlessly with light and dark themes\n- 📱 Responsive - Looks great on all devices\n\n## Tailwind CSS Setup\n\nThis component uses Tailwind CSS. If you're using Tailwind in your project, add the following to your tailwind.config.js:\n\n````js\nmodule.exports = {\n  content: [\n    // ...\n    \"./node_modules/@dvirco123/mini-mui-table/**/*.{js,ts,jsx,tsx}\",\n  ],\n  // ...\n};\n\n## API Reference\n\n### Table Props\n\n| Prop           | Type                                                     | Description                                            |\n| -------------- | -------------------------------------------------------- | ------------------------------------------------------ |\n| data           | `T[]`                                                    | Array of data to display in the table                  |\n| columns        | `Column<T>[]`                                            | Array of column definitions                            |\n| loading        | `boolean`                                                | Whether the table is in a loading state                |\n| pagination     | `PaginationOptions \\| null`                              | Pagination configuration or null to disable pagination |\n| sortField      | `string`                                                 | Current sort field                                     |\n| sortOrder      | `\"asc\" \\| \"desc\" \\| \"\"`                                  | Current sort order                                     |\n| onSort         | `(field: string, order?: \"asc\" \\| \"desc\" \\| \"\") => void` | Callback when sorting changes                          |\n| filters        | `Record<string, string>`                                 | Current filter values                                  |\n| onFilterChange | `(field: string, value: string) => void`                 | Callback when a filter changes                         |\n| bordered       | `boolean`                                                | Whether to show borders around the table               |\n| rowHeight      | `number \\| string`                                       | Height of table rows                                   |\n| slots          | `TableSlots`                                             | Custom components to render in place of default ones   |\n\n### Column Definition\n\n```typescript\ninterface Column<R = any> {\n  id: string;\n  label: string;\n  sortable?: boolean;\n  filterable?: boolean;\n  render?: (row: R) => React.ReactNode;\n  width?: string | number;\n  minWidth?: string | number;\n  maxWidth?: string | number;\n}\n````\n\n### Pagination Options\n\n```typescript\ninterface PaginationOptions {\n  currentPage?: number;\n  pageSize?: number;\n  totalItems?: number;\n  pageSizeOptions?: number[];\n  onPageChange?: (page: number) => void;\n  onPageSizeChange?: (size: number) => void;\n}\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}