{"_id":"@bunnabyte/erp-report-engine","_rev":"3-c7bf484b138691fc10f9f1cb1ee985c7","name":"@bunnabyte/erp-report-engine","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@bunnabyte/erp-report-engine","version":"1.0.0","author":{"name":"sammi-xyz"},"license":"MIT","_id":"@bunnabyte/erp-report-engine@1.0.0","maintainers":[{"name":"bunnabyte","email":"samson.nardy@gmail.com"}],"dist":{"shasum":"14612882320a242fef8177c6b0bba0b63dd237a6","tarball":"https://registry.npmjs.org/@bunnabyte/erp-report-engine/-/erp-report-engine-1.0.0.tgz","fileCount":8,"integrity":"sha512-LWOm7rCxvXTUSoIBwBDq2X4fJmijLwZPw1WDA6pwjL2w20QILZYY2AzVxuKpghqggEr27gJEKVurQhS2dMwjbQ==","signatures":[{"sig":"MEYCIQD+/sNQuTE5mJJ0BN2deKGOw0QU7xCMjWnOZGmiaYMvrgIhAMIus+olBU30WpVAu7Eag5JPfdUtUiuY+CNk8T0WmhSS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111346},"main":"dist/erp-report-engine.umd.js","type":"module","style":"dist/style.css","types":"dist/index.d.ts","module":"dist/erp-report-engine.es.js","exports":{".":{"import":"./dist/erp-report-engine.es.js","require":"./dist/erp-report-engine.umd.js"}},"gitHead":"308a701aa54736d7f9a1599a7e9747a277d138f6","scripts":{"build":"vite build"},"_npmUser":{"name":"bunnabyte","email":"samson.nardy@gmail.com"},"_npmVersion":"11.16.0","description":"Config-driven ERP reporting engine with grid, pivot, filters, and exports","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","postcss":"^8.5.15","tailwindcss":"^4.3.0","autoprefixer":"^10.5.0","semantic-release":"^25.0.3","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.0.0","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"peerDependencies":{"react":"^18 || ^19","react-dom":"^18 || ^19","lucide-react":"^0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/erp-report-engine_1.0.0_1780393506023_0.5868776550034722","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bunnabyte/erp-report-engine","version":"1.1.0","author":{"name":"sammi-xyz"},"license":"MIT","_id":"@bunnabyte/erp-report-engine@1.1.0","maintainers":[{"name":"bunnabyte","email":"samson.nardy@gmail.com"}],"dist":{"shasum":"0ad899b1c5e8fe2eda27df92ae487d40ff5419f7","tarball":"https://registry.npmjs.org/@bunnabyte/erp-report-engine/-/erp-report-engine-1.1.0.tgz","fileCount":8,"integrity":"sha512-P6+xPJ83iwjLvdG090GhdqxpBx7WabWfTWLDLl9dJEeqt4oWuWCwHkGfRzR9AbYHmfAK4C8+r+VGfcU/cyGhWA==","signatures":[{"sig":"MEQCIB6ojXJCPZ2cjHcbTQG++eZH5AIQFTOtNY0dkThZGP8tAiAlYHSU/br0AwK+Llqj6x0WoQdf11dt4Ee68rsml8kxgw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112061},"main":"dist/erp-report-engine.umd.js","type":"module","style":"dist/style.css","types":"dist/index.d.ts","module":"dist/erp-report-engine.es.js","exports":{".":{"import":"./dist/erp-report-engine.es.js","require":"./dist/erp-report-engine.umd.js"}},"gitHead":"2e9a9f25b517ead65db5b57f469440abc20602df","scripts":{"build":"vite build"},"_npmUser":{"name":"bunnabyte","email":"samson.nardy@gmail.com"},"_npmVersion":"11.16.0","description":"Config-driven ERP reporting engine with grid, pivot, filters, and exports","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","postcss":"^8.5.15","tailwindcss":"^4.3.0","autoprefixer":"^10.5.0","semantic-release":"^25.0.3","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.0.0","@semantic-release/npm":"^13.1.5","@semantic-release/github":"^12.0.8","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/release-notes-generator":"^14.1.1"},"peerDependencies":{"react":"^18 || ^19","react-dom":"^18 || ^19","lucide-react":"^0.400.0"},"_npmOperationalInternal":{"tmp":"tmp/erp-report-engine_1.1.0_1780394403261_0.3087375798677867","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bunnabyte/erp-report-engine","version":"1.2.0","description":"Config-driven ERP reporting engine with grid, pivot, filters, and exports","author":{"name":"sammi-xyz"},"license":"MIT","type":"module","main":"dist/erp-report-engine.umd.js","module":"dist/erp-report-engine.es.js","types":"dist/index.d.ts","style":"dist/style.css","publishConfig":{"access":"public"},"sideEffects":false,"exports":{".":{"import":"./dist/erp-report-engine.es.js","require":"./dist/erp-report-engine.umd.js"}},"peerDependencies":{"lucide-react":"^0.400.0","react":"^18 || ^19","react-dom":"^18 || ^19"},"devDependencies":{"@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^13.0.1","@semantic-release/github":"^12.0.8","@semantic-release/npm":"^13.1.5","@semantic-release/release-notes-generator":"^14.1.1","@tailwindcss/vite":"^4.3.0","@vitejs/plugin-react":"^4.0.0","autoprefixer":"^10.5.0","postcss":"^8.5.15","semantic-release":"^25.0.3","tailwindcss":"^4.3.0","vite":"^5.0.0"},"scripts":{"build":"vite build"},"gitHead":"39285feaf2cc25d83f654317fc20403c4574c9f7","_id":"@bunnabyte/erp-report-engine@1.2.0","_nodeVersion":"22.14.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-BMlYF2/M+Xg1Dud3n6ggZ36psVxOfGYhBiUHGYeUAQqRw7nc661J2JuV3wLNCAlYe5FYUXXypURNMheUjg8QWQ==","shasum":"0b156a6c088c6fcd130666fa3e9cfd94d5ba19f9","tarball":"https://registry.npmjs.org/@bunnabyte/erp-report-engine/-/erp-report-engine-1.2.0.tgz","fileCount":8,"unpackedSize":115021,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC2Wd+t3oVShx4ex91iCPeFjbS8u9g8ZVOBJYqpdwQDDgIgHYaXsSezxInaOsWtEIjwiHd4Xffg8NJ4O1ZRmjpEdDE="}]},"_npmUser":{"name":"bunnabyte","email":"samson.nardy@gmail.com"},"directories":{},"maintainers":[{"name":"bunnabyte","email":"samson.nardy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/erp-report-engine_1.2.0_1780411253131_0.02622764955857937"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-02T09:45:05.865Z","modified":"2026-06-02T14:40:53.390Z","1.0.0":"2026-06-02T09:45:06.160Z","1.1.0":"2026-06-02T10:00:03.401Z","1.2.0":"2026-06-02T14:40:53.295Z"},"author":{"name":"sammi-xyz"},"license":"MIT","description":"Config-driven ERP reporting engine with grid, pivot, filters, and exports","maintainers":[{"name":"bunnabyte","email":"samson.nardy@gmail.com"}],"readme":"# ERP Report Engine\n\nA **config-driven enterprise reporting engine** for building dynamic, scalable, and extensible reporting interfaces with support for grids, grouping, pivot views, filtering, and export capabilities.\n\nDesigned for **modern ERP systems** where flexibility, performance, and clean UI are critical.\n\n---\n\n## ✨ Features\n\n* 📊 Dynamic Grid Reports\n* 🧩 Config-Driven Architecture\n* 🔁 Pivot Table Support\n* 🔎 Filtering & Search\n* 📦 Grouping & Aggregations\n* 📤 Export (Excel, CSV, PDF)\n* ⚙️ Fully Config-Driven\n* ⚛️ React-Based\n* 🎨 TailwindCSS Powered UI\n* 🧩 Modular ERP-Friendly Design\n\n---\n\n## 📦 Installation\n\n### 1. Install the package\n\n```bash\nnpm install @bunnabyte/erp-report-engine\n```\n\n---\n\n### 2. Install required dependencies\n\n```bash\nnpm install react@^18 react-dom@^18\nnpm install lucide-react@^0.400\nnpm install tailwindcss@^4\n```\n\n---\n\n## 🎨 Tailwind Setup (IMPORTANT)\n\n### In your main CSS file (e.g. `index.css`):\n\n```css\n@import \"tailwindcss\";\n@import \"../node_modules/@bunnabyte/erp-report-engine/dist/style.css\";\n```\n\n> ✅ This is required for proper styling of the report engine\n\n---\n\n## 🚀 Usage\n\n### 1. Import\n\n```tsx\nimport { ReportEngine } from \"@bunnabyte/erp-report-engine\";\n```\n\n---\n\n### 2. Define a Report\n\n```tsx\nexport const auditData = [\n  { action: \"Login\", user: \"Admin\", status: \"Success\", time: \"10:00 AM\", module: \"Auth\" },\n  { action: \"Update\", user: \"Jane\", status: \"Success\", time: \"10:15 AM\", module: \"Settings\" },\n  { action: \"Delete\", user: \"Admin\", status: \"Failed\", time: \"11:00 AM\", module: \"User\" },\n];\n\nexport const auditReport = {\n  id: \"audit\",\n  name: \"Audit Report\",\n  icon: \"Shield\",\n\n  config: {\n    data: auditData,\n    view: \"grid\",\n\n    header: {\n      title: \"Audit Logs\",\n      icon: \"Shield\",\n      subtitle: \"System security activity\"\n    },\n\n    columns: [\n      { key: \"action\", label: \"Action\" },\n      { key: \"user\", label: \"User\" },\n      { key: \"status\", label: \"Status\", type: \"status\" },\n      { key: \"time\", label: \"Time\" },\n      { key: \"module\", label: \"Module\" },\n    ],\n\n    groupBy: [\"module\"],\n    footer: \"Security Restricted\",\n  },\n};\n```\n\n---\n\n### 3. Render the Report\n\n```tsx\nimport { ReportEngine } from \"@bunnabyte/erp-report-engine\";\nimport { auditReport } from \"./reports/auditReport\";\n\nexport default function App() {\n  return (\n    <div className=\"p-4\">\n      <ReportEngine config={auditReport.config} />\n    </div>\n  );\n}\n```\n\n---\n\n\n## 📊 Sample Reports Included\n\n* Sales Report\n* User Report\n* Inventory Report\n* Finance Report\n* HR Report\n* Audit Report\n* Transport Report\n* Procurement Report\n* Production Report\n* System Logs\n\n---\n\n## 🧠 Configuration Overview\n\n| Feature   | Description           |\n| --------- | --------------------- |\n| `data`    | Array of records      |\n| `columns` | Column definitions    |\n| `view`    | grid / pivot          |\n| `groupBy` | Grouping fields       |\n| `header`  | Title, icon, subtitle |\n| `footer`  | Footer text           |\n| `filters` | Enable filtering      |\n| `export`  | Export options        |\n\n---\n\n## ⚙️ Configuration API\n\n```ts\n{\n  data: any[],\n  view?: \"grid\" | \"pivot\",\n\n  header?: {\n    title: string,\n    icon?: string,\n    subtitle?: string,\n    badge?: string\n  },\n\n  columns: [\n    {\n      key: string,\n      label: string,\n      type?: \"text\" | \"number\" | \"currency\" | \"badge\" | \"status\",\n      sortable?: boolean,\n      align?: \"left\" | \"right\" | \"center\",\n      badgeColors?: Record<string, string>\n    }\n  ],\n\n  filters?: [\n    {\n      key: string,\n      label: string,\n      type: \"select\" | \"date\" | \"text\",\n      options?: { label: string, value: any }[]\n    }\n  ],\n\n  sort?: {\n    field: string,\n    direction: \"asc\" | \"desc\"\n  },\n\n  groupBy?: string[],\n\n  aggregations?: {\n    [key: string]: \"sum\" | \"count\" | \"avg\"\n  },\n\n  pivot?: {\n    rows: string[],\n    columns: string[],\n    values: string[]\n  },\n\n  footer?: string,\n  exportFileName?: string\n}\n```\n\n---\n\n## 📊 Built-in Column Types\n\n* `text`\n* `number`\n* `currency`\n* `badge`\n* `status`\n\n---\n\n## 🧩 Example Capabilities\n\n### Grouping\n\n```js\ngroupBy: [\"module\"]\n```\n\n---\n\n### Sorting\n\n```js\nsort: { field: \"revenue\", direction: \"desc\" }\n```\n\n---\n\n### Aggregation\n\n```js\naggregations: { revenue: \"sum\", deals: \"count\" }\n```\n\n---\n\n### Pivot Mode\n\n```js\nview: \"pivot\",\npivot: {\n  rows: [\"dept\"],\n  columns: [\"quarter\"],\n  values: [\"revenue\"]\n}\n```\n\n---\n\n## 🛠 Development\n\n```bash\ngit clone https://github.com/your-repo/erp-report-engine.git\ncd erp-report-engine\n\nnpm install\nnpm run build\n```\n\n---\n\n## 📈 Roadmap\n\n* Server-side processing\n* Role-based access control\n* Plugin system\n* Charts integration\n* Advanced pivot engine\n* Theming system\n\n---\n\n## 📄 License\n\nMIT\n\n\n\n\n","readmeFilename":"README.md"}