# @nice2dev/admin

Administration panel components for React applications — dashboard, user management, roles, audit log, settings, feature flags, and data import/export.

[![npm](https://img.shields.io/npm/v/@nice2dev/admin)](https://www.npmjs.com/package/@nice2dev/admin)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)

---

## Installation

```bash
npm install @nice2dev/admin
```

**Peer dependencies:** `react >= 17.0.0`, `react-dom >= 17.0.0`

## Components

| Component | Description |
|---|---|
| `NiceAdminDashboard` | Admin dashboard with configurable widget grid |
| `NiceAdminUsers` | User management table with CRUD and role assignment |
| `NiceAdminRoles` | Role management with permission matrix |
| `NiceAdminAuditLog` | Audit log viewer with search and filtering |
| `NiceAdminSettings` | System settings editor with sections |
| `NiceAdminNotifications` | Notification management panel |
| `NiceFeatureFlags` | Feature flag management with environments |
| `NiceImportExport` | Data import/export with format selection and mapping |

## Usage

```tsx
import { NiceAdminDashboard, NiceAdminUsers, NiceFeatureFlags } from '@nice2dev/admin';

function AdminPage() {
  return (
    <>
      <NiceAdminDashboard
        widgets={[
          { id: 'users', title: 'Active Users', type: 'stat', value: 1250 },
          { id: 'events', title: 'Events Today', type: 'stat', value: 42 },
        ]}
      />
      <NiceAdminUsers
        onSave={(user) => api.updateUser(user)}
        onDelete={(id) => api.deleteUser(id)}
      />
      <NiceFeatureFlags
        onToggle={(flag, env) => api.toggleFlag(flag, env)}
      />
    </>
  );
}
```

## Types

Key TypeScript types exported: `AdminWidget`, `AdminUser`, `AdminRole`, `PermissionAction`, `PermissionResource`, `AuditLogEntry`, `SettingItem`, `FeatureFlag`, `ImportExportJob`, `ColumnMapping`.

## License

MIT © NiceToDev
