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.
Files changed (90) hide show
  1. package/.cursor/rules.md +11 -1
  2. package/AUTH_LAYOUT_EXAMPLE.md +343 -0
  3. package/AUTH_LAYOUT_GUIDE.md +819 -0
  4. package/COLOR_SYSTEM_GUIDE.md +296 -0
  5. package/DASHBOARD_GUIDE.md +531 -0
  6. package/IMPLEMENTATION_GUIDE.md +899 -0
  7. package/README.md +18 -1
  8. package/dist/api/ApiConfig.d.ts +11 -0
  9. package/dist/api/AuthApi.d.ts +2 -5
  10. package/dist/api/CrudApi.d.ts +11 -12
  11. package/dist/components/DashboardContainer.d.ts +7 -0
  12. package/dist/components/DashboardGrid.d.ts +9 -0
  13. package/dist/components/DashboardItem.d.ts +10 -0
  14. package/dist/components/ThemeSwitcher.d.ts +7 -0
  15. package/dist/components/dashboard/Dashboard.d.ts +7 -0
  16. package/dist/components/dashboard/DashboardGrid.d.ts +7 -0
  17. package/dist/components/dashboard/DashboardItem.d.ts +6 -0
  18. package/dist/components/dashboard/index.d.ts +3 -0
  19. package/dist/decorators/auth/DefaultLoginForm.d.ts +4 -0
  20. package/dist/index.cjs.js +15 -1
  21. package/dist/index.d.ts +6 -0
  22. package/dist/index.esm.js +15 -1
  23. package/dist/store/themeStore.d.ts +23 -0
  24. package/dist/types/Login.d.ts +8 -0
  25. package/package.json +3 -1
  26. package/src/api/ApiConfig.ts +63 -0
  27. package/src/api/AuthApi.ts +8 -0
  28. package/src/api/CrudApi.ts +96 -60
  29. package/src/components/dashboard/Dashboard.tsx +11 -0
  30. package/src/components/dashboard/DashboardGrid.tsx +14 -0
  31. package/src/components/dashboard/DashboardItem.tsx +9 -0
  32. package/src/components/dashboard/index.ts +3 -0
  33. package/src/decorators/auth/DefaultLoginForm.ts +32 -0
  34. package/src/index.ts +26 -0
  35. package/src/styles/base/_variables.scss +45 -0
  36. package/src/styles/components/button.scss +3 -3
  37. package/src/styles/components/checkbox.scss +6 -6
  38. package/src/styles/components/form-header.scss +21 -19
  39. package/src/styles/components/uploader.scss +15 -37
  40. package/src/styles/counter.scss +25 -33
  41. package/src/styles/dashboard.scss +9 -0
  42. package/src/styles/details.scss +6 -15
  43. package/src/styles/error-boundary.scss +75 -74
  44. package/src/styles/filter-popup.scss +29 -27
  45. package/src/styles/form.scss +16 -15
  46. package/src/styles/index.scss +8 -4
  47. package/src/styles/layout.scss +9 -8
  48. package/src/styles/list.scss +29 -27
  49. package/src/styles/loading-screen.scss +4 -4
  50. package/src/styles/login.scss +3 -3
  51. package/src/styles/pagination.scss +13 -13
  52. package/src/styles/sidebar.scss +24 -22
  53. package/src/styles/utils/scrollbar.scss +4 -3
  54. package/src/types/Login.ts +9 -0
  55. package/src/utils/logout.ts +2 -0
  56. package/dist/components/components/Checkbox.d.ts +0 -7
  57. package/dist/components/components/Counter.d.ts +0 -9
  58. package/dist/components/components/ErrorBoundary.d.ts +0 -16
  59. package/dist/components/components/ErrorComponent.d.ts +0 -4
  60. package/dist/components/components/FormField.d.ts +0 -17
  61. package/dist/components/components/ImageUploader.d.ts +0 -15
  62. package/dist/components/components/InnerForm.d.ts +0 -17
  63. package/dist/components/components/Label.d.ts +0 -9
  64. package/dist/components/components/LoadingScreen.d.ts +0 -2
  65. package/dist/components/components/Uploader.d.ts +0 -8
  66. package/dist/components/components/index.d.ts +0 -8
  67. package/dist/components/components/list/Datagrid.d.ts +0 -9
  68. package/dist/components/components/list/EmptyList.d.ts +0 -2
  69. package/dist/components/components/list/FilterPopup.d.ts +0 -11
  70. package/dist/components/components/list/ListPage.d.ts +0 -20
  71. package/dist/components/components/list/Pagination.d.ts +0 -11
  72. package/dist/components/components/list/index.d.ts +0 -0
  73. package/dist/components/pages/ControllerDetails.d.ts +0 -5
  74. package/dist/components/pages/FormPage.d.ts +0 -18
  75. package/dist/components/pages/ListPage.d.ts +0 -18
  76. package/dist/components/pages/Login.d.ts +0 -13
  77. package/dist/decorators/Crud.d.ts +0 -6
  78. package/dist/decorators/form/FormOptions.d.ts +0 -7
  79. package/dist/decorators/form/getFormFields.d.ts +0 -3
  80. package/dist/decorators/list/GetCellFields.d.ts +0 -2
  81. package/dist/decorators/list/ImageCell.d.ts +0 -6
  82. package/dist/decorators/list/ListData.d.ts +0 -6
  83. package/dist/decorators/list/getListFields.d.ts +0 -2
  84. package/dist/initPanel.d.ts +0 -2
  85. package/dist/types/Screen.d.ts +0 -4
  86. package/dist/types/ScreenCreatorData.d.ts +0 -13
  87. package/dist/types/getDetailsData.d.ts +0 -1
  88. package/dist/types/initPanelOptions.d.ts +0 -2
  89. package/dist/utils/createScreens.d.ts +0 -1
  90. package/dist/utils/getFields.d.ts +0 -3
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- interface PaginationProps {
3
- pagination: {
4
- total: number;
5
- page: number;
6
- limit: number;
7
- };
8
- onPageChange: (page: number) => void;
9
- }
10
- export declare function Pagination({ pagination, onPageChange }: PaginationProps): React.JSX.Element | null;
11
- export {};
File without changes
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- import { Screen } from '../../types/Screen';
3
- export declare function ControllerDetails({ screen }: {
4
- screen: Screen;
5
- }): React.JSX.Element;
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import { AnyClass } from '../../types/AnyClass';
3
- import { InputOptions } from '../../decorators/form/Input';
4
- export type GetDetailsDataFN<T> = (param: Record<string, string>) => Promise<T>;
5
- export type OnSubmitFN<T> = (data: T) => Promise<T>;
6
- export interface FormPageProps<T extends AnyClass> {
7
- model: any;
8
- getDetailsData?: GetDetailsDataFN<T>;
9
- redirect?: string;
10
- onSubmit: OnSubmitFN<T>;
11
- onSelectPreloader?: (inputOptions: InputOptions) => Promise<{
12
- label: string;
13
- value: string;
14
- }[]>;
15
- redirectBackOnSuccess?: boolean;
16
- type?: 'json' | 'formData';
17
- }
18
- export declare function FormPage<T extends AnyClass>({ model, getDetailsData, onSubmit, redirect, onSelectPreloader, redirectBackOnSuccess, type, ...rest }: FormPageProps<T>): React.JSX.Element;
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import { AnyClass } from '../../types/AnyClass';
3
- export interface PaginationParams {
4
- page?: number;
5
- limit?: number;
6
- filters?: Record<string, any>;
7
- }
8
- export interface PaginatedResponse<T> {
9
- data: T[];
10
- total: number;
11
- page: number;
12
- limit: number;
13
- }
14
- export type GetDataForList<T> = (params: PaginationParams) => Promise<PaginatedResponse<T>>;
15
- export declare function ListPage<T extends AnyClass>({ model, getData, }: {
16
- model: T;
17
- getData: GetDataForList<T>;
18
- }): React.JSX.Element;
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- export type OnLogin = {
3
- login: (username: string, password: string) => Promise<LoginResponse>;
4
- };
5
- interface LoginResponse {
6
- user: any;
7
- token: string;
8
- }
9
- interface LoginProps {
10
- onLogin: OnLogin;
11
- }
12
- export declare function Login({ onLogin }: LoginProps): React.JSX.Element;
13
- export {};
@@ -1,6 +0,0 @@
1
- import 'reflect-metadata';
2
- export interface CrudOptions {
3
- controller: string;
4
- }
5
- export declare function Crud(options?: CrudOptions): ClassDecorator;
6
- export declare function getClassCrudData(entityClass: any): CrudOptions | undefined;
@@ -1,7 +0,0 @@
1
- import { FormConfiguration } from "./Form";
2
- import { InputOptions } from "./Input";
3
- export interface FormOptions {
4
- resolver: any;
5
- form?: FormConfiguration;
6
- inputs?: InputOptions[];
7
- }
@@ -1,3 +0,0 @@
1
- import { AnyClass } from "../../types/AnyClass";
2
- import { FormOptions } from "./FormOptions";
3
- export declare function getFormFields<T extends AnyClass>(entityClass: T): FormOptions;
@@ -1,2 +0,0 @@
1
- import { CellOptions } from "./Cell";
2
- export declare function getCellFields(entityClass: any): CellOptions[];
@@ -1,6 +0,0 @@
1
- import "reflect-metadata";
2
- import { CellOptions } from "./Cell";
3
- export interface ImageCellOptions extends CellOptions {
4
- baseUrl: string;
5
- }
6
- export declare function ImageCell(options?: ImageCellOptions): PropertyDecorator;
@@ -1,6 +0,0 @@
1
- import { ListOptions } from './List';
2
- import { CellOptions } from './Cell';
3
- export interface ListData<T> {
4
- list?: ListOptions<T>;
5
- cells: CellOptions[];
6
- }
@@ -1,2 +0,0 @@
1
- import { ListData } from './ListData';
2
- export declare function getListFields<T>(entityClass: T): ListData<T>;
@@ -1,2 +0,0 @@
1
- import { InitPanelOptions } from './types/initPanelOptions';
2
- export declare function initPanel({}: InitPanelOptions): void;
@@ -1,4 +0,0 @@
1
- export interface Screen {
2
- key: string;
3
- controller: string;
4
- }
@@ -1,13 +0,0 @@
1
- import { CellOptions } from '../decorators/list/Cell';
2
- import { CrudOptions } from '../decorators/Crud';
3
- import { InputOptions } from '../decorators/form/Input';
4
- import { ListOptions } from '../decorators/list/List';
5
- export interface ScreenCreatorData {
6
- resolver: any;
7
- fields: string[];
8
- inputs: InputOptions[];
9
- crud?: CrudOptions;
10
- path: string;
11
- list?: ListOptions<any>;
12
- cells: CellOptions[];
13
- }
@@ -1 +0,0 @@
1
- export type GetDetailsDataFN<T> = (param: Record<string, string>) => Promise<T>;
@@ -1,2 +0,0 @@
1
- export interface InitPanelOptions {
2
- }
@@ -1 +0,0 @@
1
- export declare function createScreens(screens: Record<string, any>): void;
@@ -1,3 +0,0 @@
1
- import { ScreenCreatorData } from "../types/ScreenCreatorData";
2
- import { AnyClass } from "../types/AnyClass";
3
- export declare function getFields<T extends AnyClass>(key: string, entityClass: T): ScreenCreatorData;