proje-react-panel 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursor/rules.md +11 -1
- package/AUTH_LAYOUT_EXAMPLE.md +343 -0
- package/AUTH_LAYOUT_GUIDE.md +819 -0
- package/COLOR_SYSTEM_GUIDE.md +296 -0
- package/DASHBOARD_GUIDE.md +531 -0
- package/IMPLEMENTATION_GUIDE.md +899 -0
- package/README.md +18 -1
- package/dist/api/ApiConfig.d.ts +11 -0
- package/dist/api/AuthApi.d.ts +2 -5
- package/dist/api/CrudApi.d.ts +11 -12
- package/dist/components/DashboardContainer.d.ts +7 -0
- package/dist/components/DashboardGrid.d.ts +9 -0
- package/dist/components/DashboardItem.d.ts +10 -0
- package/dist/components/ThemeSwitcher.d.ts +7 -0
- package/dist/components/dashboard/Dashboard.d.ts +7 -0
- package/dist/components/dashboard/DashboardGrid.d.ts +7 -0
- package/dist/components/dashboard/DashboardItem.d.ts +6 -0
- package/dist/components/dashboard/index.d.ts +3 -0
- package/dist/decorators/auth/DefaultLoginForm.d.ts +4 -0
- package/dist/index.cjs.js +15 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.esm.js +15 -1
- package/dist/store/themeStore.d.ts +23 -0
- package/dist/types/Login.d.ts +8 -0
- package/package.json +3 -1
- package/src/api/ApiConfig.ts +63 -0
- package/src/api/AuthApi.ts +8 -0
- package/src/api/CrudApi.ts +96 -60
- package/src/components/dashboard/Dashboard.tsx +11 -0
- package/src/components/dashboard/DashboardGrid.tsx +14 -0
- package/src/components/dashboard/DashboardItem.tsx +9 -0
- package/src/components/dashboard/index.ts +3 -0
- package/src/decorators/auth/DefaultLoginForm.ts +32 -0
- package/src/index.ts +26 -0
- package/src/styles/base/_variables.scss +45 -0
- package/src/styles/components/button.scss +3 -3
- package/src/styles/components/checkbox.scss +6 -6
- package/src/styles/components/form-header.scss +21 -19
- package/src/styles/components/uploader.scss +15 -37
- package/src/styles/counter.scss +25 -33
- package/src/styles/dashboard.scss +9 -0
- package/src/styles/details.scss +6 -15
- package/src/styles/error-boundary.scss +75 -74
- package/src/styles/filter-popup.scss +29 -27
- package/src/styles/form.scss +16 -15
- package/src/styles/index.scss +8 -4
- package/src/styles/layout.scss +9 -8
- package/src/styles/list.scss +29 -27
- package/src/styles/loading-screen.scss +4 -4
- package/src/styles/login.scss +3 -3
- package/src/styles/pagination.scss +13 -13
- package/src/styles/sidebar.scss +24 -22
- package/src/styles/utils/scrollbar.scss +4 -3
- package/src/types/Login.ts +9 -0
- package/src/utils/logout.ts +2 -0
- package/dist/components/components/Checkbox.d.ts +0 -7
- package/dist/components/components/Counter.d.ts +0 -9
- package/dist/components/components/ErrorBoundary.d.ts +0 -16
- package/dist/components/components/ErrorComponent.d.ts +0 -4
- package/dist/components/components/FormField.d.ts +0 -17
- package/dist/components/components/ImageUploader.d.ts +0 -15
- package/dist/components/components/InnerForm.d.ts +0 -17
- package/dist/components/components/Label.d.ts +0 -9
- package/dist/components/components/LoadingScreen.d.ts +0 -2
- package/dist/components/components/Uploader.d.ts +0 -8
- package/dist/components/components/index.d.ts +0 -8
- package/dist/components/components/list/Datagrid.d.ts +0 -9
- package/dist/components/components/list/EmptyList.d.ts +0 -2
- package/dist/components/components/list/FilterPopup.d.ts +0 -11
- package/dist/components/components/list/ListPage.d.ts +0 -20
- package/dist/components/components/list/Pagination.d.ts +0 -11
- package/dist/components/components/list/index.d.ts +0 -0
- package/dist/components/pages/ControllerDetails.d.ts +0 -5
- package/dist/components/pages/FormPage.d.ts +0 -18
- package/dist/components/pages/ListPage.d.ts +0 -18
- package/dist/components/pages/Login.d.ts +0 -13
- package/dist/decorators/Crud.d.ts +0 -6
- package/dist/decorators/form/FormOptions.d.ts +0 -7
- package/dist/decorators/form/getFormFields.d.ts +0 -3
- package/dist/decorators/list/GetCellFields.d.ts +0 -2
- package/dist/decorators/list/ImageCell.d.ts +0 -6
- package/dist/decorators/list/ListData.d.ts +0 -6
- package/dist/decorators/list/getListFields.d.ts +0 -2
- package/dist/initPanel.d.ts +0 -2
- package/dist/types/Screen.d.ts +0 -4
- package/dist/types/ScreenCreatorData.d.ts +0 -13
- package/dist/types/getDetailsData.d.ts +0 -1
- package/dist/types/initPanelOptions.d.ts +0 -2
- package/dist/utils/createScreens.d.ts +0 -1
- package/dist/utils/getFields.d.ts +0 -3
package/README.md
CHANGED
|
@@ -10,17 +10,21 @@ A powerful and flexible React-based panel library for building administrative in
|
|
|
10
10
|
- **Layout System**: Consistent layout management
|
|
11
11
|
- **Panel Component**: Core panel functionality
|
|
12
12
|
- **Counter Component**: Utility component for counting operations
|
|
13
|
+
- **Dashboard Components**: Flexible grid-based dashboard layout system
|
|
14
|
+
- **Color System**: Centralized color system with SCSS variables and CSS custom properties
|
|
13
15
|
|
|
14
16
|
## Decorators
|
|
15
17
|
|
|
16
18
|
The library provides several decorators for enhanced functionality:
|
|
17
19
|
|
|
18
20
|
### List Decorators
|
|
21
|
+
|
|
19
22
|
- `@List`: Main list decorator for creating list views
|
|
20
23
|
- `@ImageCell`: Specialized cell for handling images in lists
|
|
21
24
|
- `@Cell`: Base cell decorator for list items
|
|
22
25
|
|
|
23
26
|
### Form Decorators
|
|
27
|
+
|
|
24
28
|
- `@Input`: Form input decorator
|
|
25
29
|
- `@Crud`: CRUD operations decorator
|
|
26
30
|
|
|
@@ -35,7 +39,7 @@ yarn add proje-react-panel
|
|
|
35
39
|
## Usage
|
|
36
40
|
|
|
37
41
|
```typescript
|
|
38
|
-
import { Panel, ListPage, FormPage, Login, Layout } from 'proje-react-panel';
|
|
42
|
+
import { Panel, ListPage, FormPage, Login, Layout, DashboardGrid, DashboardItem } from 'proje-react-panel';
|
|
39
43
|
|
|
40
44
|
// Initialize the panel
|
|
41
45
|
const panel = new Panel({
|
|
@@ -48,8 +52,21 @@ const panel = new Panel({
|
|
|
48
52
|
<FormPage />
|
|
49
53
|
<Login />
|
|
50
54
|
</Layout>
|
|
55
|
+
|
|
56
|
+
// Dashboard example
|
|
57
|
+
<DashboardGrid columns={3}>
|
|
58
|
+
<DashboardItem>Content 1</DashboardItem>
|
|
59
|
+
<DashboardItem>Content 2</DashboardItem>
|
|
60
|
+
<DashboardItem>Content 3</DashboardItem>
|
|
61
|
+
</DashboardGrid>
|
|
51
62
|
```
|
|
52
63
|
|
|
64
|
+
## Guides
|
|
65
|
+
|
|
66
|
+
- **[Dashboard Guide](./DASHBOARD_GUIDE.md)** - Complete guide for using Dashboard components
|
|
67
|
+
- **[Auth Layout Guide](./AUTH_LAYOUT_GUIDE.md)** - Guide for implementing authentication layouts with sidebar
|
|
68
|
+
- **[Color System Guide](./COLOR_SYSTEM_GUIDE.md)** - Complete documentation of the color system, SCSS variables, and CSS custom properties
|
|
69
|
+
|
|
53
70
|
## Type Definitions
|
|
54
71
|
|
|
55
72
|
The library includes TypeScript definitions for better development experience:
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
declare let axiosInstance: AxiosInstance;
|
|
3
|
+
export interface ApiConfig {
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function initApi(config: ApiConfig): void;
|
|
7
|
+
export declare function initAuthToken(): void;
|
|
8
|
+
export declare function setAuthToken(token: string): void;
|
|
9
|
+
export declare function setAuthLogout(): void;
|
|
10
|
+
export declare function getAxiosInstance(): AxiosInstance;
|
|
11
|
+
export { axiosInstance };
|
package/dist/api/AuthApi.d.ts
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
baseUrl: string;
|
|
4
|
-
}, username: string, password: string) => Promise<any>;
|
|
5
|
-
};
|
|
1
|
+
import { LoginForm, LoginResponse } from '../types/Login';
|
|
2
|
+
export declare function login<T>(data: LoginForm | FormData): Promise<LoginResponse<T>>;
|
package/dist/api/CrudApi.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export declare
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export {};
|
|
1
|
+
import { GetDataForList } from '../decorators/list/List';
|
|
2
|
+
import { OnSubmitFN } from '../decorators/form/Form';
|
|
3
|
+
import { GetDetailsDataFN } from '../decorators/details/Details';
|
|
4
|
+
export declare function getAll<T>(endpoint: string): GetDataForList<T>;
|
|
5
|
+
export declare function getOne<T>(endpoint: string, key?: string): GetDetailsDataFN<T>;
|
|
6
|
+
export declare function create<T>(endpoint: string): OnSubmitFN<T>;
|
|
7
|
+
export declare function createFormData<T>(endpoint: string): OnSubmitFN<T>;
|
|
8
|
+
export declare function update<T>(endpoint: string, key?: string): OnSubmitFN<T>;
|
|
9
|
+
export declare function updateFormData<T>(endpoint: string, key?: string): OnSubmitFN<T>;
|
|
10
|
+
export declare function updateSimple<T>(endpoint: string): OnSubmitFN<T>;
|
|
11
|
+
export declare function remove<T>(endpoint: string, key?: string): (data: T) => Promise<void>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DashboardGridProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
columns?: number;
|
|
5
|
+
gap?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function DashboardGrid({ children, columns, gap, className, }: DashboardGridProps): React.JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DashboardItemProps {
|
|
3
|
+
targetNumber: number;
|
|
4
|
+
duration?: number;
|
|
5
|
+
image: React.ReactNode;
|
|
6
|
+
text: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function DashboardItem({ targetNumber, duration, image, text, className, }: DashboardItemProps): React.JSX.Element;
|
|
10
|
+
export {};
|