ronds-metadata 1.2.22 → 1.2.24
Sign up to get free protection for your applications and to get access to all the features.
- package/es/comps/FormGenerator/comps/Canvas/core/index.less +23 -23
- package/es/comps/JsonView/index.less +41 -41
- package/es/comps/MdView/index.less +353 -354
- package/es/comps/MetadataEdit/index.less +10 -10
- package/es/comps/MetadataEdit/type.d.ts +20 -20
- package/es/comps/MetadataForm/DataCell/Select.js +4 -3
- package/es/comps/MetadataForm/DataCell/layout/TableArray.js +2 -2
- package/es/comps/MetadataForm/HOC/index.less +41 -41
- package/es/framework/metadata/types.d.ts +98 -98
- package/es/theme.less +77 -77
- package/package.json +93 -93
@@ -1,10 +1,10 @@
|
|
1
|
-
.metadata-edit {
|
2
|
-
height: 100%;
|
3
|
-
width: 100%;
|
4
|
-
.ant-row {
|
5
|
-
display: block;
|
6
|
-
}
|
7
|
-
.pr-10 {
|
8
|
-
padding-right: 10px;
|
9
|
-
}
|
10
|
-
}
|
1
|
+
.metadata-edit {
|
2
|
+
height: 100%;
|
3
|
+
width: 100%;
|
4
|
+
.ant-row {
|
5
|
+
display: block;
|
6
|
+
}
|
7
|
+
.pr-10 {
|
8
|
+
padding-right: 10px;
|
9
|
+
}
|
10
|
+
}
|
@@ -1,20 +1,20 @@
|
|
1
|
-
export interface IMetaFileds {
|
2
|
-
id: string;
|
3
|
-
type: 'object';
|
4
|
-
properties: any[];
|
5
|
-
value: any;
|
6
|
-
}
|
7
|
-
|
8
|
-
export type ITypeStatus = 'object' | 'ref' | 'bool' | 'number' | 'text' | 'enum' | 'array';
|
9
|
-
|
10
|
-
export type IMetaProperty = {
|
11
|
-
/**
|
12
|
-
* 属性的名称
|
13
|
-
*/
|
14
|
-
id: string;
|
15
|
-
/**
|
16
|
-
* 类型
|
17
|
-
*/
|
18
|
-
type: string;
|
19
|
-
enum?: any[];
|
20
|
-
};
|
1
|
+
export interface IMetaFileds {
|
2
|
+
id: string;
|
3
|
+
type: 'object';
|
4
|
+
properties: any[];
|
5
|
+
value: any;
|
6
|
+
}
|
7
|
+
|
8
|
+
export type ITypeStatus = 'object' | 'ref' | 'bool' | 'number' | 'text' | 'enum' | 'array';
|
9
|
+
|
10
|
+
export type IMetaProperty = {
|
11
|
+
/**
|
12
|
+
* 属性的名称
|
13
|
+
*/
|
14
|
+
id: string;
|
15
|
+
/**
|
16
|
+
* 类型
|
17
|
+
*/
|
18
|
+
type: string;
|
19
|
+
enum?: any[];
|
20
|
+
};
|
@@ -34,7 +34,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
34
34
|
/*
|
35
35
|
* @Author:wangxian
|
36
36
|
* @Date: 2021-09-18 14:15:04
|
37
|
-
* @LastEditTime: 2023-03-
|
37
|
+
* @LastEditTime: 2023-03-10 11:38:33
|
38
38
|
*/
|
39
39
|
import React from 'react';
|
40
40
|
import { MetadataFormContext, MetadataRefContext } from '../interface';
|
@@ -438,6 +438,7 @@ function Index(props) {
|
|
438
438
|
|
439
439
|
return (treeNode === null || treeNode === void 0 ? void 0 : (_treeNode$label = treeNode.label) === null || _treeNode$label === void 0 ? void 0 : _treeNode$label.toString().indexOf(input)) >= 0;
|
440
440
|
},
|
441
|
+
treeNodeLabelProp: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.treeNodeLabelProp,
|
441
442
|
getPopupContainer: function getPopupContainer(triggerNode) {
|
442
443
|
return triggerNode.parentNode;
|
443
444
|
},
|
@@ -456,7 +457,7 @@ function Index(props) {
|
|
456
457
|
,
|
457
458
|
maxTagCount: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagCount,
|
458
459
|
maxTagTextLength: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagTextLength,
|
459
|
-
maxTagPlaceholder:
|
460
|
+
maxTagPlaceholder: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagPlaceholder
|
460
461
|
});
|
461
462
|
} else if (isPagination) {
|
462
463
|
var _extraInfo$disabled3;
|
@@ -544,7 +545,7 @@ function Index(props) {
|
|
544
545
|
onChange: onSelectChange,
|
545
546
|
maxTagCount: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagCount,
|
546
547
|
maxTagTextLength: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagTextLength,
|
547
|
-
maxTagPlaceholder:
|
548
|
+
maxTagPlaceholder: extraInfo === null || extraInfo === void 0 ? void 0 : extraInfo.maxTagPlaceholder
|
548
549
|
});
|
549
550
|
}
|
550
551
|
};
|
@@ -251,7 +251,7 @@ var TableArray = function TableArray(props) {
|
|
251
251
|
};
|
252
252
|
}(), []);
|
253
253
|
var processEnumData = React.useCallback(function (data, _extraInfo) {
|
254
|
-
var _extraInfo$enum, _extraInfo$enum3;
|
254
|
+
var _extraInfo$enum, _extraInfo$enum3, _extraInfo$enum3$http;
|
255
255
|
|
256
256
|
var _options = [];
|
257
257
|
|
@@ -265,7 +265,7 @@ var TableArray = function TableArray(props) {
|
|
265
265
|
} // 从接口拿数据
|
266
266
|
|
267
267
|
|
268
|
-
if (_extraInfo === null || _extraInfo === void 0 ? void 0 : (_extraInfo$enum3 = _extraInfo.enum) === null || _extraInfo$enum3 === void 0 ? void 0 : _extraInfo$enum3.http) {
|
268
|
+
if (_extraInfo === null || _extraInfo === void 0 ? void 0 : (_extraInfo$enum3 = _extraInfo.enum) === null || _extraInfo$enum3 === void 0 ? void 0 : (_extraInfo$enum3$http = _extraInfo$enum3.http) === null || _extraInfo$enum3$http === void 0 ? void 0 : _extraInfo$enum3$http.url) {
|
269
269
|
var _extraInfo$enum4;
|
270
270
|
|
271
271
|
return getEnumDataByUrl(deepClone(_extraInfo === null || _extraInfo === void 0 ? void 0 : (_extraInfo$enum4 = _extraInfo.enum) === null || _extraInfo$enum4 === void 0 ? void 0 : _extraInfo$enum4.http));
|
@@ -1,41 +1,41 @@
|
|
1
|
-
.with-add-on-after {
|
2
|
-
--card-bg: #ffffff;
|
3
|
-
position: relative;
|
4
|
-
width: 100%;
|
5
|
-
|
6
|
-
.ant-form-item-label {
|
7
|
-
padding: 0 !important;
|
8
|
-
}
|
9
|
-
|
10
|
-
& > .ant-form-item {
|
11
|
-
padding: 0 0 8px !important;
|
12
|
-
flex: 1;
|
13
|
-
}
|
14
|
-
&-extra {
|
15
|
-
position: absolute;
|
16
|
-
right: 20px;
|
17
|
-
top: 18px;
|
18
|
-
padding: 0 6px;
|
19
|
-
background-color: var(--card-bg);
|
20
|
-
z-index: 1000;
|
21
|
-
}
|
22
|
-
&-ref {
|
23
|
-
position: absolute;
|
24
|
-
right: 20px;
|
25
|
-
top: -10px;
|
26
|
-
padding: 0 6px;
|
27
|
-
background-color: var(--card-bg);
|
28
|
-
z-index: 1000;
|
29
|
-
}
|
30
|
-
.ant-select-tree-indent {
|
31
|
-
.ant-select-tree-indent-unit {
|
32
|
-
width: 10px !important;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
|
36
|
-
/* .ant-col-2.7 {
|
37
|
-
display: block;
|
38
|
-
flex: 0 0 75%;
|
39
|
-
max-width: 75%;
|
40
|
-
} */
|
41
|
-
}
|
1
|
+
.with-add-on-after {
|
2
|
+
--card-bg: #ffffff;
|
3
|
+
position: relative;
|
4
|
+
width: 100%;
|
5
|
+
|
6
|
+
.ant-form-item-label {
|
7
|
+
padding: 0 !important;
|
8
|
+
}
|
9
|
+
|
10
|
+
& > .ant-form-item {
|
11
|
+
padding: 0 0 8px !important;
|
12
|
+
flex: 1;
|
13
|
+
}
|
14
|
+
&-extra {
|
15
|
+
position: absolute;
|
16
|
+
right: 20px;
|
17
|
+
top: 18px;
|
18
|
+
padding: 0 6px;
|
19
|
+
background-color: var(--card-bg);
|
20
|
+
z-index: 1000;
|
21
|
+
}
|
22
|
+
&-ref {
|
23
|
+
position: absolute;
|
24
|
+
right: 20px;
|
25
|
+
top: -10px;
|
26
|
+
padding: 0 6px;
|
27
|
+
background-color: var(--card-bg);
|
28
|
+
z-index: 1000;
|
29
|
+
}
|
30
|
+
.ant-select-tree-indent {
|
31
|
+
.ant-select-tree-indent-unit {
|
32
|
+
width: 10px !important;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
/* .ant-col-2.7 {
|
37
|
+
display: block;
|
38
|
+
flex: 0 0 75%;
|
39
|
+
max-width: 75%;
|
40
|
+
} */
|
41
|
+
}
|
@@ -1,98 +1,98 @@
|
|
1
|
-
/*
|
2
|
-
* @Author: wangxian
|
3
|
-
* @Date: 2021-09-18 14:15:04
|
4
|
-
* @LastEditTime: 2023-02-09 18:37:15
|
5
|
-
*/
|
6
|
-
export type IMetaType = 'object' | 'ref' | 'bool' | 'number' | 'text' | 'enum' | 'array' | string;
|
7
|
-
|
8
|
-
export type IMetaData = {
|
9
|
-
/**
|
10
|
-
* 类名称/属性名称
|
11
|
-
*/
|
12
|
-
id: string;
|
13
|
-
/**
|
14
|
-
* 类型
|
15
|
-
*/
|
16
|
-
type: IMetaType;
|
17
|
-
/**
|
18
|
-
* 属性
|
19
|
-
*/
|
20
|
-
properties?: IMetaProperties[];
|
21
|
-
|
22
|
-
/**
|
23
|
-
* 引用id
|
24
|
-
*/
|
25
|
-
refId?: string;
|
26
|
-
/**
|
27
|
-
* 静态的变量
|
28
|
-
*/
|
29
|
-
fields?: IMetaFileds[];
|
30
|
-
/**
|
31
|
-
* 内部类
|
32
|
-
*/
|
33
|
-
types?: IMetaData[];
|
34
|
-
};
|
35
|
-
|
36
|
-
export type IMetaProperties = {
|
37
|
-
/**
|
38
|
-
* 类规则名称
|
39
|
-
*/
|
40
|
-
id: string;
|
41
|
-
|
42
|
-
/**
|
43
|
-
* 类型
|
44
|
-
*/
|
45
|
-
type: IMetaType;
|
46
|
-
|
47
|
-
/**
|
48
|
-
* 引用id
|
49
|
-
*/
|
50
|
-
refId?: string;
|
51
|
-
/**
|
52
|
-
* 静态的变量
|
53
|
-
*/
|
54
|
-
fields?: IMetaFileds[];
|
55
|
-
/**
|
56
|
-
* 枚举值
|
57
|
-
*/
|
58
|
-
enum?: { value: string }[];
|
59
|
-
/**
|
60
|
-
* 数组类型
|
61
|
-
*/
|
62
|
-
items?: { type: IMetaType; refId?: string };
|
63
|
-
};
|
64
|
-
|
65
|
-
export type IMetaFileds = {
|
66
|
-
/**
|
67
|
-
* 规则名称
|
68
|
-
*/
|
69
|
-
id: string;
|
70
|
-
|
71
|
-
/**
|
72
|
-
* 类型
|
73
|
-
*/
|
74
|
-
type: IMetaType;
|
75
|
-
|
76
|
-
/**
|
77
|
-
* 引用id
|
78
|
-
*/
|
79
|
-
refId?: string;
|
80
|
-
|
81
|
-
/**
|
82
|
-
* 规则值
|
83
|
-
*/
|
84
|
-
value: any;
|
85
|
-
};
|
86
|
-
|
87
|
-
export interface IAPI {
|
88
|
-
// 获取元数据列表
|
89
|
-
GetMetadataList(keyWords?: string[]): Promise<{ id: string; name: string; schema: string }[]>;
|
90
|
-
// 通过元数据Id获取元数据详情
|
91
|
-
GetMetadataDetailById(metadataId: string): Promise<any>;
|
92
|
-
// 新增元数据
|
93
|
-
SaveMetadata(data: any, metadataTag: string): Promise<any>;
|
94
|
-
// 获取元数据的值
|
95
|
-
GetMetadataObjList(data: any): Promise<any[]>;
|
96
|
-
/** 通过扩展规则获取枚举类型的值 */
|
97
|
-
GetEnumDataByUrl(url: string, method: 'get' | 'post', body: any): Promise<any>;
|
98
|
-
}
|
1
|
+
/*
|
2
|
+
* @Author: wangxian
|
3
|
+
* @Date: 2021-09-18 14:15:04
|
4
|
+
* @LastEditTime: 2023-02-09 18:37:15
|
5
|
+
*/
|
6
|
+
export type IMetaType = 'object' | 'ref' | 'bool' | 'number' | 'text' | 'enum' | 'array' | string;
|
7
|
+
|
8
|
+
export type IMetaData = {
|
9
|
+
/**
|
10
|
+
* 类名称/属性名称
|
11
|
+
*/
|
12
|
+
id: string;
|
13
|
+
/**
|
14
|
+
* 类型
|
15
|
+
*/
|
16
|
+
type: IMetaType;
|
17
|
+
/**
|
18
|
+
* 属性
|
19
|
+
*/
|
20
|
+
properties?: IMetaProperties[];
|
21
|
+
|
22
|
+
/**
|
23
|
+
* 引用id
|
24
|
+
*/
|
25
|
+
refId?: string;
|
26
|
+
/**
|
27
|
+
* 静态的变量
|
28
|
+
*/
|
29
|
+
fields?: IMetaFileds[];
|
30
|
+
/**
|
31
|
+
* 内部类
|
32
|
+
*/
|
33
|
+
types?: IMetaData[];
|
34
|
+
};
|
35
|
+
|
36
|
+
export type IMetaProperties = {
|
37
|
+
/**
|
38
|
+
* 类规则名称
|
39
|
+
*/
|
40
|
+
id: string;
|
41
|
+
|
42
|
+
/**
|
43
|
+
* 类型
|
44
|
+
*/
|
45
|
+
type: IMetaType;
|
46
|
+
|
47
|
+
/**
|
48
|
+
* 引用id
|
49
|
+
*/
|
50
|
+
refId?: string;
|
51
|
+
/**
|
52
|
+
* 静态的变量
|
53
|
+
*/
|
54
|
+
fields?: IMetaFileds[];
|
55
|
+
/**
|
56
|
+
* 枚举值
|
57
|
+
*/
|
58
|
+
enum?: { value: string }[];
|
59
|
+
/**
|
60
|
+
* 数组类型
|
61
|
+
*/
|
62
|
+
items?: { type: IMetaType; refId?: string };
|
63
|
+
};
|
64
|
+
|
65
|
+
export type IMetaFileds = {
|
66
|
+
/**
|
67
|
+
* 规则名称
|
68
|
+
*/
|
69
|
+
id: string;
|
70
|
+
|
71
|
+
/**
|
72
|
+
* 类型
|
73
|
+
*/
|
74
|
+
type: IMetaType;
|
75
|
+
|
76
|
+
/**
|
77
|
+
* 引用id
|
78
|
+
*/
|
79
|
+
refId?: string;
|
80
|
+
|
81
|
+
/**
|
82
|
+
* 规则值
|
83
|
+
*/
|
84
|
+
value: any;
|
85
|
+
};
|
86
|
+
|
87
|
+
export interface IAPI {
|
88
|
+
// 获取元数据列表
|
89
|
+
GetMetadataList(keyWords?: string[]): Promise<{ id: string; name: string; schema: string }[]>;
|
90
|
+
// 通过元数据Id获取元数据详情
|
91
|
+
GetMetadataDetailById(metadataId: string): Promise<any>;
|
92
|
+
// 新增元数据
|
93
|
+
SaveMetadata(data: any, metadataTag: string): Promise<any>;
|
94
|
+
// 获取元数据的值
|
95
|
+
GetMetadataObjList(data: any): Promise<any[]>;
|
96
|
+
/** 通过扩展规则获取枚举类型的值 */
|
97
|
+
GetEnumDataByUrl(url: string, method: 'get' | 'post', body: any): Promise<any>;
|
98
|
+
}
|
package/es/theme.less
CHANGED
@@ -1,77 +1,77 @@
|
|
1
|
-
.ronds-metadata-dark {
|
2
|
-
--ronds-metadata-color-border-1: #314162;
|
3
|
-
--ronds-metadata-color-border-2: #0d9af3;
|
4
|
-
--ronds-metadata-color-bg-2: #0d1f40;
|
5
|
-
--ronds-metadata-color-bg-3: #0d1f40;
|
6
|
-
--ronds-metadata-color-bg-4: #1c3771;
|
7
|
-
--ronds-metadata-color-text-1: #ffffff;
|
8
|
-
--ronds-metadata-color-text-2: #ffffff;
|
9
|
-
--ronds-metadata-color-text-3: #ffffff;
|
10
|
-
|
11
|
-
::-webkit-scrollbar {
|
12
|
-
width: 6px;
|
13
|
-
height: 6px;
|
14
|
-
overflow: auto;
|
15
|
-
}
|
16
|
-
::-webkit-scrollbar-corner {
|
17
|
-
background-color: transparent;
|
18
|
-
color: transparent;
|
19
|
-
}
|
20
|
-
|
21
|
-
::-webkit-scrollbar-thumb {
|
22
|
-
box-shadow: inset 0 0 5px var(--scrollbar-bg-color);
|
23
|
-
background: var(--scrollbar-color);
|
24
|
-
min-height: 25px;
|
25
|
-
min-width: 25px;
|
26
|
-
border-radius: 3px;
|
27
|
-
|
28
|
-
&:hover {
|
29
|
-
border-radius: 2px;
|
30
|
-
// box-shadow: inset 0 0 5px var(--scrollbar-color-hover);
|
31
|
-
background: var(--scrollbar-color-hover);
|
32
|
-
}
|
33
|
-
|
34
|
-
&:active {
|
35
|
-
// box-shadow: inset 0 0 5px var(--scrollbar-bg-color);
|
36
|
-
background: var(--scrollbar-color-hover);
|
37
|
-
}
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
.ronds-metadata-normal {
|
42
|
-
--ronds-metadata-color-border-1: #d9d9d9;
|
43
|
-
--ronds-metadata-color-border-2: #165dff;
|
44
|
-
--ronds-metadata-color-bg-2: rgba(229, 238, 255, 0.85);
|
45
|
-
--ronds-metadata-color-bg-3: #f6f5f6;
|
46
|
-
--ronds-metadata-color-bg-4: #ffffff;
|
47
|
-
--ronds-metadata-color-text-1: #1d2129;
|
48
|
-
--ronds-metadata-color-text-2: #24292f;
|
49
|
-
--ronds-metadata-color-text-3: #f2f3f5;
|
50
|
-
|
51
|
-
::-webkit-scrollbar {
|
52
|
-
width: 6px;
|
53
|
-
height: 6px;
|
54
|
-
overflow: auto;
|
55
|
-
}
|
56
|
-
|
57
|
-
::-webkit-scrollbar-thumb {
|
58
|
-
background-color: var(--scrollbar-color);
|
59
|
-
min-height: 25px;
|
60
|
-
min-width: 25px;
|
61
|
-
border-radius: 3px;
|
62
|
-
|
63
|
-
&:hover {
|
64
|
-
background-color: #a8a8a8;
|
65
|
-
}
|
66
|
-
|
67
|
-
&:active {
|
68
|
-
background-color: #787878;
|
69
|
-
}
|
70
|
-
|
71
|
-
/* border: 1px solid #e0e0e0; */
|
72
|
-
}
|
73
|
-
|
74
|
-
::-webkit-scrollbar-track {
|
75
|
-
background-color: #f7f7f7;
|
76
|
-
}
|
77
|
-
}
|
1
|
+
.ronds-metadata-dark {
|
2
|
+
--ronds-metadata-color-border-1: #314162;
|
3
|
+
--ronds-metadata-color-border-2: #0d9af3;
|
4
|
+
--ronds-metadata-color-bg-2: #0d1f40;
|
5
|
+
--ronds-metadata-color-bg-3: #0d1f40;
|
6
|
+
--ronds-metadata-color-bg-4: #1c3771;
|
7
|
+
--ronds-metadata-color-text-1: #ffffff;
|
8
|
+
--ronds-metadata-color-text-2: #ffffff;
|
9
|
+
--ronds-metadata-color-text-3: #ffffff;
|
10
|
+
|
11
|
+
::-webkit-scrollbar {
|
12
|
+
width: 6px;
|
13
|
+
height: 6px;
|
14
|
+
overflow: auto;
|
15
|
+
}
|
16
|
+
::-webkit-scrollbar-corner {
|
17
|
+
background-color: transparent;
|
18
|
+
color: transparent;
|
19
|
+
}
|
20
|
+
|
21
|
+
::-webkit-scrollbar-thumb {
|
22
|
+
box-shadow: inset 0 0 5px var(--scrollbar-bg-color);
|
23
|
+
background: var(--scrollbar-color);
|
24
|
+
min-height: 25px;
|
25
|
+
min-width: 25px;
|
26
|
+
border-radius: 3px;
|
27
|
+
|
28
|
+
&:hover {
|
29
|
+
border-radius: 2px;
|
30
|
+
// box-shadow: inset 0 0 5px var(--scrollbar-color-hover);
|
31
|
+
background: var(--scrollbar-color-hover);
|
32
|
+
}
|
33
|
+
|
34
|
+
&:active {
|
35
|
+
// box-shadow: inset 0 0 5px var(--scrollbar-bg-color);
|
36
|
+
background: var(--scrollbar-color-hover);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
.ronds-metadata-normal {
|
42
|
+
--ronds-metadata-color-border-1: #d9d9d9;
|
43
|
+
--ronds-metadata-color-border-2: #165dff;
|
44
|
+
--ronds-metadata-color-bg-2: rgba(229, 238, 255, 0.85);
|
45
|
+
--ronds-metadata-color-bg-3: #f6f5f6;
|
46
|
+
--ronds-metadata-color-bg-4: #ffffff;
|
47
|
+
--ronds-metadata-color-text-1: #1d2129;
|
48
|
+
--ronds-metadata-color-text-2: #24292f;
|
49
|
+
--ronds-metadata-color-text-3: #f2f3f5;
|
50
|
+
|
51
|
+
::-webkit-scrollbar {
|
52
|
+
width: 6px;
|
53
|
+
height: 6px;
|
54
|
+
overflow: auto;
|
55
|
+
}
|
56
|
+
|
57
|
+
::-webkit-scrollbar-thumb {
|
58
|
+
background-color: var(--scrollbar-color);
|
59
|
+
min-height: 25px;
|
60
|
+
min-width: 25px;
|
61
|
+
border-radius: 3px;
|
62
|
+
|
63
|
+
&:hover {
|
64
|
+
background-color: #a8a8a8;
|
65
|
+
}
|
66
|
+
|
67
|
+
&:active {
|
68
|
+
background-color: #787878;
|
69
|
+
}
|
70
|
+
|
71
|
+
/* border: 1px solid #e0e0e0; */
|
72
|
+
}
|
73
|
+
|
74
|
+
::-webkit-scrollbar-track {
|
75
|
+
background-color: #f7f7f7;
|
76
|
+
}
|
77
|
+
}
|