@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.
@@ -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 || (typeof url === 'string' ? '新建文件' : (url === null || url === void 0 ? void 0 : url.name) || '新建文件');
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): import("react/jsx-runtime").JSX.Element;
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
- document.body.style.overflow = 'hidden';
32
+ if (isBodyContainer) {
33
+ document.body.style.overflow = 'hidden';
34
+ }
31
35
  return function () {
32
- document.body.style.overflow = '';
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
- clearTimeout(timer.current);
46
+ if (timer.current) {
47
+ window.clearTimeout(timer.current);
48
+ }
41
49
  };
42
50
  }, [delay]);
43
- if (!visible) return /*#__PURE__*/_jsx(_Fragment, {});
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 div = document.createElement('div');
66
-
67
- // eslint-disable-next-line react/no-find-dom-node
68
- var element = ReactDOM.findDOMNode(container);
69
- if (element) {
70
- element.appendChild(div);
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
- document.body.appendChild(div);
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
- ReactDOM.render( /*#__PURE__*/_jsx(Loading, _objectSpread({}, otherProps)), div);
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(div);
79
- if (element) {
80
- element === null || element === void 0 || element.removeChild(div);
81
- } else {
82
- document.body.removeChild(div);
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: fixed;
6
- top: 0;
7
- left: 0;
8
- z-index: 100000;
9
- width: 100%;
10
- height: 100%;
11
- overflow: hidden;
12
- }
13
-
14
- .loading {
15
- position: absolute;
16
- top: 50%;
17
- left: 50%;
18
- z-index: 100001;
19
- padding: 20px;
20
- background: #fff;
21
- border-radius: 10px;
22
- box-shadow: 3px 3px 3px rgba(0, 0, 0, 20%);
23
- transform: translate(-50%, -50%);
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
- width?: number;
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 handleOk() {
21
- form.validateFields().then(function (values) {
22
- onOk === null || onOk === void 0 || onOk(values);
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
  })), {}, {
@@ -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)}}