ui-admin-lib 1.0.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/README.md +477 -0
- package/dist/components/AdminPanel/AdminPanel.d.ts +27 -0
- package/dist/components/AdminPanel/AdminPanel.d.ts.map +1 -0
- package/dist/components/Badge/Badge.d.ts +10 -0
- package/dist/components/Badge/Badge.d.ts.map +1 -0
- package/dist/components/CRUD/CrudForm.d.ts +26 -0
- package/dist/components/CRUD/CrudForm.d.ts.map +1 -0
- package/dist/components/CRUD/CrudList.d.ts +18 -0
- package/dist/components/CRUD/CrudList.d.ts.map +1 -0
- package/dist/components/Card/Card.d.ts +11 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Form/Button.d.ts +10 -0
- package/dist/components/Form/Button.d.ts.map +1 -0
- package/dist/components/Form/Checkbox.d.ts +7 -0
- package/dist/components/Form/Checkbox.d.ts.map +1 -0
- package/dist/components/Form/Input.d.ts +9 -0
- package/dist/components/Form/Input.d.ts.map +1 -0
- package/dist/components/Form/Label.d.ts +8 -0
- package/dist/components/Form/Label.d.ts.map +1 -0
- package/dist/components/Form/LoginForm.d.ts +10 -0
- package/dist/components/Form/LoginForm.d.ts.map +1 -0
- package/dist/components/Form/Radio.d.ts +7 -0
- package/dist/components/Form/Radio.d.ts.map +1 -0
- package/dist/components/Form/Select.d.ts +16 -0
- package/dist/components/Form/Select.d.ts.map +1 -0
- package/dist/components/Form/Textarea.d.ts +9 -0
- package/dist/components/Form/Textarea.d.ts.map +1 -0
- package/dist/components/Layout/Content.d.ts +8 -0
- package/dist/components/Layout/Content.d.ts.map +1 -0
- package/dist/components/Layout/Header.d.ts +9 -0
- package/dist/components/Layout/Header.d.ts.map +1 -0
- package/dist/components/Layout/PageLayout.d.ts +10 -0
- package/dist/components/Layout/PageLayout.d.ts.map +1 -0
- package/dist/components/Layout/Sidebar.d.ts +9 -0
- package/dist/components/Layout/Sidebar.d.ts.map +1 -0
- package/dist/components/Loading/Loading.d.ts +9 -0
- package/dist/components/Loading/Loading.d.ts.map +1 -0
- package/dist/components/Modal/Modal.d.ts +13 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Navigation/Breadcrumbs.d.ts +14 -0
- package/dist/components/Navigation/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/Navigation/Menu.d.ts +16 -0
- package/dist/components/Navigation/Menu.d.ts.map +1 -0
- package/dist/components/Navigation/Tabs.d.ts +17 -0
- package/dist/components/Navigation/Tabs.d.ts.map +1 -0
- package/dist/components/Table/DataTable.d.ts +20 -0
- package/dist/components/Table/DataTable.d.ts.map +1 -0
- package/dist/components/Toast/Toast.d.ts +19 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -0
- package/dist/index.cjs.js +30 -0
- package/dist/index.d.ts +51 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +1459 -0
- package/dist/styles.css +1 -0
- package/dist/utils/crud.d.ts +28 -0
- package/dist/utils/crud.d.ts.map +1 -0
- package/package.json +64 -0
package/dist/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.admin-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:400;line-height:1.5715;white-space:nowrap;text-align:center;cursor:pointer;border:1px solid var(--admin-border-color);border-radius:var(--admin-border-radius);background:var(--admin-bg-light);transition:all .3s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.admin-button:disabled{cursor:not-allowed;opacity:.6}.admin-button-primary{color:#fff;background:var(--admin-primary);border-color:var(--admin-primary)}.admin-button-primary:hover:not(:disabled){background:var(--admin-primary-hover);border-color:var(--admin-primary-hover)}.admin-button-primary:active:not(:disabled){background:var(--admin-primary-active);border-color:var(--admin-primary-active)}.admin-button-success{color:#fff;background:var(--admin-success);border-color:var(--admin-success)}.admin-button-danger{color:#fff;background:var(--admin-error);border-color:var(--admin-error)}.admin-button-ghost{background:transparent;border-color:var(--admin-border-color)}.admin-input{width:100%;padding:8px 12px;font-size:14px;line-height:1.5715;color:var(--admin-text-primary);background-color:var(--admin-bg-light);border:1px solid var(--admin-border-color);border-radius:var(--admin-border-radius);transition:all .3s}.admin-input:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 2px #1890ff33}.admin-input:disabled{cursor:not-allowed;opacity:.6;background-color:var(--admin-bg)}.admin-input-error{border-color:var(--admin-error)}.admin-input-error:focus{border-color:var(--admin-error);box-shadow:0 0 0 2px #ff4d4f33}.admin-select{width:100%;padding:8px 12px;font-size:14px;line-height:1.5715;color:var(--admin-text-primary);background-color:var(--admin-bg-light);border:1px solid var(--admin-border-color);border-radius:var(--admin-border-radius);cursor:pointer;transition:all .3s}.admin-select:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 2px #1890ff33}.admin-select:disabled{cursor:not-allowed;opacity:.6;background-color:var(--admin-bg)}.admin-textarea{width:100%;padding:8px 12px;font-size:14px;line-height:1.5715;color:var(--admin-text-primary);background-color:var(--admin-bg-light);border:1px solid var(--admin-border-color);border-radius:var(--admin-border-radius);transition:all .3s;resize:vertical;font-family:inherit}.admin-textarea:focus{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 2px #1890ff33}.admin-textarea:disabled{cursor:not-allowed;opacity:.6;background-color:var(--admin-bg)}.admin-checkbox{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-checkbox-input{position:absolute;opacity:0;width:0;height:0}.admin-checkbox-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--admin-border-color);border-radius:var(--admin-border-radius);background:var(--admin-bg-light);transition:all .3s}.admin-checkbox-input:checked+.admin-checkbox-box{background:var(--admin-primary);border-color:var(--admin-primary)}.admin-checkbox-input:checked+.admin-checkbox-box:after{content:"✓";color:#fff;font-size:12px;line-height:1}.admin-checkbox-label{margin-left:8px;font-size:14px;color:var(--admin-text-primary)}.admin-radio{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.admin-radio-input{position:absolute;opacity:0;width:0;height:0}.admin-radio-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--admin-border-color);border-radius:50%;background:var(--admin-bg-light);transition:all .3s}.admin-radio-input:checked+.admin-radio-box{border-color:var(--admin-primary)}.admin-radio-input:checked+.admin-radio-box:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--admin-primary)}.admin-radio-label{margin-left:8px;font-size:14px;color:var(--admin-text-primary)}.admin-card{background:var(--admin-bg-light);border-radius:var(--admin-border-radius);box-shadow:var(--admin-box-shadow);padding:24px}.admin-card-header{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--admin-border-color)}.admin-card-title{margin:0;font-size:16px;font-weight:500;color:var(--admin-text-primary)}.admin-card-body{color:var(--admin-text-primary)}.admin-card-footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--admin-border-color)}.admin-table{width:100%;border-collapse:collapse;background:var(--admin-bg-light)}.admin-table thead{background:var(--admin-bg)}.admin-table th{padding:12px 16px;text-align:left;font-weight:500;font-size:14px;color:var(--admin-text-primary);border-bottom:1px solid var(--admin-border-color)}.admin-table td{padding:12px 16px;font-size:14px;color:var(--admin-text-primary);border-bottom:1px solid var(--admin-border-color)}.admin-table tbody tr:hover{background:var(--admin-bg-hover)}.admin-table tbody tr:last-child td{border-bottom:none}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-modal{background:var(--admin-bg-light);border-radius:var(--admin-border-radius);box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f;max-width:520px;width:90%;max-height:90vh;display:flex;flex-direction:column}.admin-modal-header{padding:16px 24px;border-bottom:1px solid var(--admin-border-color);display:flex;align-items:center;justify-content:space-between}.admin-modal-title{margin:0;font-size:16px;font-weight:500;color:var(--admin-text-primary)}.admin-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--admin-text-secondary);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.admin-modal-close:hover{color:var(--admin-text-primary)}.admin-modal-body{padding:24px;overflow-y:auto;flex:1}.admin-modal-footer{padding:10px 16px;border-top:1px solid var(--admin-border-color);display:flex;justify-content:flex-end;gap:8px}.admin-page-layout{display:flex;flex-direction:column;height:100vh;background:var(--admin-bg)}.admin-header{height:var(--admin-header-height);background:var(--admin-bg-light);border-bottom:1px solid var(--admin-border-color);display:flex;align-items:center;padding:0 24px;box-shadow:0 2px 8px #0000000f}.admin-header-logo{font-size:20px;font-weight:600;color:var(--admin-text-primary);margin-right:32px}.admin-header-content{flex:1;display:flex;align-items:center;justify-content:space-between}.admin-sidebar{width:var(--admin-sidebar-width);background:var(--admin-bg-light);border-right:1px solid var(--admin-border-color);overflow-y:auto}.admin-content{flex:1;overflow-y:auto;padding:24px;background:var(--admin-bg)}.admin-layout-with-sidebar{display:flex;flex:1;overflow:hidden}.admin-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;line-height:1.5;border-radius:10px;background:var(--admin-border-color);color:var(--admin-text-primary)}.admin-badge-primary{background:var(--admin-primary);color:#fff}.admin-badge-success{background:var(--admin-success);color:#fff}.admin-badge-warning{background:var(--admin-warning);color:#fff}.admin-badge-error{background:var(--admin-error);color:#fff}.admin-toast{position:fixed;top:24px;right:24px;z-index:1100;min-width:300px;max-width:400px}.admin-toast-item{background:var(--admin-bg-light);border-radius:var(--admin-border-radius);box-shadow:var(--admin-box-shadow);padding:16px;margin-bottom:16px;display:flex;align-items:flex-start;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.admin-toast-success{border-left:4px solid var(--admin-success)}.admin-toast-error{border-left:4px solid var(--admin-error)}.admin-toast-warning{border-left:4px solid var(--admin-warning)}.admin-toast-info{border-left:4px solid var(--admin-info)}.admin-toast-content{flex:1}.admin-toast-title{font-size:14px;font-weight:500;margin:0 0 4px;color:var(--admin-text-primary)}.admin-toast-message{font-size:14px;margin:0;color:var(--admin-text-secondary)}.admin-toast-close{background:none;border:none;font-size:16px;cursor:pointer;color:var(--admin-text-secondary);padding:0;margin-left:12px}.admin-loading{display:inline-flex;align-items:center;justify-content:center}.admin-loading-spinner{width:20px;height:20px;border:2px solid var(--admin-border-color);border-top-color:var(--admin-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-loading-text{margin-left:8px;font-size:14px;color:var(--admin-text-secondary)}.admin-breadcrumbs{display:flex;align-items:center;font-size:14px;color:var(--admin-text-secondary)}.admin-breadcrumbs-item{color:var(--admin-text-secondary);text-decoration:none}.admin-breadcrumbs-item:hover{color:var(--admin-primary)}.admin-breadcrumbs-item-active{color:var(--admin-text-primary)}.admin-breadcrumbs-separator{margin:0 8px;color:var(--admin-border-color)}.admin-tabs{border-bottom:1px solid var(--admin-border-color)}.admin-tabs-list{display:flex;margin:0;padding:0;list-style:none}.admin-tabs-item{padding:12px 16px;font-size:14px;color:var(--admin-text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .3s;-webkit-user-select:none;user-select:none}.admin-tabs-item:hover{color:var(--admin-primary)}.admin-tabs-item-active{color:var(--admin-primary);border-bottom-color:var(--admin-primary);font-weight:500}.admin-tabs-content{padding:16px 0}.admin-menu{list-style:none;margin:0;padding:0}.admin-menu-item{padding:12px 24px;font-size:14px;color:var(--admin-text-primary);cursor:pointer;transition:all .3s;border-left:3px solid transparent}.admin-menu-item:hover{background:var(--admin-bg-hover)}.admin-menu-item-active{background:#1890ff1a;border-left-color:var(--admin-primary);color:var(--admin-text-primary)}.admin-menu-link{color:var(--admin-text-primary);text-decoration:none;display:block}.admin-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--admin-text-primary)}.admin-label-required:after{content:" *";color:var(--admin-error)}.admin-login-form{background:var(--admin-bg-light);padding:40px;border-radius:var(--admin-border-radius);box-shadow:var(--admin-box-shadow)}:root{--admin-primary: #1890ff;--admin-primary-hover: #40a9ff;--admin-primary-active: #096dd9;--admin-success: #52c41a;--admin-warning: #faad14;--admin-error: #ff4d4f;--admin-info: #1890ff;--admin-text-primary: rgba(0, 0, 0, .85);--admin-text-secondary: rgba(0, 0, 0, .65);--admin-text-disabled: rgba(0, 0, 0, .25);--admin-border-color: #d9d9d9;--admin-border-radius: 4px;--admin-box-shadow: 0 2px 8px rgba(0, 0, 0, .15);--admin-bg: #f0f2f5;--admin-bg-light: #ffffff;--admin-bg-hover: #fafafa;--admin-sidebar-width: 256px;--admin-header-height: 64px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Утилиты для работы с CRUD операциями через API
|
|
3
|
+
*/
|
|
4
|
+
export interface CrudConfig<T = any> {
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
getListUrl?: (params?: any) => string;
|
|
7
|
+
getDetailUrl?: (id: string | number) => string;
|
|
8
|
+
getCreateUrl?: () => string;
|
|
9
|
+
getUpdateUrl?: (id: string | number) => string;
|
|
10
|
+
getDeleteUrl?: (id: string | number) => string;
|
|
11
|
+
transformRequest?: (data: Partial<T>) => any;
|
|
12
|
+
transformResponse?: (data: any) => T;
|
|
13
|
+
headers?: Record<string, string>;
|
|
14
|
+
}
|
|
15
|
+
export declare class CrudService<T = any> {
|
|
16
|
+
private config;
|
|
17
|
+
constructor(config: CrudConfig<T>);
|
|
18
|
+
private request;
|
|
19
|
+
getList(params?: any): Promise<{
|
|
20
|
+
data: T[];
|
|
21
|
+
total?: number;
|
|
22
|
+
}>;
|
|
23
|
+
getDetail(id: string | number): Promise<T>;
|
|
24
|
+
create(data: Partial<T>): Promise<T>;
|
|
25
|
+
update(id: string | number, data: Partial<T>): Promise<T>;
|
|
26
|
+
delete(id: string | number): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=crud.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/utils/crud.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;IACrC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC9C,YAAY,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC9C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC9C,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;IAC5C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAA;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,qBAAa,WAAW,CAAC,CAAC,GAAG,GAAG;IAC9B,OAAO,CAAC,MAAM,CAAyB;gBAE3B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YAcnB,OAAO;IAiBf,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoB7D,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAM1C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUpC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAUzD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMjD"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ui-admin-lib",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "UI библиотека для создания административных панелей на React",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.esm.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.esm.js",
|
|
11
|
+
"require": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./styles": "./dist/styles.css"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"dev": "vite",
|
|
22
|
+
"build": "vite build",
|
|
23
|
+
"preview": "vite preview",
|
|
24
|
+
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
25
|
+
"demo": "cd demo && npm install && npm run dev",
|
|
26
|
+
"demo:build": "cd demo && npm install && npm run build"
|
|
27
|
+
},
|
|
28
|
+
"peerDependencies": {
|
|
29
|
+
"react": "^18.0.0",
|
|
30
|
+
"react-dom": "^18.0.0"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@types/react": "^18.2.43",
|
|
34
|
+
"@types/react-dom": "^18.2.17",
|
|
35
|
+
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
36
|
+
"@typescript-eslint/parser": "^6.14.0",
|
|
37
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
38
|
+
"eslint": "^8.55.0",
|
|
39
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
40
|
+
"eslint-plugin-react-refresh": "^0.4.5",
|
|
41
|
+
"react": "^18.2.0",
|
|
42
|
+
"react-dom": "^18.2.0",
|
|
43
|
+
"typescript": "^5.2.2",
|
|
44
|
+
"vite": "^5.0.8",
|
|
45
|
+
"vite-plugin-dts": "^3.6.4"
|
|
46
|
+
},
|
|
47
|
+
"keywords": [
|
|
48
|
+
"react",
|
|
49
|
+
"admin",
|
|
50
|
+
"crud",
|
|
51
|
+
"admin-panel",
|
|
52
|
+
"dashboard",
|
|
53
|
+
"ui-library",
|
|
54
|
+
"typescript",
|
|
55
|
+
"react-components"
|
|
56
|
+
],
|
|
57
|
+
"author": "",
|
|
58
|
+
"license": "MIT",
|
|
59
|
+
"repository": {
|
|
60
|
+
"type": "git",
|
|
61
|
+
"url": ""
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|