@pointcloud/pcloud-components 0.1.33 → 0.1.35
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 +28 -22
- package/dist/esm/CRUD/config.d.ts +2 -0
- package/dist/esm/CRUD/config.js +21 -0
- package/dist/esm/CRUD/index.d.ts +98 -0
- package/dist/esm/CRUD/index.js +679 -0
- package/dist/esm/CRUD/index.less +154 -0
- package/dist/esm/CRUD/toolbar.d.ts +18 -0
- package/dist/esm/CRUD/toolbar.js +259 -0
- package/dist/esm/DModal/index.d.ts +4 -3
- package/dist/esm/DModal/index.js +11 -9
- package/dist/esm/DModal/interface.d.ts +2 -8
- package/dist/esm/DTable/index.d.ts +17 -1
- package/dist/esm/DTable/index.js +43 -13
- package/dist/esm/DUpload/helper.js +48 -48
- package/dist/esm/Loading/loading.d.ts +3 -1
- package/dist/esm/Loading/loading.js +48 -23
- package/dist/esm/Loading/styles/index.less +37 -25
- package/dist/esm/ModalForm/index.d.ts +4 -2
- package/dist/esm/ModalForm/index.js +76 -7
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -1
- package/dist/umd/pcloud-components.min.css +1 -1
- package/dist/umd/pcloud-components.min.js +1 -1
- package/package.json +16 -3
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
2
|
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
3
|
-
/*
|
|
4
|
-
* @Author : wangfeihu
|
|
5
|
-
* @Date : 2023-06-16 11:25:57
|
|
6
|
-
* @LastEditors : wangfeihu
|
|
7
|
-
* @LastEditTime : 2023-08-30 11:26:22
|
|
8
|
-
* @Description : 辅助方法集合
|
|
3
|
+
/*
|
|
4
|
+
* @Author : wangfeihu
|
|
5
|
+
* @Date : 2023-06-16 11:25:57
|
|
6
|
+
* @LastEditors : wangfeihu
|
|
7
|
+
* @LastEditTime : 2023-08-30 11:26:22
|
|
8
|
+
* @Description : 辅助方法集合
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
/** 转换base64时的参数 */
|
|
@@ -41,12 +41,12 @@ function getType(value) {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
/**
|
|
45
|
-
* @description : 将图像文件转换为Base64格式
|
|
46
|
-
* @param {Blob} blob 图像文件
|
|
47
|
-
* @param {CompressProps} options 指定图像压缩参数,其格式为: {width:300,height:200,quality:0.7}
|
|
48
|
-
* @return {Promise<string>} 包含Base64字符串的Promise对象
|
|
49
|
-
* @example : imageToBase64(file,{ width: 300, height: 200, quality: 0.7 }).then( url => console.log( url ) )
|
|
44
|
+
/**
|
|
45
|
+
* @description : 将图像文件转换为Base64格式
|
|
46
|
+
* @param {Blob} blob 图像文件
|
|
47
|
+
* @param {CompressProps} options 指定图像压缩参数,其格式为: {width:300,height:200,quality:0.7}
|
|
48
|
+
* @return {Promise<string>} 包含Base64字符串的Promise对象
|
|
49
|
+
* @example : imageToBase64(file,{ width: 300, height: 200, quality: 0.7 }).then( url => console.log( url ) )
|
|
50
50
|
*/
|
|
51
51
|
function imageToBase64(blob, options) {
|
|
52
52
|
return new Promise(function (resolve, reject) {
|
|
@@ -97,11 +97,11 @@ function imageToBase64(blob, options) {
|
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
/**
|
|
101
|
-
* @description : 将传入的文件转换为UploadFile数组
|
|
102
|
-
* @param {any} files 目标文件对象
|
|
103
|
-
* @return {UploadFile[]} UploadFile数组
|
|
104
|
-
* @example :
|
|
100
|
+
/**
|
|
101
|
+
* @description : 将传入的文件转换为UploadFile数组
|
|
102
|
+
* @param {any} files 目标文件对象
|
|
103
|
+
* @return {UploadFile[]} UploadFile数组
|
|
104
|
+
* @example :
|
|
105
105
|
*/
|
|
106
106
|
function getUploadFile(files, maxCount) {
|
|
107
107
|
if (files) {
|
|
@@ -114,11 +114,11 @@ function getUploadFile(files, maxCount) {
|
|
|
114
114
|
return [];
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
/**
|
|
118
|
-
* @description : 根据传入的option对象获取缩略图参数
|
|
119
|
-
* @param {ThumbOptionProps} option 缩略图参数对象
|
|
120
|
-
* @return {ThumbOptionProps} ThumbOption对象
|
|
121
|
-
* @example :
|
|
117
|
+
/**
|
|
118
|
+
* @description : 根据传入的option对象获取缩略图参数
|
|
119
|
+
* @param {ThumbOptionProps} option 缩略图参数对象
|
|
120
|
+
* @return {ThumbOptionProps} ThumbOption对象
|
|
121
|
+
* @example :
|
|
122
122
|
*/
|
|
123
123
|
function getThumbOption(option) {
|
|
124
124
|
var _ref2 = option || {},
|
|
@@ -152,16 +152,16 @@ function getThumbOption(option) {
|
|
|
152
152
|
return _option;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
/**
|
|
156
|
-
* @description : a标签下载文件
|
|
157
|
-
* @param {Blob | string} url a标签的下载url或文件流
|
|
158
|
-
* @param {string} fileName 下载文件的名称,如果缺省则尝试从url中获取,默认为: "新建文件"
|
|
159
|
-
* @return {*}
|
|
160
|
-
* @example :
|
|
155
|
+
/**
|
|
156
|
+
* @description : a标签下载文件
|
|
157
|
+
* @param {Blob | string} url a标签的下载url或文件流
|
|
158
|
+
* @param {string} fileName 下载文件的名称,如果缺省则尝试从url中获取,默认为: "新建文件"
|
|
159
|
+
* @return {*}
|
|
160
|
+
* @example :
|
|
161
161
|
*/
|
|
162
162
|
function downloadFile(url, fileName) {
|
|
163
163
|
var eLink = document.createElement('a');
|
|
164
|
-
eLink.download = fileName ||
|
|
164
|
+
eLink.download = fileName || '未命名文件';
|
|
165
165
|
eLink.style.display = 'none';
|
|
166
166
|
eLink.href = typeof url === 'string' ? url : URL.createObjectURL(url);
|
|
167
167
|
document.body.appendChild(eLink);
|
|
@@ -170,11 +170,11 @@ function downloadFile(url, fileName) {
|
|
|
170
170
|
document.body.removeChild(eLink);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
/**
|
|
174
|
-
* @description : a标签预览文件
|
|
175
|
-
* @param {Blob | string} url a标签的预览url或文件流
|
|
176
|
-
* @return {*}
|
|
177
|
-
* @example :
|
|
173
|
+
/**
|
|
174
|
+
* @description : a标签预览文件
|
|
175
|
+
* @param {Blob | string} url a标签的预览url或文件流
|
|
176
|
+
* @return {*}
|
|
177
|
+
* @example :
|
|
178
178
|
*/
|
|
179
179
|
function previewFile(url) {
|
|
180
180
|
var eLink = document.createElement('a');
|
|
@@ -187,13 +187,13 @@ function previewFile(url) {
|
|
|
187
187
|
document.body.removeChild(eLink);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
-
/**
|
|
191
|
-
* @description : 以递归方式深度查找一个对象
|
|
192
|
-
* @param {Record} object 待查找的对象
|
|
193
|
-
* @param {function} fn 查找函数,每次递归时执行,如果执行结果为true,则递归过程并返回当前对象
|
|
194
|
-
* @param {number} maxDepth 递归的最大深度,默认10
|
|
195
|
-
* @return {*} 查找到的对象,未查找到则返回undefined
|
|
196
|
-
* @example :
|
|
190
|
+
/**
|
|
191
|
+
* @description : 以递归方式深度查找一个对象
|
|
192
|
+
* @param {Record} object 待查找的对象
|
|
193
|
+
* @param {function} fn 查找函数,每次递归时执行,如果执行结果为true,则递归过程并返回当前对象
|
|
194
|
+
* @param {number} maxDepth 递归的最大深度,默认10
|
|
195
|
+
* @return {*} 查找到的对象,未查找到则返回undefined
|
|
196
|
+
* @example :
|
|
197
197
|
*/
|
|
198
198
|
// eslint-disable-next-line no-unused-vars
|
|
199
199
|
function deepFindObject(object, fn) {
|
|
@@ -223,13 +223,13 @@ function deepFindObject(object, fn) {
|
|
|
223
223
|
return recursive(object, undefined, '', fn, {});
|
|
224
224
|
}
|
|
225
225
|
|
|
226
|
-
/**
|
|
227
|
-
* @description : 以递归方式深度查找一个Jsx对象
|
|
228
|
-
* @param {Record} object 待查找的Jsx对象
|
|
229
|
-
* @param {function} fn 查找函数,每次递归时执行,如果执行结果为true,则停止递归过程并返回当前对象
|
|
230
|
-
* @param {number} maxDepth 递归的最大深度,默认10
|
|
231
|
-
* @return {*} 查找到的对象,未查找到则返回undefined
|
|
232
|
-
* @example :
|
|
226
|
+
/**
|
|
227
|
+
* @description : 以递归方式深度查找一个Jsx对象
|
|
228
|
+
* @param {Record} object 待查找的Jsx对象
|
|
229
|
+
* @param {function} fn 查找函数,每次递归时执行,如果执行结果为true,则停止递归过程并返回当前对象
|
|
230
|
+
* @param {number} maxDepth 递归的最大深度,默认10
|
|
231
|
+
* @return {*} 查找到的对象,未查找到则返回undefined
|
|
232
|
+
* @example :
|
|
233
233
|
*/
|
|
234
234
|
// eslint-disable-next-line no-unused-vars
|
|
235
235
|
function deepFindJsx(object, fn) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ILoadingInstance, LoadingInstanceProps } from './interface';
|
|
2
2
|
import './styles/index.less';
|
|
3
|
-
declare function Loading(props: LoadingInstanceProps
|
|
3
|
+
declare function Loading(props: LoadingInstanceProps & {
|
|
4
|
+
isBodyContainer?: boolean;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
4
6
|
declare namespace Loading {
|
|
5
7
|
var newInstance: (args?: LoadingInstanceProps | undefined) => ILoadingInstance;
|
|
6
8
|
}
|
|
@@ -2,7 +2,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["delay"],
|
|
5
|
+
var _excluded = ["delay", "isBodyContainer"],
|
|
6
6
|
_excluded2 = ["container"];
|
|
7
7
|
import { Spin } from 'antd';
|
|
8
8
|
import classNames from 'classnames';
|
|
@@ -10,37 +10,45 @@ import { useContext, useEffect, useRef, useState } from 'react';
|
|
|
10
10
|
import ReactDOM from 'react-dom';
|
|
11
11
|
import { ConfigContext } from "../ConfigProvider";
|
|
12
12
|
import "./styles/index.less";
|
|
13
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
15
|
function Loading(props) {
|
|
17
16
|
var delay = props.delay,
|
|
17
|
+
isBodyContainer = props.isBodyContainer,
|
|
18
18
|
other = _objectWithoutProperties(props, _excluded);
|
|
19
19
|
var _useContext = useContext(ConfigContext),
|
|
20
20
|
prefixCls = _useContext.prefixCls,
|
|
21
21
|
getPrefixCls = _useContext.getPrefixCls;
|
|
22
22
|
var classname = getPrefixCls('loading');
|
|
23
|
-
var wrapperClass = classNames(_defineProperty({}, "".concat(prefixCls, "-loading"), !!prefixCls), classname
|
|
23
|
+
var wrapperClass = classNames(_defineProperty({}, "".concat(prefixCls, "-loading"), !!prefixCls), classname, {
|
|
24
|
+
'body-container': isBodyContainer
|
|
25
|
+
});
|
|
24
26
|
var _useState = useState(false),
|
|
25
27
|
_useState2 = _slicedToArray(_useState, 2),
|
|
26
28
|
visible = _useState2[0],
|
|
27
29
|
setVisible = _useState2[1];
|
|
28
30
|
var timer = useRef();
|
|
29
31
|
useEffect(function () {
|
|
30
|
-
|
|
32
|
+
if (isBodyContainer) {
|
|
33
|
+
document.body.style.overflow = 'hidden';
|
|
34
|
+
}
|
|
31
35
|
return function () {
|
|
32
|
-
|
|
36
|
+
if (isBodyContainer) {
|
|
37
|
+
document.body.style.overflow = '';
|
|
38
|
+
}
|
|
33
39
|
};
|
|
34
|
-
}, []);
|
|
40
|
+
}, [isBodyContainer]);
|
|
35
41
|
useEffect(function () {
|
|
36
|
-
timer.current = setTimeout(function () {
|
|
42
|
+
timer.current = window.setTimeout(function () {
|
|
37
43
|
return setVisible(true);
|
|
38
44
|
}, delay || 0);
|
|
39
45
|
return function () {
|
|
40
|
-
|
|
46
|
+
if (timer.current) {
|
|
47
|
+
window.clearTimeout(timer.current);
|
|
48
|
+
}
|
|
41
49
|
};
|
|
42
50
|
}, [delay]);
|
|
43
|
-
if (!visible) return
|
|
51
|
+
if (!visible) return null;
|
|
44
52
|
return /*#__PURE__*/_jsxs("div", {
|
|
45
53
|
className: wrapperClass,
|
|
46
54
|
children: [/*#__PURE__*/_jsx("div", {
|
|
@@ -62,24 +70,41 @@ Loading.newInstance = function newNotificationInstance(args) {
|
|
|
62
70
|
var _ref = args || {},
|
|
63
71
|
container = _ref.container,
|
|
64
72
|
otherProps = _objectWithoutProperties(_ref, _excluded2);
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
element
|
|
71
|
-
element.style.position = 'relative';
|
|
73
|
+
var element;
|
|
74
|
+
var createdDiv = document.createElement('div');
|
|
75
|
+
var isBodyContainer = !container || container === document.body;
|
|
76
|
+
if (isBodyContainer) {
|
|
77
|
+
document.body.appendChild(createdDiv);
|
|
78
|
+
element = createdDiv;
|
|
72
79
|
} else {
|
|
73
|
-
|
|
80
|
+
// eslint-disable-next-line react/no-find-dom-node
|
|
81
|
+
var containerElement = ReactDOM.findDOMNode(container);
|
|
82
|
+
element = containerElement;
|
|
83
|
+
|
|
84
|
+
// 确保容器有相对定位
|
|
85
|
+
if (element) {
|
|
86
|
+
var computedStyle = window.getComputedStyle(element);
|
|
87
|
+
if (!computedStyle.position || computedStyle.position === 'static') {
|
|
88
|
+
element.style.position = 'relative';
|
|
89
|
+
}
|
|
90
|
+
element.appendChild(createdDiv);
|
|
91
|
+
}
|
|
74
92
|
}
|
|
75
|
-
|
|
93
|
+
|
|
94
|
+
// 在新创建的div元素上渲染Loading组件,避免替换原有内容
|
|
95
|
+
ReactDOM.render( /*#__PURE__*/_jsx(Loading, _objectSpread(_objectSpread({}, otherProps), {}, {
|
|
96
|
+
isBodyContainer: isBodyContainer
|
|
97
|
+
})), createdDiv);
|
|
76
98
|
return {
|
|
77
99
|
destroy: function destroy() {
|
|
78
|
-
ReactDOM.unmountComponentAtNode(
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
100
|
+
ReactDOM.unmountComponentAtNode(createdDiv);
|
|
101
|
+
// 如果是我们创建的div,则从DOM中移除
|
|
102
|
+
if (createdDiv && createdDiv.parentNode) {
|
|
103
|
+
createdDiv.parentNode.removeChild(createdDiv);
|
|
104
|
+
}
|
|
105
|
+
// 如果是body容器,清理overflow样式
|
|
106
|
+
if (isBodyContainer) {
|
|
107
|
+
document.body.style.overflow = '';
|
|
83
108
|
}
|
|
84
109
|
}
|
|
85
110
|
};
|
|
@@ -1,25 +1,37 @@
|
|
|
1
|
-
@import '../../commonStyle/index.less';
|
|
2
|
-
|
|
3
|
-
.@{prefix}-loading {
|
|
4
|
-
.mask {
|
|
5
|
-
position:
|
|
6
|
-
top: 0;
|
|
7
|
-
left: 0;
|
|
8
|
-
z-index: 100000;
|
|
9
|
-
width: 100%;
|
|
10
|
-
height: 100%;
|
|
11
|
-
overflow: hidden;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
1
|
+
@import '../../commonStyle/index.less';
|
|
2
|
+
|
|
3
|
+
.@{prefix}-loading {
|
|
4
|
+
.mask {
|
|
5
|
+
position: absolute;
|
|
6
|
+
top: 0;
|
|
7
|
+
left: 0;
|
|
8
|
+
z-index: 100000;
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 100%;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
background: rgba(0, 0, 0, 30%); // 添加半透明背景色
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.loading {
|
|
16
|
+
position: absolute;
|
|
17
|
+
top: 50%;
|
|
18
|
+
left: 50%;
|
|
19
|
+
z-index: 100001;
|
|
20
|
+
padding: 20px;
|
|
21
|
+
background: rgba(255, 255, 255, 90%); // 调整背景透明度
|
|
22
|
+
border-radius: 10px;
|
|
23
|
+
box-shadow: 3px 3px 3px rgba(0, 0, 0, 20%); // 调整阴影
|
|
24
|
+
transform: translate(-50%, -50%);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* 当挂载到body时使用fixed定位 */
|
|
28
|
+
&.body-container {
|
|
29
|
+
.mask {
|
|
30
|
+
position: fixed;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.loading {
|
|
34
|
+
position: fixed;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
import { DFormProps, DModalProps } from "..";
|
|
3
3
|
export type ModalFormProps = {
|
|
4
4
|
modalProps: DModalProps & {
|
|
5
|
-
|
|
5
|
+
onError?: (_error: any) => void;
|
|
6
|
+
};
|
|
7
|
+
formProps: DFormProps & {
|
|
8
|
+
values?: any;
|
|
6
9
|
};
|
|
7
|
-
formProps: DFormProps;
|
|
8
10
|
children?: React.ReactNode;
|
|
9
11
|
};
|
|
10
12
|
declare const _default: (props: ModalFormProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
3
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
2
4
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
5
|
import { DForm, DModal } from "./..";
|
|
6
|
+
import { useEffect, useState, useMemo } from 'react';
|
|
4
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
9
|
export default (function (props) {
|
|
@@ -10,18 +13,83 @@ export default (function (props) {
|
|
|
10
13
|
children = props.children;
|
|
11
14
|
var _ref = modalProps || {},
|
|
12
15
|
open = _ref.open,
|
|
13
|
-
onOk = _ref.onOk
|
|
16
|
+
onOk = _ref.onOk,
|
|
17
|
+
onError = _ref.onError;
|
|
18
|
+
// 使用内部isLoading状态,当外部没有提供confirmLoading时自动管理
|
|
19
|
+
var _useState = useState(false),
|
|
20
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
21
|
+
isLoading = _useState2[0],
|
|
22
|
+
setIsLoading = _useState2[1];
|
|
14
23
|
var _DForm$useForm = DForm.useForm(),
|
|
15
24
|
_DForm$useForm2 = _slicedToArray(_DForm$useForm, 1),
|
|
16
25
|
form = _DForm$useForm2[0];
|
|
26
|
+
var formInstance = (formProps === null || formProps === void 0 ? void 0 : formProps.form) || form;
|
|
27
|
+
var finalLoading = useMemo(function () {
|
|
28
|
+
return modalProps.confirmLoading !== undefined ? modalProps.confirmLoading : isLoading;
|
|
29
|
+
}, [isLoading, modalProps.confirmLoading]);
|
|
17
30
|
var modalFooter = !!(formProps !== null && formProps !== void 0 && formProps.disabled) ? {
|
|
18
31
|
footer: null
|
|
19
32
|
} : {};
|
|
20
|
-
var handleOk = function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
var handleOk = /*#__PURE__*/function () {
|
|
34
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
35
|
+
var values;
|
|
36
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
37
|
+
while (1) switch (_context.prev = _context.next) {
|
|
38
|
+
case 0:
|
|
39
|
+
_context.prev = 0;
|
|
40
|
+
_context.next = 3;
|
|
41
|
+
return form.validateFields();
|
|
42
|
+
case 3:
|
|
43
|
+
values = _context.sent;
|
|
44
|
+
if (!onOk) {
|
|
45
|
+
_context.next = 8;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
// 如果外部没有提供loading状态,内部自动管理
|
|
49
|
+
if (modalProps.confirmLoading === undefined) {
|
|
50
|
+
setIsLoading(true);
|
|
51
|
+
}
|
|
52
|
+
_context.next = 8;
|
|
53
|
+
return onOk === null || onOk === void 0 ? void 0 : onOk(values);
|
|
54
|
+
case 8:
|
|
55
|
+
_context.next = 14;
|
|
56
|
+
break;
|
|
57
|
+
case 10:
|
|
58
|
+
_context.prev = 10;
|
|
59
|
+
_context.t0 = _context["catch"](0);
|
|
60
|
+
console.error('Form validation failed:', _context.t0);
|
|
61
|
+
onError === null || onError === void 0 || onError(_context.t0);
|
|
62
|
+
case 14:
|
|
63
|
+
_context.prev = 14;
|
|
64
|
+
if (modalProps.confirmLoading === undefined) {
|
|
65
|
+
setIsLoading(false);
|
|
66
|
+
}
|
|
67
|
+
return _context.finish(14);
|
|
68
|
+
case 17:
|
|
69
|
+
case "end":
|
|
70
|
+
return _context.stop();
|
|
71
|
+
}
|
|
72
|
+
}, _callee, null, [[0, 10, 14, 17]]);
|
|
73
|
+
}));
|
|
74
|
+
return function handleOk() {
|
|
75
|
+
return _ref2.apply(this, arguments);
|
|
76
|
+
};
|
|
77
|
+
}();
|
|
78
|
+
useEffect(function () {
|
|
79
|
+
if (open) {
|
|
80
|
+
var _Object$keys;
|
|
81
|
+
formInstance.resetFields();
|
|
82
|
+
var values = formProps === null || formProps === void 0 ? void 0 : formProps.values;
|
|
83
|
+
var isEmpty = values && ((_Object$keys = Object.keys(values)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) === 0 && (values === null || values === void 0 ? void 0 : values.constructor) === Object;
|
|
84
|
+
if (isEmpty) {
|
|
85
|
+
formInstance.setFieldsValue({});
|
|
86
|
+
} else {
|
|
87
|
+
formInstance.setFieldsValue(values);
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
setIsLoading(false);
|
|
91
|
+
}
|
|
92
|
+
}, [open, formProps.values]);
|
|
25
93
|
return /*#__PURE__*/_jsxs(DModal, _objectSpread(_objectSpread(_objectSpread({
|
|
26
94
|
open: open,
|
|
27
95
|
style: {
|
|
@@ -34,7 +102,8 @@ export default (function (props) {
|
|
|
34
102
|
bodyStyle: {
|
|
35
103
|
maxHeight: '600px',
|
|
36
104
|
overflowY: 'auto'
|
|
37
|
-
}
|
|
105
|
+
},
|
|
106
|
+
confirmLoading: finalLoading
|
|
38
107
|
}, modalFooter), _objectSpread(_objectSpread({}, modalProps), {}, {
|
|
39
108
|
onOk: handleOk
|
|
40
109
|
})), {}, {
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -62,3 +62,5 @@ export { default as AnimatedScrollList } from './AnimatedScrollList';
|
|
|
62
62
|
export type { AnimatedScrollListProps } from './AnimatedScrollList/interface';
|
|
63
63
|
export { default as DRangePicker } from './DRangePicker';
|
|
64
64
|
export type { DRangePickerProps } from './DRangePicker/interface';
|
|
65
|
+
export { default as CRUD } from './CRUD';
|
|
66
|
+
export { type CRUDProps, type CRUDRefProps } from './CRUD';
|
package/dist/esm/index.js
CHANGED
|
@@ -30,4 +30,5 @@ export { default as SignaturePad } from "./SignaturePad";
|
|
|
30
30
|
export { default as ContextMenu } from "./ContextMenu";
|
|
31
31
|
export { default as OrgTree } from "./OrgTree";
|
|
32
32
|
export { default as AnimatedScrollList } from "./AnimatedScrollList";
|
|
33
|
-
export { default as DRangePicker } from "./DRangePicker";
|
|
33
|
+
export { default as DRangePicker } from "./DRangePicker";
|
|
34
|
+
export { default as CRUD } from "./CRUD";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.pui-label-value{display:inline-flex}.pui-label-value span:first-child{max-width:120px;padding-right:4px;white-space:nowrap}.pui-label-value span:last-child{flex:1 1}.pui-label-value span:last-child.no-wrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-search-filter{align-items:center;background-color:#fff;margin-top:10px;width:100%}.pui-search-filter span.ant-collapse-header-text{cursor:auto!important;display:inline-block;width:100%}.pui-search-filter .ant-collapse-content-box{padding:0}.pui-search-filter .search-header{display:flex;width:100%}.pui-search-filter .search-header .left{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:no-wrap}.pui-search-filter .search-header .left :global .ant-radio-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:5px 0 0 5px}.pui-search-filter .search-header .left :global .ant-radio-wrapper:last-child{border-radius:0 5px 5px 0}.pui-search-filter .search-header .left :global .ant-radio-wrapper{border:1px solid #d9d9d9;border-left-color:#fff;margin-right:0;padding:4px 6px}.pui-search-filter .search-header .left :global .ant-radio-wrapper .ant-radio{display:none}.pui-search-filter .search-header .left :global .ant-radio-wrapper:hover{color:#1890ff}.pui-search-filter .search-header .left :global .ant-radio-wrapper-checked{background:#fff;border:1px solid #1890ff;border-left:1px solid #1890ff!important;color:#1890ff;z-index:1}.pui-search-filter .search-header .right{display:flex;justify-content:center}.pui-search-filter .search-header .right .input{border-radius:4px;width:200px}.pui-search-filter .search-header .right .button{background-color:#ff7e00;border-radius:4px;color:#fff;margin-left:10px}.pui-search-filter .search-header .right .button:active,.pui-search-filter .search-header .right .button:focus,.pui-search-filter .search-header .right .button:hover{border-color:transparent}.pui-search-filter .search-header .right .button .icon{margin-left:8px;transition:transform .4s}.pui-search-filter .search-header .right .button .icon.down{transform:rotate(180deg)}.pui-search-filter .search-header .right .button .icon.up{transform:rotate(0deg)}.pui-search-filter .title{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-weight:700;margin:0 10px;padding-bottom:10px}.pui-search-filter .title span.icon{background-color:#ff7e00;border-radius:2px;height:16px;margin-right:6px;width:4px}.pui-search-filter .search-content .filter-row{display:flex;flex-wrap:wrap;padding:10px;width:100%}.pui-search-filter .search-content .filter-col{height:30px;line-height:30px;margin-bottom:10px}.pui-search-filter .search-content .filter-col .ant-picker{width:100%}.pui-search-filter .search-content .search-btn{justify-content:center}.pui-search-filter .search-content .search-btn>button{margin:0 5px}.pui-error-boundary{align-items:center;background-color:#dd7f7f;border-radius:10px;display:flex;flex-direction:column;justify-content:center;margin:20px;padding:15px;width:auto}.pui-error-boundary .error-text{margin-top:20px}.pui-error-boundary .error-refresh{background-color:#4593ef;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;height:40px;line-height:40px;text-align:center;width:140px}.pui-error-boundary .errorDetiles .detilesLink{color:blue}.pui-error-boundary .errorDetiles .errordetails{background-color:#ccc6be;border:1px solid #777;border-radius:5px;color:#777;font-size:80%;padding:10px}.pui-picture-card{display:inline-block;padding:10px;transition:box-shadow .3s linear}.pui-picture-card .info{margin-top:10px}.pui-picture-card-bordered{border:1px solid rgba(0,0,0,.06)}.pui-picture-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09);cursor:pointer}.pui-picture-card.horizontal{display:flex;justify-content:space-around}.pui-loading .mask{height:100%;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:100000}.pui-loading .loading{background:#fff;border-radius:10px;box-shadow:3px 3px 3px rgba(0,0,0,.2);padding:20px;z-index:100001}.pui-loading .loading,.pui-nodata{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.pui-nodata .not-data-image{display:block;height:100px}.pui-nodata .no-data-text{color:#000;display:inline-block;font-size:14px;font-weight:400;margin-top:5px;opacity:.65;text-align:center;width:100%}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar{height:8px;width:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border-radius:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-track{border-radius:2px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper .ant-select-tree-title{overflow:hidden}.pui-upload .preview .ant-upload-list-item-actions a[target=_blank][rel="noopener noreferrer"]{opacity:1!important;pointer-events:auto!important}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-thumbnail{height:46px}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-name{display:inline;display:initial;position:absolute}.pui-table .ant-spin-container,.pui-table .ant-spin-nested-loading,.pui-table .ant-table,.pui-table .ant-table-container{height:100%;width:100%}.pui-table .ant-table-body{max-height:calc(100% - 56px);max-width:100%;min-height:calc(100% - 56px);min-width:100%;overflow-y:auto!important;position:absolute}.pui-table .ant-table-body .ant-table-tbody>tr>td.ant-table-cell.d-table-cell-wrap{white-space:normal}.pui-table .ant-table-body::-webkit-scrollbar{height:8px;width:4px}.pui-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#0084ff}.pui-table .ant-table-body::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:2px}.pui-table .ant-table-body::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-table .ant-spin-nested-loading>div>.ant-spin{max-height:none}.pui-table .ant-pagination-total-text span{color:#40a9ff;font-weight:700}.pui-table.height-on-page .ant-table{height:calc(100% - 56px)}.pui-ip-address{border:1px solid #d9d9d9;border-radius:2px;display:inline-block;transition:all .3s}.pui-ip-address.small{height:24px}.pui-ip-address.large{padding:6.5px 10px}.pui-ip-address.middle{padding:4px 10px}.pui-ip-address.disabled{background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;color:rgba(0,0,0,.25);cursor:not-allowed;opacity:1}.pui-ip-address.disabled:hover{border-color:#d9d9d9}.pui-ip-address:hover{border-color:#4d90ff}.pui-ip-address:focus-within{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.pui-ip-address input{font-feature-settings:"tnum","tnum";background:none;border:none;box-sizing:border-box;color:#000000d9;display:inline-block;font-size:14px;font-variant:tabular-nums;line-height:1.5715;margin:0;outline:0;padding:0;position:relative;text-align:center}.pui-ip-address input[disabled]{color:inherit;cursor:not-allowed}.pui-ip-address input[type=number]{appearance:textfield}.pui-ip-address input[type=number]::-webkit-inner-spin-button,.pui-ip-address input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.pui-range-picker-left .ant-picker-panel-container,.pui-range-picker-right .ant-picker-panel-container{display:flex}.pui-range-picker-left .ant-picker-footer,.pui-range-picker-right .ant-picker-footer{flex:1 1;min-width:40px}.pui-range-picker-left .ant-picker-ranges,.pui-range-picker-right .ant-picker-ranges{display:flex;flex-direction:column}.pui-range-picker-left .ant-picker-preset .ant-tag,.pui-range-picker-right .ant-picker-preset .ant-tag{margin-right:0}.pui-range-picker-left .ant-picker-panel-container{flex-direction:row-reverse}.pui-form .form-wrapper>.ant-form-item{margin-bottom:24px;margin-right:0;min-height:32px}.pui-form .ant-input-number,.pui-form .ant-picker{width:100%}.pui-form.ant-form-horizontal .form-wrapper>.ant-form-item:last-child,.pui-form.ant-form-vertical .form-wrapper>.ant-form-item:last-child{margin-bottom:0}.pui-form.ant-form-horizontal .ant-form-item-label{min-width:80px}.pui-form.ant-form-inline .form-wrapper,.pui-form.ant-form-inline.inlineVertical .form-wrapper{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;height:min-content}.pui-form.ant-form-inline .form-wrapper>.ant-form-item,.pui-form.ant-form-inline.inlineVertical .form-wrapper>.ant-form-item{padding-right:16px}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row{flex-direction:column}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row .ant-form-item-label{text-align:left}.pui-form.ant-form-inline.inlineVertical .grid-row{flex:1 1}.pui-modal-container .ant-modal-wrap .ant-modal{height:100%;max-width:none}.pui-modal-container .ant-modal-wrap .ant-modal .ant-modal-content{height:100%;width:100%}.pui-absolute-modal-container .ant-modal-wrap{position:fixed}.pui-relative-modal-container .ant-modal-wrap{position:absolute}.pui-color-picker .sketch-picker{box-shadow:none!important;padding:0!important}.trigger{border:5px solid #fff;border-radius:2px;box-shadow:0 0 2px #000;cursor:pointer;display:inline-block;height:26px;width:60px}.pui-typewriter-text{font-feature-settings:none;display:inline-block;font-variant-ligatures:none;min-height:1em;position:relative}.pui-typewriter-text-cursor{animation-fill-mode:both;animation-iteration-count:infinite;animation-name:pc-typewriter-cursor-blink;animation-timing-function:step-end;display:inline-block;margin-left:4px}@keyframes pc-typewriter-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.pui-infinite-scroll-wrapper .ant-list .ant-row{margin-right:0!important}.scroll-container{overflow-x:hidden;overflow-y:auto;position:relative}.scroll-container .backtop{right:50px}.scroll-container .up{background:#007aff;border-radius:3px;color:#fff;text-align:center}.toolbar{background-color:rgba(0,0,0,.5);color:#fff;justify-content:center}.toolbar,.toolbar button{align-items:center;display:flex}.toolbar button{background-color:transparent;border-width:0;cursor:pointer}.toolbar button:hover{background-color:#0074d9}.toolbar .icon>path{fill:#fff}.pui-signature-pad{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.pui-signature-pad-canvas{border:1px solid #d9d9d9;border-radius:4px}.pui-signature-pad-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;text-align:center}.pui-signature-pad-button{background-color:#fff;border:1px solid #1677ff;border-radius:4px;color:#1677ff;cursor:pointer;height:32px;min-width:64px;padding:4px 16px;transition:all .3s}.pui-signature-pad-button:hover{background-color:#f0f5ff}.pui-signature-pad-button:last-child{background-color:#1677ff;color:#fff}.pui-signature-pad-button:last-child:hover{background-color:#4096ff}.pui-context-menu{animation:contextmenu-show .2s ease-out forwards;background:#fff;border:1px solid #f0f0f0;border-radius:1px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);min-width:120px;opacity:0;padding:4px 0;transform:scale(.8);transform-origin:top left}.pui-context-menu-item{align-items:center;color:rgba(0,0,0,.88);cursor:pointer;display:flex;gap:8px;padding:5px 12px;transition:all .3s;-ms-user-select:none;user-select:none}.pui-context-menu-item:hover{background:rgba(0,0,0,.04)}.pui-context-menu-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.pui-context-menu-item-disabled:hover{background:none}.pui-context-menu-item-divider{background:#f0f0f0;height:1px;margin:4px 0}@keyframes contextmenu-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pui-org-tree{align-items:center;display:flex;height:100%;justify-content:center;overflow:auto;position:relative;width:100%}.pui-org-tree .org-tree-node-label{cursor:pointer}.pui-animated-scroll-list{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.pui-animated-scroll-list-header{flex-shrink:0}.pui-animated-scroll-list-body{overflow:hidden;position:relative}.pui-animated-scroll-list-content{position:relative}
|
|
1
|
+
.pui-label-value{display:inline-flex}.pui-label-value span:first-child{max-width:120px;padding-right:4px;white-space:nowrap}.pui-label-value span:last-child{flex:1 1}.pui-label-value span:last-child.no-wrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-search-filter{align-items:center;background-color:#fff;margin-top:10px;width:100%}.pui-search-filter span.ant-collapse-header-text{cursor:auto!important;display:inline-block;width:100%}.pui-search-filter .ant-collapse-content-box{padding:0}.pui-search-filter .search-header{display:flex;width:100%}.pui-search-filter .search-header .left{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:no-wrap}.pui-search-filter .search-header .left :global .ant-radio-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:5px 0 0 5px}.pui-search-filter .search-header .left :global .ant-radio-wrapper:last-child{border-radius:0 5px 5px 0}.pui-search-filter .search-header .left :global .ant-radio-wrapper{border:1px solid #d9d9d9;border-left-color:#fff;margin-right:0;padding:4px 6px}.pui-search-filter .search-header .left :global .ant-radio-wrapper .ant-radio{display:none}.pui-search-filter .search-header .left :global .ant-radio-wrapper:hover{color:#1890ff}.pui-search-filter .search-header .left :global .ant-radio-wrapper-checked{background:#fff;border:1px solid #1890ff;border-left:1px solid #1890ff!important;color:#1890ff;z-index:1}.pui-search-filter .search-header .right{display:flex;justify-content:center}.pui-search-filter .search-header .right .input{border-radius:4px;width:200px}.pui-search-filter .search-header .right .button{background-color:#ff7e00;border-radius:4px;color:#fff;margin-left:10px}.pui-search-filter .search-header .right .button:active,.pui-search-filter .search-header .right .button:focus,.pui-search-filter .search-header .right .button:hover{border-color:transparent}.pui-search-filter .search-header .right .button .icon{margin-left:8px;transition:transform .4s}.pui-search-filter .search-header .right .button .icon.down{transform:rotate(180deg)}.pui-search-filter .search-header .right .button .icon.up{transform:rotate(0deg)}.pui-search-filter .title{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;font-weight:700;margin:0 10px;padding-bottom:10px}.pui-search-filter .title span.icon{background-color:#ff7e00;border-radius:2px;height:16px;margin-right:6px;width:4px}.pui-search-filter .search-content .filter-row{display:flex;flex-wrap:wrap;padding:10px;width:100%}.pui-search-filter .search-content .filter-col{height:30px;line-height:30px;margin-bottom:10px}.pui-search-filter .search-content .filter-col .ant-picker{width:100%}.pui-search-filter .search-content .search-btn{justify-content:center}.pui-search-filter .search-content .search-btn>button{margin:0 5px}.pui-error-boundary{align-items:center;background-color:#dd7f7f;border-radius:10px;display:flex;flex-direction:column;justify-content:center;margin:20px;padding:15px;width:auto}.pui-error-boundary .error-text{margin-top:20px}.pui-error-boundary .error-refresh{background-color:#4593ef;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;height:40px;line-height:40px;text-align:center;width:140px}.pui-error-boundary .errorDetiles .detilesLink{color:blue}.pui-error-boundary .errorDetiles .errordetails{background-color:#ccc6be;border:1px solid #777;border-radius:5px;color:#777;font-size:80%;padding:10px}.pui-picture-card{display:inline-block;padding:10px;transition:box-shadow .3s linear}.pui-picture-card .info{margin-top:10px}.pui-picture-card-bordered{border:1px solid rgba(0,0,0,.06)}.pui-picture-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09);cursor:pointer}.pui-picture-card.horizontal{display:flex;justify-content:space-around}.pui-loading .mask{background:rgba(0,0,0,.3);height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:100000}.pui-loading .loading{background:hsla(0,0%,100%,.9);border-radius:10px;box-shadow:3px 3px 3px rgba(0,0,0,.2);left:50%;padding:20px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:100001}.pui-loading.body-container .loading,.pui-loading.body-container .mask{position:fixed}.pui-nodata{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.pui-nodata .not-data-image{display:block;height:100px}.pui-nodata .no-data-text{color:#000;display:inline-block;font-size:14px;font-weight:400;margin-top:5px;opacity:.65;text-align:center;width:100%}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar{height:8px;width:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border-radius:8px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-track{border-radius:2px}.pui-cascader-dropdown .ant-cascader-menu::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pui-tree-select-dropdown .ant-select-tree-node-content-wrapper .ant-select-tree-title{overflow:hidden}.pui-upload .preview .ant-upload-list-item-actions a[target=_blank][rel="noopener noreferrer"]{opacity:1!important;pointer-events:auto!important}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-thumbnail{height:46px}.pui-upload .ant-upload-list.ant-upload-list-picture-card .ant-upload-span .ant-upload-list-item-name{display:inline;display:initial;position:absolute}.pui-table .ant-spin-container,.pui-table .ant-spin-nested-loading,.pui-table .ant-table,.pui-table .ant-table-container{height:100%;width:100%}.pui-table .ant-table-body{max-height:calc(100% - 56px);max-width:100%;min-height:calc(100% - 56px);min-width:100%;overflow-y:auto!important;position:absolute}.pui-table .ant-table-body .ant-table-tbody>tr>td.ant-table-cell.d-table-cell-wrap{white-space:normal}.pui-table .ant-table-body::-webkit-scrollbar{height:8px;width:4px}.pui-table .ant-table-body::-webkit-scrollbar-thumb{background-color:#0084ff}.pui-table .ant-table-body::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:2px}.pui-table .ant-table-body::-webkit-scrollbar-corner{background-color:#f1f1f1}.pui-table .ant-spin-nested-loading>div>.ant-spin{max-height:none}.pui-table .ant-pagination-total-text span{color:#40a9ff;font-weight:700}.pui-table.height-on-page .ant-table{height:calc(100% - 56px)}.pui-ip-address{border:1px solid #d9d9d9;border-radius:2px;display:inline-block;transition:all .3s}.pui-ip-address.small{height:24px}.pui-ip-address.large{padding:6.5px 10px}.pui-ip-address.middle{padding:4px 10px}.pui-ip-address.disabled{background-color:#f5f5f5;border-color:#d9d9d9;box-shadow:none;color:rgba(0,0,0,.25);cursor:not-allowed;opacity:1}.pui-ip-address.disabled:hover{border-color:#d9d9d9}.pui-ip-address:hover{border-color:#4d90ff}.pui-ip-address:focus-within{border-color:#40a9ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.pui-ip-address input{font-feature-settings:"tnum","tnum";background:none;border:none;box-sizing:border-box;color:#000000d9;display:inline-block;font-size:14px;font-variant:tabular-nums;line-height:1.5715;margin:0;outline:0;padding:0;position:relative;text-align:center}.pui-ip-address input[disabled]{color:inherit;cursor:not-allowed}.pui-ip-address input[type=number]{appearance:textfield}.pui-ip-address input[type=number]::-webkit-inner-spin-button,.pui-ip-address input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.pui-range-picker-left .ant-picker-panel-container,.pui-range-picker-right .ant-picker-panel-container{display:flex}.pui-range-picker-left .ant-picker-footer,.pui-range-picker-right .ant-picker-footer{flex:1 1;min-width:40px}.pui-range-picker-left .ant-picker-ranges,.pui-range-picker-right .ant-picker-ranges{display:flex;flex-direction:column}.pui-range-picker-left .ant-picker-preset .ant-tag,.pui-range-picker-right .ant-picker-preset .ant-tag{margin-right:0}.pui-range-picker-left .ant-picker-panel-container{flex-direction:row-reverse}.pui-form .form-wrapper>.ant-form-item{margin-bottom:24px;margin-right:0;min-height:32px}.pui-form .ant-input-number,.pui-form .ant-picker{width:100%}.pui-form.ant-form-horizontal .form-wrapper>.ant-form-item:last-child,.pui-form.ant-form-vertical .form-wrapper>.ant-form-item:last-child{margin-bottom:0}.pui-form.ant-form-horizontal .ant-form-item-label{min-width:80px}.pui-form.ant-form-inline .form-wrapper,.pui-form.ant-form-inline.inlineVertical .form-wrapper{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;height:min-content}.pui-form.ant-form-inline .form-wrapper>.ant-form-item,.pui-form.ant-form-inline.inlineVertical .form-wrapper>.ant-form-item{padding-right:16px}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row{flex-direction:column}.pui-form.ant-form-inline.inlineVertical .ant-form-item-row .ant-form-item-label{text-align:left}.pui-form.ant-form-inline.inlineVertical .grid-row{flex:1 1}.pui-modal-container .ant-modal-wrap .ant-modal{height:100%;max-width:none}.pui-modal-container .ant-modal-wrap .ant-modal .ant-modal-content{height:100%;width:100%}.pui-absolute-modal-container .ant-modal-wrap{position:fixed}.pui-relative-modal-container .ant-modal-wrap{position:absolute}.pui-color-picker .sketch-picker{box-shadow:none!important;padding:0!important}.trigger{border:5px solid #fff;border-radius:2px;box-shadow:0 0 2px #000;cursor:pointer;display:inline-block;height:26px;width:60px}.pui-typewriter-text{font-feature-settings:none;display:inline-block;font-variant-ligatures:none;min-height:1em;position:relative}.pui-typewriter-text-cursor{animation-fill-mode:both;animation-iteration-count:infinite;animation-name:pc-typewriter-cursor-blink;animation-timing-function:step-end;display:inline-block;margin-left:4px}@keyframes pc-typewriter-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.pui-infinite-scroll-wrapper .ant-list .ant-row{margin-right:0!important}.scroll-container{overflow-x:hidden;overflow-y:auto;position:relative}.scroll-container .backtop{right:50px}.scroll-container .up{background:#007aff;border-radius:3px;color:#fff;text-align:center}.toolbar{background-color:rgba(0,0,0,.5);color:#fff;justify-content:center}.toolbar,.toolbar button{align-items:center;display:flex}.toolbar button{background-color:transparent;border-width:0;cursor:pointer}.toolbar button:hover{background-color:#0074d9}.toolbar .icon>path{fill:#fff}.pui-signature-pad{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.pui-signature-pad-canvas{border:1px solid #d9d9d9;border-radius:4px}.pui-signature-pad-toolbar{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;text-align:center}.pui-signature-pad-button{background-color:#fff;border:1px solid #1677ff;border-radius:4px;color:#1677ff;cursor:pointer;height:32px;min-width:64px;padding:4px 16px;transition:all .3s}.pui-signature-pad-button:hover{background-color:#f0f5ff}.pui-signature-pad-button:last-child{background-color:#1677ff;color:#fff}.pui-signature-pad-button:last-child:hover{background-color:#4096ff}.pui-context-menu{animation:contextmenu-show .2s ease-out forwards;background:#fff;border:1px solid #f0f0f0;border-radius:1px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);min-width:120px;opacity:0;padding:4px 0;transform:scale(.8);transform-origin:top left}.pui-context-menu-item{align-items:center;color:rgba(0,0,0,.88);cursor:pointer;display:flex;gap:8px;padding:5px 12px;transition:all .3s;-ms-user-select:none;user-select:none}.pui-context-menu-item:hover{background:rgba(0,0,0,.04)}.pui-context-menu-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.pui-context-menu-item-disabled:hover{background:none}.pui-context-menu-item-divider{background:#f0f0f0;height:1px;margin:4px 0}@keyframes contextmenu-show{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pui-org-tree{align-items:center;display:flex;height:100%;justify-content:center;overflow:auto;position:relative;width:100%}.pui-org-tree .org-tree-node-label{cursor:pointer}.pui-animated-scroll-list{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.pui-animated-scroll-list-header{flex-shrink:0}.pui-animated-scroll-list-body{overflow:hidden;position:relative}.pui-animated-scroll-list-content{position:relative}.pui-crud{display:flex;flex-direction:column;height:100%}.pui-crud.fullscreen{background-color:#fff;inset:0;padding:10px;position:fixed;z-index:10000}.pui-crud-action-tool-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.pui-crud-action-bar,.pui-crud-tool-bar{align-items:center;display:flex;gap:8px;justify-content:flex-start}.pui-crud .tool-icon{border:1px solid #e3e3e3;border-radius:50%;cursor:pointer;font-size:15px;padding:5px}.pui-crud .tool-icon:hover{border-color:#2e4dd9;color:#2e4dd9}.pui-crud .tool-icon.rotating{animation:rotating .5s linear}.pui-crud .column-setting-popup .ant-popover-title{padding-left:10px;padding-right:10px}.pui-crud .column-setting-popup .ant-popover-inner-content{padding:8px 0 4px;width:100%}.pui-crud .column-setting-popup .column-setting-title{align-items:center;display:flex;justify-content:space-between}.pui-crud .column-setting-popup .column-setting-list{display:flex;flex-direction:column;list-style:none;margin-bottom:0;max-height:300px;overflow-y:auto;padding:5px 0;padding-inline-start:0}.pui-crud .column-setting-popup .column-setting-list::-webkit-scrollbar{width:5px}.pui-crud .column-setting-popup .column-setting-list::-webkit-scrollbar-track{border-radius:3px}.pui-crud .column-setting-popup .column-setting-list::-webkit-scrollbar-thumb{background:#8b8b8b;border-radius:3px;width:5px}.pui-crud .column-setting-popup .column-setting-item{align-items:center;border-radius:4px;display:flex;margin-bottom:2px;min-height:32px;padding:8px 10px;-ms-user-select:none;user-select:none}.pui-crud .column-setting-popup .column-setting-item:hover{background-color:#f5f5f5}.pui-crud .column-setting-popup .column-drag-handle{align-items:center;color:#666;cursor:move;display:flex;margin-right:8px}.pui-crud .column-setting-popup .column-setting-footer{border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;padding-top:4px}.pui-crud .pui-form{overflow:hidden;transition:all .3s ease-in-out}.pui-crud .pui-form.visible{max-height:300px}.pui-crud .pui-form.hidden{max-height:0}.pui-crud-table{flex:1 1}.pui-crud-modalform-view .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before{display:none}@keyframes rotating{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
|