@pointcloud/pcloud-components 1.0.4 → 1.0.5

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 CHANGED
@@ -1,157 +1,157 @@
1
- # @pointcloud/pcloud-components
2
-
3
- [![NPM version](https://img.shields.io/npm/v/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
4
- [![NPM downloads](https://img.shields.io/npm/dm/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
5
- ![Jest Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?style=flat)
6
- [![License](https://img.shields.io/npm/l/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
7
-
8
- 一套基于 Ant Design v4.24.16 和 React v18 开发的业务组件库,包含 30+ 个高质量组件,可帮助您快速构建企业级中后台产品原型。
9
-
10
- ## 🎁 组件列表
11
-
12
- ### 表单组件
13
-
14
- | 组件名称 | 描述 |
15
- | --------------- | ----------------------------------- |
16
- | DForm | 基于 Ant Design Form 的增强表单组件 |
17
- | DInput | 增强版输入框组件 |
18
- | DSelect | 支持异步加载的下拉选择组件 |
19
- | DCascader | 支持异步加载的级联选择组件 |
20
- | DTreeSelect | 支持异步加载的树选择组件 |
21
- | DUpload | 文件上传组件 |
22
- | DRangePicker | 日期选择组件 |
23
- | DynamicFormItem | 动态表单组件 |
24
-
25
- ### 数据展示类
26
-
27
- | 组件名称 | 描述 |
28
- | ------------------ | ---------------- |
29
- | DTable | 增强版表格组件 |
30
- | LabelValue | 标签值展示组件 |
31
- | WordCloud | 词云组件 |
32
- | ScrollNumber | 数字滚动动画组件 |
33
- | AspectRatio | 宽高比容器组件 |
34
- | NoData | 无数据展示组件 |
35
- | IPAddress | IP 地址输入组件 |
36
- | AnimatedScrollList | 动画滚动列表组件 |
37
- | OrgTree | 组织树组件 |
38
- | TypewriterText | 打字机组件 |
39
- | ErrorBoundary | 错误边界组件 |
40
- | IconFont | 自定义图标组件 |
41
-
42
- ### 模态框
43
-
44
- | 组件名称 | 描述 |
45
- | --------- | ---------------- |
46
- | DModal | 增强版模态框组件 |
47
- | ModalForm | 表单模态框组件 |
48
- | LoginForm | 登录表单组件 |
49
-
50
- ### 其他
51
-
52
- | 组件名称 | 描述 |
53
- | ------------------ | ------------------ |
54
- | Loading | 全局加载组件 |
55
- | ContextMenu | 右键菜单组件 |
56
- | AdvancedFilter | 高级筛选组件 |
57
- | InfiniteScrollList | 无限滚动列表组件 |
58
- | PictureCard | 图片卡片组件 |
59
- | SignaturePad | 签名板组件 |
60
- | RndDrag | 可拖拽调整大小组件 |
61
- | RCropper | 图片裁剪组件 |
62
- | CRUD | CRUD 组件 |
63
- | AuthComponent | 权限组件 |
64
- | ColorPicker | 颜色选择器组件 |
65
-
66
- ## 🚀 安装
67
-
68
- ```bash
69
- # 使用 npm
70
- npm install @pointcloud/pcloud-components
71
-
72
- # 使用 yarn
73
- yarn add @pointcloud/pcloud-components
74
-
75
- # 使用 pnpm
76
- pnpm add @pointcloud/pcloud-components
77
- ```
78
-
79
- ## 🔨 快速开始
80
-
81
- 通过 umd 引入时,需要先引入`react`和`react-dom`, 示例:
82
-
83
- ```html
84
- <link rel="stylesheet" href="https://unpkg.com/@pointcloud/pcloud-components@1.0.0/dist/umd/pcloud-components.min.css" />
85
- <script src="https://unpkg.com/react@18.3.1/umd/react.production.min.js"></script>
86
- <script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.production.min.js"></script>
87
- <script src="https://unpkg.com/@pointcloud/pcloud-components@1.0.0/dist/umd/pcloud-components.min.js"></script>
88
- ```
89
-
90
- ### 1. 基础使用
91
-
92
- ```jsx
93
- import React from 'react';
94
- import { DCascader } from '@pointcloud/pcloud-components';
95
-
96
- const App = () => {
97
- const handleChange = (value, selectedOptions) => {
98
- console.log(value, selectedOptions);
99
- };
100
-
101
- return <DCascader showSearch placeholder="请选择" onChange={handleChange} />;
102
- };
103
-
104
- export default App;
105
- ```
106
-
107
- ### 2. 使用表单组件
108
-
109
- ```jsx
110
- import React from 'react';
111
- import { DForm } from '@pointcloud/pcloud-components';
112
-
113
- const App = () => {
114
- const onFinish = (values) => {
115
- console.log('表单值:', values);
116
- };
117
- const items = [
118
- {
119
- label: '用户名',
120
- name: 'username',
121
- rules: [{ required: true, message: '请输入用户名' }],
122
- renderType: 'input',
123
- },
124
- {
125
- label: '状态',
126
- name: 'status',
127
- rules: [{ required: true, message: '请选择状态' }],
128
- renderType: 'select',
129
- options: [
130
- { label: '启用', value: 1 },
131
- { label: '禁用', value: 0 },
132
- ],
133
- },
134
- {
135
- label: '提交',
136
- renderType: 'button',
137
- type: 'primary',
138
- htmlType: 'submit',
139
- },
140
- ];
141
-
142
- return <DForm onFinish={onFinish} items={items}></DForm>;
143
- };
144
-
145
- export default App;
146
- ```
147
-
148
- ## 📖 详细文档
149
-
150
- 访问我们的[在线文档](https://frank17008.github.io/pcloud-components)查看完整的组件列表和使用示例。
151
-
152
- ## ⚙️ 环境支持
153
-
154
- - React >= 18
155
- - Ant Design <= 4.24.16
156
- - Node >= 16.20.0
157
- - Modern browsers
1
+ # @pointcloud/pcloud-components
2
+
3
+ [![NPM version](https://img.shields.io/npm/v/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
4
+ [![NPM downloads](https://img.shields.io/npm/dm/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
5
+ ![Jest Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?style=flat)
6
+ [![License](https://img.shields.io/npm/l/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
7
+
8
+ 一套基于 Ant Design v4.24.16 和 React v18 开发的业务组件库,包含 30+ 个高质量组件,可帮助您快速构建企业级中后台产品原型。
9
+
10
+ ## 🎁 组件列表
11
+
12
+ ### 表单组件
13
+
14
+ | 组件名称 | 描述 |
15
+ | --------------- | ----------------------------------- |
16
+ | DForm | 基于 Ant Design Form 的增强表单组件 |
17
+ | DInput | 增强版输入框组件 |
18
+ | DSelect | 支持异步加载的下拉选择组件 |
19
+ | DCascader | 支持异步加载的级联选择组件 |
20
+ | DTreeSelect | 支持异步加载的树选择组件 |
21
+ | DUpload | 文件上传组件 |
22
+ | DRangePicker | 日期选择组件 |
23
+ | DynamicFormItem | 动态表单组件 |
24
+
25
+ ### 数据展示类
26
+
27
+ | 组件名称 | 描述 |
28
+ | ------------------ | ---------------- |
29
+ | DTable | 增强版表格组件 |
30
+ | LabelValue | 标签值展示组件 |
31
+ | WordCloud | 词云组件 |
32
+ | ScrollNumber | 数字滚动动画组件 |
33
+ | AspectRatio | 宽高比容器组件 |
34
+ | NoData | 无数据展示组件 |
35
+ | IPAddress | IP 地址输入组件 |
36
+ | AnimatedScrollList | 动画滚动列表组件 |
37
+ | OrgTree | 组织树组件 |
38
+ | TypewriterText | 打字机组件 |
39
+ | ErrorBoundary | 错误边界组件 |
40
+ | IconFont | 自定义图标组件 |
41
+
42
+ ### 模态框
43
+
44
+ | 组件名称 | 描述 |
45
+ | --------- | ---------------- |
46
+ | DModal | 增强版模态框组件 |
47
+ | ModalForm | 表单模态框组件 |
48
+ | LoginForm | 登录表单组件 |
49
+
50
+ ### 其他
51
+
52
+ | 组件名称 | 描述 |
53
+ | ------------------ | ------------------ |
54
+ | Loading | 全局加载组件 |
55
+ | ContextMenu | 右键菜单组件 |
56
+ | AdvancedFilter | 高级筛选组件 |
57
+ | InfiniteScrollList | 无限滚动列表组件 |
58
+ | PictureCard | 图片卡片组件 |
59
+ | SignaturePad | 签名板组件 |
60
+ | RndDrag | 可拖拽调整大小组件 |
61
+ | RCropper | 图片裁剪组件 |
62
+ | CRUD | CRUD 组件 |
63
+ | AuthComponent | 权限组件 |
64
+ | ColorPicker | 颜色选择器组件 |
65
+
66
+ ## 🚀 安装
67
+
68
+ ```bash
69
+ # 使用 npm
70
+ npm install @pointcloud/pcloud-components
71
+
72
+ # 使用 yarn
73
+ yarn add @pointcloud/pcloud-components
74
+
75
+ # 使用 pnpm
76
+ pnpm add @pointcloud/pcloud-components
77
+ ```
78
+
79
+ ## 🔨 快速开始
80
+
81
+ 通过 umd 引入时,需要先引入`react`和`react-dom`, 示例:
82
+
83
+ ```html
84
+ <link rel="stylesheet" href="https://unpkg.com/@pointcloud/pcloud-components@1.0.0/dist/umd/pcloud-components.min.css" />
85
+ <script src="https://unpkg.com/react@18.3.1/umd/react.production.min.js"></script>
86
+ <script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.production.min.js"></script>
87
+ <script src="https://unpkg.com/@pointcloud/pcloud-components@1.0.0/dist/umd/pcloud-components.min.js"></script>
88
+ ```
89
+
90
+ ### 1. 基础使用
91
+
92
+ ```jsx
93
+ import React from 'react';
94
+ import { DCascader } from '@pointcloud/pcloud-components';
95
+
96
+ const App = () => {
97
+ const handleChange = (value, selectedOptions) => {
98
+ console.log(value, selectedOptions);
99
+ };
100
+
101
+ return <DCascader showSearch placeholder="请选择" onChange={handleChange} />;
102
+ };
103
+
104
+ export default App;
105
+ ```
106
+
107
+ ### 2. 使用表单组件
108
+
109
+ ```jsx
110
+ import React from 'react';
111
+ import { DForm } from '@pointcloud/pcloud-components';
112
+
113
+ const App = () => {
114
+ const onFinish = (values) => {
115
+ console.log('表单值:', values);
116
+ };
117
+ const items = [
118
+ {
119
+ label: '用户名',
120
+ name: 'username',
121
+ rules: [{ required: true, message: '请输入用户名' }],
122
+ renderType: 'input',
123
+ },
124
+ {
125
+ label: '状态',
126
+ name: 'status',
127
+ rules: [{ required: true, message: '请选择状态' }],
128
+ renderType: 'select',
129
+ options: [
130
+ { label: '启用', value: 1 },
131
+ { label: '禁用', value: 0 },
132
+ ],
133
+ },
134
+ {
135
+ label: '提交',
136
+ renderType: 'button',
137
+ type: 'primary',
138
+ htmlType: 'submit',
139
+ },
140
+ ];
141
+
142
+ return <DForm onFinish={onFinish} items={items}></DForm>;
143
+ };
144
+
145
+ export default App;
146
+ ```
147
+
148
+ ## 📖 详细文档
149
+
150
+ 访问我们的[在线文档](https://frank17008.github.io/pcloud-components)查看完整的组件列表和使用示例。
151
+
152
+ ## ⚙️ 环境支持
153
+
154
+ - React >= 18
155
+ - Ant Design <= 4.24.16
156
+ - Node >= 16.20.0
157
+ - Modern browsers
@@ -4,6 +4,7 @@
4
4
  height: 100%;
5
5
  display: flex;
6
6
  flex-direction: column;
7
+ overflow: hidden;
7
8
 
8
9
  &.fullscreen {
9
10
  position: fixed;
@@ -134,6 +135,7 @@
134
135
 
135
136
  &-table {
136
137
  flex: 1;
138
+ overflow: hidden;
137
139
  }
138
140
 
139
141
  &-modalform-view {
@@ -7,10 +7,10 @@ export interface ToolbarProps {
7
7
  conditionVisible?: boolean;
8
8
  columns?: DColumnType[];
9
9
  onActions?: {
10
- setFullScreen?: (fullScreen: boolean) => void;
10
+ setFullScreen?: (_fullScreen: boolean) => void;
11
11
  handleRefresh?: () => void;
12
- onColumnSettingChanged?: (checkedList: CheckboxValueType[], sortedColumns?: DColumnType[]) => void;
13
- setConditionVisible?: (visible: boolean) => void;
12
+ onColumnSettingChanged?: (_checkedList: CheckboxValueType[], _sortedColumns?: DColumnType[]) => void;
13
+ setConditionVisible?: (_visible: boolean) => void;
14
14
  };
15
15
  }
16
16
  declare function Toolbar({ className, fullScreen, conditionVisible, columns, onActions }: ToolbarProps): import("react/jsx-runtime").JSX.Element;
@@ -33,11 +33,11 @@ export type DTableRef = {
33
33
  /** 手动刷新列表方法
34
34
  * @param params 可选的新参数,如果不传则使用现有参数
35
35
  */
36
- refresh: (params?: TableParamsProps) => void;
36
+ refresh: (_params?: TableParamsProps) => void;
37
37
  /** 手动刷新列表到指定页数方法
38
38
  * @param page 指定页数
39
39
  */
40
- refreshToPage: (page: number) => void;
40
+ refreshToPage: (_page: number) => void;
41
41
  /** 获取当前分页信息 */
42
42
  getPaginationState: () => {
43
43
  current: number;
@@ -109,16 +109,11 @@ function InternalTable(props, ref) {
109
109
  tableParams = _useState4[0],
110
110
  setTableParams = _useState4[1];
111
111
 
112
- // 隐藏单个分页时, 高度充满
113
- var extraHeight = useMemo(function () {
114
- return _pagination['hideOnSinglePage'] ? 0 : 56;
115
- }, [_pagination]);
116
-
117
- // 默认垂直滚动高度为 calc(100% - 56px),其中56px为表格header高度,如需修改,需要自行覆盖styles中的相关样式
112
+ // 默认垂直滚动高度为 calc(100% - 56px),其中56px为表格header默认高度
118
113
  var _scroll = scroll ? _objectSpread({
119
- y: "calc(100% - ".concat(extraHeight, "px)")
114
+ y: "calc(100% - 56px)"
120
115
  }, scroll) : {
121
- y: "calc(100% - ".concat(extraHeight, "px)")
116
+ y: "calc(100% - 56px)"
122
117
  };
123
118
 
124
119
  // 合并列属性
@@ -1,71 +1,61 @@
1
- @import '../commonStyle/index.less';
2
-
3
- .@{prefix}-table {
4
- .ant-spin-nested-loading,
5
- .ant-spin-container,
6
- .ant-table-container,
7
- .ant-table {
8
- width: 100%;
9
- height: 100%;
10
- }
11
-
12
- // 隐藏表头最后一个滚动样式单元格
13
- // .ant-table-thead .ant-table-cell-scrollbar {
14
- // position: absolute;
15
- // top: -1px;
16
- // border: none;
17
- // box-shadow: none;
18
- // background-color: #2e404d;
19
- // }
20
-
21
- .ant-table-body {
22
- position: absolute;
23
- overflow-y: auto !important;
24
- min-width: 100%;
25
- max-width: 100%;
26
- min-height: calc(100% - 56px);
27
- max-height: calc(100% - 56px);
28
-
29
- // 表内单元格不省略
30
- .ant-table-tbody > tr > td.ant-table-cell.d-table-cell-wrap {
31
- white-space: initial;
32
- }
33
-
34
- // x轨道的宽度和y轨道的高度
35
- &::-webkit-scrollbar {
36
- width: 4px;
37
- height: 8px;
38
- }
39
-
40
- // 轨道拖动部分的背景颜色
41
- &::-webkit-scrollbar-thumb {
42
- background-color: #0084ff;
43
- }
44
-
45
- // 轨道背景颜色
46
- &::-webkit-scrollbar-track {
47
- background-color: #f1f1f1;
48
- border-radius: 2px;
49
- }
50
-
51
- // x、y两条轨道的交叉处
52
- &::-webkit-scrollbar-corner {
53
- background-color: #f1f1f1;
54
- }
55
- }
56
-
57
- .ant-spin-nested-loading > div > .ant-spin {
58
- max-height: initial;
59
- }
60
-
61
- .ant-pagination-total-text span {
62
- color: #40a9ff;
63
- font-weight: bold;
64
- }
65
-
66
- &.height-on-page {
67
- .ant-table {
68
- height: calc(100% - 56px);
69
- }
70
- }
71
- }
1
+ @import '../commonStyle/index.less';
2
+
3
+ .@{prefix}-table {
4
+ .ant-spin-nested-loading,
5
+ .ant-spin-container,
6
+ .ant-table-container,
7
+ .ant-table-content {
8
+ height: 100%;
9
+ }
10
+
11
+ .ant-spin-container,
12
+ .ant-table-container {
13
+ display: flex;
14
+ flex-direction: column;
15
+ overflow: hidden;
16
+ }
17
+
18
+ .ant-table {
19
+ flex: 1;
20
+ overflow: hidden;
21
+ }
22
+
23
+ .ant-table-body {
24
+ overflow-y: auto;
25
+ // 表内单元格不省略
26
+ .ant-table-tbody > tr > td.ant-table-cell.d-table-cell-wrap {
27
+ white-space: initial;
28
+ }
29
+
30
+ // x轨道的宽度和y轨道的高度
31
+ &::-webkit-scrollbar {
32
+ width: 4px;
33
+ height: 8px;
34
+ }
35
+
36
+ // 轨道拖动部分的背景颜色
37
+ &::-webkit-scrollbar-thumb {
38
+ background-color: #0084ff;
39
+ }
40
+
41
+ // 轨道背景颜色
42
+ &::-webkit-scrollbar-track {
43
+ background-color: #f1f1f1;
44
+ border-radius: 2px;
45
+ }
46
+
47
+ // x、y两条轨道的交叉处
48
+ &::-webkit-scrollbar-corner {
49
+ background-color: #f1f1f1;
50
+ }
51
+ }
52
+
53
+ .ant-spin-nested-loading > div > .ant-spin {
54
+ max-height: initial;
55
+ }
56
+
57
+ .ant-pagination-total-text span {
58
+ color: #40a9ff;
59
+ font-weight: bold;
60
+ }
61
+ }
@@ -60,7 +60,7 @@ interface ISLProps<T, P> {
60
60
  /**
61
61
  * @description 列表项点击事件
62
62
  */
63
- onItemClick?: (item: P, index: number) => void;
63
+ onItemClick?: (_item: P, _index: number) => void;
64
64
  }
65
65
  export type InfiniteScrollListProps<T, P> = ISLProps<T, P>;
66
66
  declare const _default: React.MemoExoticComponent<(<T, P>(props: ISLProps<T, P>) => import("react/jsx-runtime").JSX.Element)>;
@@ -115,11 +115,11 @@ var InfiniteScrollList = function InfiniteScrollList(props) {
115
115
  var key = itemElement === null || itemElement === void 0 || (_itemElement$dataset = itemElement.dataset) === null || _itemElement$dataset === void 0 ? void 0 : _itemElement$dataset.key;
116
116
  if (key && ((_listDataRef$current = listDataRef.current) === null || _listDataRef$current === void 0 || (_listDataRef$current = _listDataRef$current.data) === null || _listDataRef$current === void 0 ? void 0 : _listDataRef$current.length) > 0) {
117
117
  var _listDataRef$current$;
118
- var _index = listDataRef.current.data.findIndex(function (item, index) {
118
+ var _index2 = listDataRef.current.data.findIndex(function (item, index) {
119
119
  return item[itemKey] === key || index === Number(key);
120
120
  });
121
- if (_index >= 0 && _index < ((_listDataRef$current$ = listDataRef.current.data) === null || _listDataRef$current$ === void 0 ? void 0 : _listDataRef$current$.length)) {
122
- onItemClick === null || onItemClick === void 0 || onItemClick(listDataRef.current.data[_index], _index);
121
+ if (_index2 >= 0 && _index2 < ((_listDataRef$current$ = listDataRef.current.data) === null || _listDataRef$current$ === void 0 ? void 0 : _listDataRef$current$.length)) {
122
+ onItemClick === null || onItemClick === void 0 || onItemClick(listDataRef.current.data[_index2], _index2);
123
123
  }
124
124
  }
125
125
  }, [itemKey, onItemClick]);
@@ -115,6 +115,7 @@ var LoginForm = /*#__PURE__*/forwardRef(function (props, ref) {
115
115
  }();
116
116
 
117
117
  // 将 restProps 中可能与 items 冲突的属性排除
118
+ // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
118
119
  var children = restProps.children,
119
120
  formPropsWithoutChildren = _objectWithoutProperties(restProps, _excluded2);
120
121
  return /*#__PURE__*/_jsx(DForm, _objectSpread({
@@ -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{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:#1890ff;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,.pui-fixed-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)}}.dynamic-form-item{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px;width:100%}.dynamic-form-item .ant-form-item{flex:1 1;margin-bottom:0}.dynamic-form-item .ant-btn-link{flex-shrink:0}.dynamic-form-item.single .ant-space-item:first-of-type{display:flex;flex:1 1}.dynamic-form-item~.dynamic-form-item .ant-col.ant-form-item-label{visibility:hidden}
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{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:#1890ff;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-container,.pui-table .ant-table-content{height:100%}.pui-table .ant-spin-container,.pui-table .ant-table-container{display:flex;flex-direction:column;overflow:hidden}.pui-table .ant-table{flex:1 1;overflow:hidden}.pui-table .ant-table-body{overflow-y:auto}.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-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,.pui-fixed-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%;overflow:hidden}.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;overflow:hidden}.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)}}.dynamic-form-item{align-items:flex-start;display:flex;gap:8px;margin-bottom:8px;width:100%}.dynamic-form-item .ant-form-item{flex:1 1;margin-bottom:0}.dynamic-form-item .ant-btn-link{flex-shrink:0}.dynamic-form-item.single .ant-space-item:first-of-type{display:flex;flex:1 1}.dynamic-form-item~.dynamic-form-item .ant-col.ant-form-item-label{visibility:hidden}