@pointcloud/pcloud-components 0.1.35 → 0.1.37

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
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![NPM version](https://img.shields.io/npm/v/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
4
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)
5
6
  [![License](https://img.shields.io/npm/l/@pointcloud/pcloud-components.svg?style=flat)](https://npmjs.org/package/@pointcloud/pcloud-components)
6
7
 
7
8
  一套基于 Ant Design v4.24.16 和 React v17.0.2 开发的业务组件库,包含 30+ 个高质量组件,可帮助您快速构建企业级中后台产品原型。
@@ -1,5 +1,8 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import React, { useRef, useEffect } from 'react';
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import React, { useRef, useEffect, useContext } from 'react';
4
+ import classNames from 'classnames';
5
+ import { ConfigContext } from "../ConfigProvider";
3
6
  import { jsx as _jsx } from "react/jsx-runtime";
4
7
  function AspectRatio(_ref) {
5
8
  var _ref$ratio = _ref.ratio,
@@ -9,6 +12,11 @@ function AspectRatio(_ref) {
9
12
  children = _ref.children,
10
13
  style = _ref.style;
11
14
  var ref = useRef(null);
15
+ var _useContext = useContext(ConfigContext),
16
+ prefixCls = _useContext.prefixCls,
17
+ getPrefixCls = _useContext.getPrefixCls;
18
+ var classname = getPrefixCls('aspect-ratio');
19
+ var wrapperClassNames = classNames(_defineProperty({}, "".concat(prefixCls, "-aspect-ratio"), !!prefixCls), classname, className);
12
20
  useEffect(function () {
13
21
  // 兼容旧浏览器:如果不支持 aspect-ratio,则用 padding-top
14
22
  var el = ref.current;
@@ -31,7 +39,7 @@ function AspectRatio(_ref) {
31
39
  }, [ratio]);
32
40
  return /*#__PURE__*/_jsx("div", {
33
41
  ref: ref,
34
- className: className,
42
+ className: wrapperClassNames,
35
43
  style: _objectSpread({
36
44
  aspectRatio: "".concat(ratio),
37
45
  width: '100%',
@@ -10,12 +10,8 @@ import { DTreeSelectProps } from '../../DTreeSelect';
10
10
  import { DUploadProps } from '../../DUpload';
11
11
  import { IPAddressProps } from '../../IPAddress';
12
12
  import { DRangePickerProps } from '../../DRangePicker/interface';
13
- export type DItemBaseProps = {
14
- /** label标签文本,同antd Form.Item的label,只能是string */
15
- label?: string;
16
- /** name标签文本,同antd Form.Item的name */
17
- name?: string | number | (string | number)[];
18
- /** Form.Item 的其他属性 */
13
+ export type RenderType = 'custom' | 'dInput' | 'ipAddress' | 'input' | 'textArea' | 'password' | 'inputNumber' | 'autoComplete' | 'dSelect' | 'select' | 'dCascader' | 'cascader' | 'dTreeSelect' | 'treeSelect' | 'datePicker' | 'dRangePicker' | 'timePicker' | 'rangePicker' | 'mentions' | 'checkbox' | 'checkboxGroup' | 'radio' | 'radioGroup' | 'rate' | 'slider' | 'switch' | 'transfer' | 'upload' | 'dUpload' | 'button' | 'divider';
14
+ export type DItemBaseProps = Pick<FormItemProps, 'label' | 'name'> & {
19
15
  formItemProps?: FormItemProps & {
20
16
  grid?: Omit<ColProps, 'prefixCls'>;
21
17
  };
@@ -31,7 +31,8 @@ function InternalInput(props, ref) {
31
31
  onChange = props.onChange,
32
32
  onCompositionStart = props.onCompositionStart,
33
33
  onCompositionEnd = props.onCompositionEnd,
34
- initValue = props.value,
34
+ _props$value = props.value,
35
+ initValue = _props$value === void 0 ? '' : _props$value,
35
36
  _props$debounce = props.debounce,
36
37
  debounce = _props$debounce === void 0 ? false : _props$debounce,
37
38
  _props$enableCompose = props.enableCompose,
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { Button } from 'antd';
3
+ import type { FormListProps } from 'antd/lib/form/FormList';
4
+ import type { DItemProps } from '../DForm/DItem';
5
+ import './index.less';
6
+ export interface DynamicFormItemProps extends Omit<FormListProps, 'children'> {
7
+ /** 表单项配置 */
8
+ itemConfig: DItemProps | DItemProps[];
9
+ /** 初始值 */
10
+ value?: any[];
11
+ /** 新增按钮文本 */
12
+ addButtonText?: string;
13
+ /** 新增按钮属性 */
14
+ addButtonProps?: React.ComponentProps<typeof Button>;
15
+ /** 是否添加到头部 */
16
+ addAtHead?: boolean;
17
+ /** 删除按钮文本 */
18
+ removeButtonText?: string;
19
+ /** 删除按钮属性 */
20
+ removeButtonProps?: React.ComponentProps<typeof Button>;
21
+ /** 最小项数 */
22
+ minItems?: number;
23
+ /** 最大项数 */
24
+ maxItems?: number;
25
+ /** 是否显示添加按钮 */
26
+ showAdd?: boolean;
27
+ /** 是否显示删除按钮 */
28
+ showRemove?: boolean;
29
+ /** 添加按钮位置 */
30
+ addPosition?: 'top' | 'bottom';
31
+ }
32
+ declare const DynamicFormItem: React.FC<DynamicFormItemProps>;
33
+ export default DynamicFormItem;
@@ -0,0 +1,98 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["name"];
4
+ import React from 'react';
5
+ import { Button, Form, Space } from 'antd';
6
+ import { PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons';
7
+ import DForm from "../DForm";
8
+ import "./index.less";
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { Fragment as _Fragment } from "react/jsx-runtime";
12
+ var DynamicFormItem = function DynamicFormItem(props) {
13
+ var _props$name = props.name,
14
+ name = _props$name === void 0 ? 'dynamicItems' : _props$name,
15
+ _props$initialValue = props.initialValue,
16
+ initialValue = _props$initialValue === void 0 ? [undefined] : _props$initialValue,
17
+ rules = props.rules,
18
+ itemConfig = props.itemConfig,
19
+ _props$addButtonText = props.addButtonText,
20
+ addButtonText = _props$addButtonText === void 0 ? '添加' : _props$addButtonText,
21
+ _props$addButtonProps = props.addButtonProps,
22
+ addButtonProps = _props$addButtonProps === void 0 ? {} : _props$addButtonProps,
23
+ _props$addAtHead = props.addAtHead,
24
+ addAtHead = _props$addAtHead === void 0 ? false : _props$addAtHead,
25
+ removeButtonText = props.removeButtonText,
26
+ _props$removeButtonPr = props.removeButtonProps,
27
+ removeButtonProps = _props$removeButtonPr === void 0 ? {} : _props$removeButtonPr,
28
+ _props$minItems = props.minItems,
29
+ minItems = _props$minItems === void 0 ? 0 : _props$minItems,
30
+ maxItems = props.maxItems,
31
+ _props$showAdd = props.showAdd,
32
+ showAdd = _props$showAdd === void 0 ? true : _props$showAdd,
33
+ _props$showRemove = props.showRemove,
34
+ showRemove = _props$showRemove === void 0 ? true : _props$showRemove,
35
+ _props$addPosition = props.addPosition,
36
+ addPosition = _props$addPosition === void 0 ? 'bottom' : _props$addPosition;
37
+ var renderItem = function renderItem(_ref, index, _ref2, totalFieldsCount) {
38
+ var key = _ref.key,
39
+ name = _ref.name;
40
+ var remove = _ref2.remove;
41
+ var nested = Array.isArray(itemConfig) && itemConfig.length > 0;
42
+ return /*#__PURE__*/_jsxs(Space, {
43
+ align: "start",
44
+ className: "".concat(nested ? 'dynamic-form-item nested' : 'dynamic-form-item single'),
45
+ children: [nested ? itemConfig.map(function (config, idx) {
46
+ var configName = config.name,
47
+ restConfig = _objectWithoutProperties(config, _excluded);
48
+ return /*#__PURE__*/_jsx(DForm.Item, _objectSpread(_objectSpread({}, restConfig), {}, {
49
+ name: [name, configName]
50
+ }), "dynamic-item-".concat(idx));
51
+ }) : /*#__PURE__*/_jsx(DForm.Item, _objectSpread({}, itemConfig)), showRemove && totalFieldsCount > minItems && /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
52
+ type: "link",
53
+ danger: true,
54
+ icon: /*#__PURE__*/_jsx(MinusCircleOutlined, {}),
55
+ onClick: function onClick() {
56
+ return remove(name);
57
+ },
58
+ title: removeButtonText || '移除'
59
+ }, removeButtonProps), {}, {
60
+ children: removeButtonText
61
+ }))]
62
+ }, key);
63
+ };
64
+ var renderAddButton = function renderAddButton(_ref3, totalFieldsCount, position) {
65
+ var add = _ref3.add;
66
+ if (!showAdd || maxItems && totalFieldsCount >= maxItems) return null;
67
+ return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
68
+ type: "dashed",
69
+ block: true,
70
+ onClick: function onClick() {
71
+ if (addAtHead) {
72
+ add('', 0);
73
+ } else {
74
+ add();
75
+ }
76
+ },
77
+ icon: /*#__PURE__*/_jsx(PlusCircleOutlined, {}),
78
+ style: {
79
+ marginBottom: position === 'top' ? '8px' : 0
80
+ }
81
+ }, addButtonProps), {}, {
82
+ children: addButtonText
83
+ }));
84
+ };
85
+ return /*#__PURE__*/_jsx(Form.List, {
86
+ name: name,
87
+ initialValue: initialValue,
88
+ rules: rules,
89
+ children: function children(fields, operation) {
90
+ return /*#__PURE__*/_jsxs(_Fragment, {
91
+ children: [addPosition === 'top' && renderAddButton(operation, fields.length, 'top'), fields.map(function (field, index) {
92
+ return renderItem(field, index, operation, fields.length);
93
+ }), addPosition === 'bottom' && renderAddButton(operation, fields.length, 'bottom')]
94
+ });
95
+ }
96
+ });
97
+ };
98
+ export default DynamicFormItem;
@@ -0,0 +1,28 @@
1
+ .dynamic-form-item {
2
+ width: 100%;
3
+ display: flex;
4
+ align-items: flex-start;
5
+ gap: 8px;
6
+ margin-bottom: 8px;
7
+
8
+ .ant-form-item {
9
+ flex: 1;
10
+ margin-bottom: 0;
11
+ }
12
+
13
+ .ant-btn-link {
14
+ flex-shrink: 0;
15
+ }
16
+
17
+ &.single {
18
+ .ant-space-item:first-of-type {
19
+ display: flex;
20
+ flex: 1;
21
+ }
22
+ }
23
+ }
24
+
25
+ // 隐藏其他label,只显示第一个但占位
26
+ .dynamic-form-item ~ .dynamic-form-item .ant-col.ant-form-item-label {
27
+ visibility: hidden;
28
+ }
@@ -215,7 +215,7 @@ var IPAddress = function IPAddress(props) {
215
215
  return refs.current[idx] = el;
216
216
  },
217
217
  type: type === 'IPv4' ? 'number' : 'text',
218
- value: item.value || undefined,
218
+ value: item.value,
219
219
  readOnly: readOnly,
220
220
  disabled: disabled,
221
221
  maxLength: type === 'IPv6' ? 4 : 3,
@@ -1,3 +1,4 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
1
2
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
3
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
4
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
@@ -15,8 +16,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
15
16
  var InfiniteScrollList = function InfiniteScrollList(props) {
16
17
  var _listData$data, _listData$data2;
17
18
  var loadMore = props.loadMore,
18
- _props$initialParams = props.initialParams,
19
- initialParams = _props$initialParams === void 0 ? {} : _props$initialParams,
19
+ initialParams = props.initialParams,
20
20
  _props$itemKey = props.itemKey,
21
21
  itemKey = _props$itemKey === void 0 ? 'id' : _props$itemKey,
22
22
  _props$containerId = props.containerId,
@@ -41,7 +41,7 @@ var InfiniteScrollList = function InfiniteScrollList(props) {
41
41
  var pageParamsRef = useRef(_objectSpread({
42
42
  current: 1,
43
43
  size: 10
44
- }, initialParams));
44
+ }, initialParams || {}));
45
45
  var loadingRef = useRef(false);
46
46
  var scrollRef = useRef(null);
47
47
  var _useState = useState({
@@ -112,7 +112,8 @@ var InfiniteScrollList = function InfiniteScrollList(props) {
112
112
  }
113
113
  }, [listData]);
114
114
  useEffect(function () {
115
- if (Reflect.ownKeys(initialParams).length > 0) {
115
+ var currentInitialParams = initialParams && _typeof(initialParams) === 'object' ? initialParams : {};
116
+ if (Reflect.ownKeys(currentInitialParams).length > 0) {
116
117
  var _scrollRef$current;
117
118
  scrollRef === null || scrollRef === void 0 || (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 || _scrollRef$current.scrollTo({
118
119
  top: 0,
@@ -121,10 +122,10 @@ var InfiniteScrollList = function InfiniteScrollList(props) {
121
122
  pageParamsRef.current = _objectSpread({
122
123
  current: 1,
123
124
  size: 10
124
- }, initialParams);
125
+ }, currentInitialParams);
125
126
  }
126
127
  handleLoadMore();
127
- }, [initialParams]);
128
+ }, [initialParams, handleLoadMore]);
128
129
  return /*#__PURE__*/_jsxs("div", {
129
130
  id: containerId,
130
131
  className: "scroll-container",
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { DFormProps, DModalProps } from "..";
2
+ import { DFormProps } from '../DForm';
3
+ import type { DModalProps } from '../DModal/interface';
3
4
  export type ModalFormProps = {
4
5
  modalProps: DModalProps & {
5
6
  onError?: (_error: any) => void;
@@ -2,7 +2,8 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
3
3
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
- import { DForm, DModal } from "./..";
5
+ import DForm from "../DForm";
6
+ import DModal from "../DModal";
6
7
  import { useEffect, useState, useMemo } from 'react';
7
8
  import { jsx as _jsx } from "react/jsx-runtime";
8
9
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -1,5 +1,8 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
1
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _excluded = ["className", "layout", "src", "preview", "imageWidth", "content", "style", "bordered", "hoverable"];
3
6
  /* eslint-disable @typescript-eslint/no-unused-expressions */
4
7
  import React, { useState, useContext } from 'react';
5
8
  import classNames from 'classnames';
@@ -22,7 +25,8 @@ var PictureCard = function PictureCard(props) {
22
25
  _props$bordered = props.bordered,
23
26
  bordered = _props$bordered === void 0 ? true : _props$bordered,
24
27
  _props$hoverable = props.hoverable,
25
- hoverable = _props$hoverable === void 0 ? true : _props$hoverable;
28
+ hoverable = _props$hoverable === void 0 ? true : _props$hoverable,
29
+ restProps = _objectWithoutProperties(props, _excluded);
26
30
  var _useContext = useContext(ConfigContext),
27
31
  prefixCls = _useContext.prefixCls,
28
32
  getPrefixCls = _useContext.getPrefixCls;
@@ -36,18 +40,20 @@ var PictureCard = function PictureCard(props) {
36
40
  className: wrapperClass,
37
41
  style: style,
38
42
  children: [Array.isArray(src) ? /*#__PURE__*/_jsxs(_Fragment, {
39
- children: [/*#__PURE__*/_jsx(Image, {
40
- src: src[0],
41
- preview: preview && {
43
+ children: [/*#__PURE__*/_jsx(Image, _objectSpread(_objectSpread({
44
+ src: src[0]
45
+ }, preview && {
46
+ preview: {
42
47
  visible: false
43
- },
48
+ }
49
+ }), {}, {
44
50
  width: imageWidth,
45
51
  onClick: function onClick(e) {
46
52
  e.stopPropagation();
47
53
  // eslint-disable-next-line no-unused-expressions
48
54
  preview && setVisible(true);
49
55
  }
50
- }), /*#__PURE__*/_jsx("div", {
56
+ }, restProps)), /*#__PURE__*/_jsx("div", {
51
57
  style: {
52
58
  display: 'none'
53
59
  },
@@ -59,17 +65,19 @@ var PictureCard = function PictureCard(props) {
59
65
  }
60
66
  },
61
67
  children: src.map(function (item) {
62
- return /*#__PURE__*/_jsx(Image, {
68
+ return /*#__PURE__*/_jsx(Image, _objectSpread({
63
69
  src: item
64
- }, item);
70
+ }, restProps), item);
65
71
  })
66
72
  })
67
73
  })]
68
- }) : /*#__PURE__*/_jsx(Image, {
69
- src: src,
70
- preview: preview,
74
+ }) : /*#__PURE__*/_jsx(Image, _objectSpread(_objectSpread({
75
+ src: src
76
+ }, preview && {
77
+ preview: {}
78
+ }), {}, {
71
79
  width: imageWidth
72
- }), content && /*#__PURE__*/_jsx("div", {
80
+ }, restProps)), content && /*#__PURE__*/_jsx("div", {
73
81
  className: "info",
74
82
  children: content
75
83
  })]
@@ -1,4 +1,7 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
1
2
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["className", "style", "width", "height", "penColor", "penWidth", "backgroundColor", "clearText", "doneText", "showToolbar", "onDone", "defaultValue"];
2
5
  import { useCallback, useContext, useEffect, useRef, forwardRef, useImperativeHandle } from 'react';
3
6
  import classNames from 'classnames';
4
7
  import { ConfigContext } from "../ConfigProvider";
@@ -7,6 +10,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
8
11
  var SignaturePad = /*#__PURE__*/forwardRef(function (_ref, ref) {
9
12
  var className = _ref.className,
13
+ style = _ref.style,
10
14
  _ref$width = _ref.width,
11
15
  width = _ref$width === void 0 ? 600 : _ref$width,
12
16
  _ref$height = _ref.height,
@@ -24,7 +28,8 @@ var SignaturePad = /*#__PURE__*/forwardRef(function (_ref, ref) {
24
28
  _ref$showToolbar = _ref.showToolbar,
25
29
  showToolbar = _ref$showToolbar === void 0 ? true : _ref$showToolbar,
26
30
  onDone = _ref.onDone,
27
- defaultValue = _ref.defaultValue;
31
+ defaultValue = _ref.defaultValue,
32
+ rest = _objectWithoutProperties(_ref, _excluded);
28
33
  var canvasRef = useRef(null);
29
34
  var isDrawing = useRef(false);
30
35
  var lastX = useRef(0);
@@ -167,8 +172,10 @@ var SignaturePad = /*#__PURE__*/forwardRef(function (_ref, ref) {
167
172
  }
168
173
  };
169
174
  });
170
- return /*#__PURE__*/_jsxs("div", {
175
+ return /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
171
176
  className: wrapperClass,
177
+ style: style
178
+ }, rest), {}, {
172
179
  children: [/*#__PURE__*/_jsx("canvas", {
173
180
  ref: canvasRef,
174
181
  className: "".concat(classname, "-canvas"),
@@ -189,6 +196,6 @@ var SignaturePad = /*#__PURE__*/forwardRef(function (_ref, ref) {
189
196
  children: doneText
190
197
  })]
191
198
  })]
192
- });
199
+ }));
193
200
  });
194
201
  export default SignaturePad;
@@ -64,3 +64,5 @@ export { default as DRangePicker } from './DRangePicker';
64
64
  export type { DRangePickerProps } from './DRangePicker/interface';
65
65
  export { default as CRUD } from './CRUD';
66
66
  export { type CRUDProps, type CRUDRefProps } from './CRUD';
67
+ export { default as DynamicFormItem } from './DynamicFormItem';
68
+ export type { DynamicFormItemProps } from './DynamicFormItem';
package/dist/esm/index.js CHANGED
@@ -31,4 +31,5 @@ export { default as ContextMenu } from "./ContextMenu";
31
31
  export { default as OrgTree } from "./OrgTree";
32
32
  export { default as AnimatedScrollList } from "./AnimatedScrollList";
33
33
  export { default as DRangePicker } from "./DRangePicker";
34
- export { default as CRUD } from "./CRUD";
34
+ export { default as CRUD } from "./CRUD";
35
+ export { default as DynamicFormItem } from "./DynamicFormItem";
@@ -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{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)}}
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)}}.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}