@para-ui/core 4.0.30 → 4.0.32

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.
Files changed (70) hide show
  1. package/AutoButton/index.d.ts +41 -0
  2. package/AutoButton/index.js +213 -0
  3. package/AutoButton/lang/en_US.d.ts +4 -0
  4. package/AutoButton/lang/index.d.ts +9 -0
  5. package/AutoButton/lang/zh_CN.d.ts +4 -0
  6. package/Badge/index.d.ts +3 -1
  7. package/Badge/index.js +15 -5
  8. package/Card/index.d.ts +53 -0
  9. package/Card/index.js +218 -0
  10. package/Card/lang/en_US.d.ts +5 -0
  11. package/Card/lang/index.d.ts +11 -0
  12. package/Card/lang/zh_CN.d.ts +5 -0
  13. package/Cascader/index.js +5 -6
  14. package/ComboSelect/index.js +4 -5
  15. package/DragVerify/index.js +7 -2
  16. package/DynamicMultiBox/index.js +4 -5
  17. package/Form/index.js +5 -6
  18. package/FormItem/index.js +5 -6
  19. package/FunctionModal/index.js +2 -2
  20. package/Image/index.js +3 -4
  21. package/InputCode/index.d.ts +82 -0
  22. package/InputCode/index.js +392 -0
  23. package/InputCode/inputCodeCard/index.d.ts +10 -0
  24. package/InputCode/inputCodeInput/index.d.ts +10 -0
  25. package/InputCode/lang/en_US.d.ts +7 -0
  26. package/InputCode/lang/index.d.ts +15 -0
  27. package/InputCode/lang/zh_CN.d.ts +7 -0
  28. package/PopMenu/index.js +16 -5
  29. package/README.md +15 -0
  30. package/RangeInput/index.d.ts +4 -0
  31. package/RangeInput/index.js +32 -8
  32. package/Selector/index.js +1 -2
  33. package/SelectorPicker/index.js +1 -2
  34. package/SortBox/index.d.ts +29 -0
  35. package/SortBox/index.js +84 -0
  36. package/Table/index.js +470 -409
  37. package/Timeline/index.js +13 -20
  38. package/Tooltip/index.js +26 -27
  39. package/Transfer/index.js +1 -2
  40. package/Tree/index.js +4 -5
  41. package/Upload/ImageUpload/index.d.ts +2 -7
  42. package/Upload/index.js +110 -34
  43. package/Upload/interface.d.ts +18 -0
  44. package/_verture/{Portal-5bf66fed.js → Portal-42560ff0.js} +2 -2
  45. package/_verture/{index-28edf318.js → index-44152845.js} +2 -2
  46. package/_verture/{index-8ec857b4.js → index-519d0a1f.js} +3 -4
  47. package/_verture/{index-33866394.js → index-b037486c.js} +1 -1
  48. package/_verture/{slicedToArray-a8206399.js → slicedToArray-75fa4188.js} +15 -2
  49. package/_verture/{toConsumableArray-8f4c9589.js → toConsumableArray-c7a8028f.js} +1 -1
  50. package/index.d.ts +8 -0
  51. package/index.js +14 -10
  52. package/locale/en-US.d.ts +13 -0
  53. package/locale/index.d.ts +26 -0
  54. package/locale/index.js +26 -0
  55. package/locale/zh-CN.d.ts +13 -0
  56. package/package.json +1 -1
  57. package/umd/AutoButton.js +43 -0
  58. package/umd/Badge.js +1 -1
  59. package/umd/Card.js +1 -0
  60. package/umd/DragVerify.js +1 -1
  61. package/umd/FunctionModal.js +3 -3
  62. package/umd/InputCode.js +43 -0
  63. package/umd/Modal.js +2 -2
  64. package/umd/PopMenu.js +2 -2
  65. package/umd/RangeInput.js +2 -2
  66. package/umd/SortBox.js +41 -0
  67. package/umd/Upload.js +4 -4
  68. package/umd/locale.js +1 -1
  69. package/_verture/unsupportedIterableToArray-cb478f24.js +0 -16
  70. /package/_verture/{modalContext-c57b51b7.js → modalContext-10f0c5aa.js} +0 -0
@@ -0,0 +1,15 @@
1
+ declare const _default: {
2
+ zh: {
3
+ retrievedAgain: string;
4
+ reset: string;
5
+ getCode: string;
6
+ secondCountdown: string;
7
+ };
8
+ en: {
9
+ retrievedAgain: string;
10
+ reset: string;
11
+ getCode: string;
12
+ secondCountdown: string;
13
+ };
14
+ };
15
+ export default _default;
@@ -0,0 +1,7 @@
1
+ declare const _default: {
2
+ retrievedAgain: string;
3
+ reset: string;
4
+ getCode: string;
5
+ secondCountdown: string;
6
+ };
7
+ export default _default;
package/PopMenu/index.js CHANGED
@@ -5,13 +5,13 @@ import React__default, { useState, useRef, useEffect } from 'react';
5
5
  import { $ as $prefixCls } from '../_verture/constant-5317fc89.js';
6
6
  import { Popover } from '../Popover/index.js';
7
7
  import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
8
- import { _ as _toConsumableArray } from '../_verture/toConsumableArray-8f4c9589.js';
8
+ import { _ as _toConsumableArray } from '../_verture/toConsumableArray-c7a8028f.js';
9
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-75fa4188.js';
9
10
  import Right from '@para-ui/icons/Right';
10
11
  import AutoTips from '../AutoTips/index.js';
11
12
  import { Tooltip } from '../Tooltip/index.js';
12
13
  import Help from '../Help/index.js';
13
14
  import '../_verture/usePopupContainer-635f66f4.js';
14
- import '../_verture/unsupportedIterableToArray-cb478f24.js';
15
15
  import '@paraview/lib';
16
16
  import 'rc-tooltip';
17
17
  import 'rc-tooltip/lib/placements';
@@ -66,7 +66,7 @@ const useComponentWidth = efts => {
66
66
  };
67
67
  };
68
68
 
69
- var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-pop-menu-content {\n display: inline-block;\n}\n.paraui-v4-pop-menu-item-content {\n display: flex;\n width: 100%;\n}\n.paraui-v4-pop-menu .pop-menu-separator:after {\n content: \"\";\n position: absolute;\n height: 1px;\n background: rgb(234, 236, 241);\n left: 10px;\n right: 10px;\n bottom: 0;\n}\n.paraui-v4-pop-menu .pop-menu-list {\n padding: 4px 0;\n overflow: hidden;\n position: relative;\n max-width: 500px;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item {\n display: flex;\n width: 100%;\n align-items: center;\n height: 30px;\n cursor: pointer;\n padding: 0 10px;\n overflow: hidden;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-help {\n margin-left: 4px;\n display: flex;\n align-items: center;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-help:hover svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-arrow {\n margin-left: auto;\n padding-left: 10px;\n display: flex;\n align-items: center;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-arrow svg {\n width: 18px;\n height: 18px;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item:hover {\n background: rgb(247, 248, 250);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item svg {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-select {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-select .item-arrow svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-disabled {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-disabled svg {\n color: rgb(161, 168, 179);\n}";
69
+ var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-pop-menu-content {\n display: inline-block;\n}\n.paraui-v4-pop-menu-item-content {\n display: flex;\n width: 100%;\n}\n.paraui-v4-pop-menu .pop-menu-separator:after {\n content: \"\";\n position: absolute;\n height: 1px;\n background: rgb(234, 236, 241);\n left: 10px;\n right: 10px;\n bottom: 0;\n}\n.paraui-v4-pop-menu .pop-menu-list {\n padding: 4px 0;\n overflow: hidden;\n position: relative;\n max-width: 500px;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item {\n display: flex;\n width: 100%;\n align-items: center;\n height: 30px;\n cursor: pointer;\n padding: 0 10px;\n overflow: hidden;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-help {\n margin-left: 4px;\n display: flex;\n align-items: center;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-help svg {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-help svg:hover {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-arrow {\n margin-left: auto;\n padding-left: 10px;\n display: flex;\n align-items: center;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item .item-arrow svg {\n width: 16px;\n height: 16px;\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item:hover {\n background: rgb(247, 248, 250);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item svg {\n color: rgb(92, 101, 115);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-hover {\n background: rgb(247, 248, 250);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-select {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-select .item-arrow svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-disabled {\n color: rgb(161, 168, 179);\n}\n.paraui-v4-pop-menu .pop-menu-list .pop-menu-item-disabled svg {\n color: rgb(161, 168, 179);\n}";
70
70
  styleInject(css_248z);
71
71
 
72
72
  var PopMenuItem = function PopMenuItem(p) {
@@ -82,6 +82,10 @@ var PopMenuItem = function PopMenuItem(p) {
82
82
  onChange = _usePopMenuContext.onChange,
83
83
  path = _usePopMenuContext.path,
84
84
  onClick = _usePopMenuContext.onClick;
85
+ var _React$useState = React__default.useState(false),
86
+ _React$useState2 = _slicedToArray(_React$useState, 2),
87
+ childVisible = _React$useState2[0],
88
+ setChildVisible = _React$useState2[1];
85
89
  var getArrow = function getArrow() {
86
90
  return jsx("div", Object.assign({
87
91
  className: 'item-arrow'
@@ -133,6 +137,8 @@ var PopMenuItem = function PopMenuItem(p) {
133
137
  return jsx("div", Object.assign({
134
138
  className: clsx('pop-menu-item', {
135
139
  'pop-menu-item-select': currentValue === item.name
140
+ }, {
141
+ 'pop-menu-item-hover': childVisible
136
142
  }),
137
143
  onClick: function onClick() {
138
144
  return clickItem(item, close);
@@ -151,8 +157,13 @@ var PopMenuItem = function PopMenuItem(p) {
151
157
  minWidth: 'auto'
152
158
  }, props.overlayInnerStyle),
153
159
  contentClassName: 'item-content',
154
- offset: [direction === 'right' ? 4 : -4, 0],
155
- path: [].concat(_toConsumableArray(path), [p.name])
160
+ offset: [direction === 'right' ? 4 : -4, -5],
161
+ path: [].concat(_toConsumableArray(path), [p.name]),
162
+ onVisibleChange: function onVisibleChange(visible) {
163
+ var _a;
164
+ (_a = props.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(props, visible);
165
+ setChildVisible(visible);
166
+ }
156
167
  }, {
157
168
  children: getItem(p, false)
158
169
  }));
package/README.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## 版本: 4.0.32
2
+ para-ui/core@4.0.32 发布
3
+ 【验证码-InputCode】新增验证码组件
4
+ 【排序容器-SortBox】修改排序事件
5
+
6
+ ## 版本: 4.0.31
7
+ para-ui/core@4.0.31 发布
8
+ 【滑块验证码-DragVerify】阻止移动端滑块触发屏幕滑动事件
9
+ 【上传-Upload】更换头像增加头像属性,可配置圆角、是否展示重置按钮、默认图片(地址、名称)、是否展示图片名称功能
10
+ 【范围输入框-RangeInput】新增组件范围输入框
11
+ 【排序容器-SortBox】新增排序组件
12
+ 【卡片-Card】新增卡片组件
13
+ 【自动按钮-AutoButton】新增自动按钮组件
14
+ 【消息角标-Badge】新增偏移量offset参数,sign传null为不显示角标
15
+
1
16
  ## 版本: 4.0.30
2
17
  para-ui/core@4.0.30 发布
3
18
  【范围输入框-RangeInput】新增组件范围输入框
@@ -38,6 +38,10 @@ export interface RangeInputProps extends HelperTextDetailProps {
38
38
  unit?: ReactNode;
39
39
  /** 提示语 */
40
40
  placeholder?: ReactNode | [ReactNode, ReactNode];
41
+ /** 警告提示语 */
42
+ warningMessage?: ReactNode;
43
+ /** 警告提示语消失时间 */
44
+ warnTime?: number;
41
45
  /** 输入框其他参数 */
42
46
  otherProps?: [InputNumberProps, InputNumberProps];
43
47
  /**
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { useState, useEffect } from 'react';
2
+ import { useState, useRef, useEffect } from 'react';
3
3
  import { $ as $prefixCls } from '../_verture/constant-5317fc89.js';
4
4
  import Label from '../Label/index.js';
5
5
  import { InputNumber } from '../InputNumber/index.js';
@@ -18,7 +18,7 @@ import 'rc-input-number';
18
18
  import '@para-ui/icons/Up';
19
19
  import '@para-ui/icons/Down';
20
20
 
21
- var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-range-input {\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n display: inline-block;\n width: 100%;\n}\n.paraui-v4-range-input > .range-input-content {\n border: 1px solid;\n border-radius: 4px;\n border-color: rgb(212, 218, 227);\n display: flex;\n align-items: center;\n width: 100%;\n position: relative;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v4-range-input > .range-input-content:hover {\n border-color: rgb(46, 101, 230);\n}\n.paraui-v4-range-input > .range-input-content > .paraui-v4-input-number > .input-number-content {\n border: none;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v4-range-input > .range-input-content > .separator {\n color: rgb(29, 33, 38);\n font-size: 14px;\n padding-left: 10px;\n height: 100%;\n display: flex;\n align-items: center;\n line-height: 1;\n}\n.paraui-v4-range-input > .range-input-content > .unit {\n color: rgb(29, 33, 38);\n font-size: 14px;\n padding: 0 10px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-focus > .range-input-content {\n border-color: rgb(46, 101, 230);\n}\n.paraui-v4-range-input.paraui-v4-range-input-disabled > .range-input-content {\n cursor: not-allowed;\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-range-input.paraui-v4-range-input-disabled > .range-input-content:hover {\n border-color: rgb(212, 218, 227);\n}\n.paraui-v4-range-input.paraui-v4-range-input-disabled > .range-input-content > .paraui-v4-input-number > .input-number-content {\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-range-input.paraui-v4-range-input-error > .range-input-content {\n border-color: rgb(244, 66, 66);\n}\n.paraui-v4-range-input.paraui-v4-range-input-error > .range-input-content:hover {\n border-color: rgb(244, 66, 66);\n}\n.paraui-v4-range-input.paraui-v4-range-input-small > .range-input-content {\n height: 28px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-small > .range-input-content > .paraui-v4-input-number .input-number-content {\n height: 26px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-medium > .range-input-content {\n height: 28px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-medium > .range-input-content > .paraui-v4-input-number .input-number-content {\n height: 26px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-large > .range-input-content {\n height: 32px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-large > .range-input-content > .paraui-v4-input-number .input-number-content {\n height: 30px;\n}";
21
+ var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-range-input {\n font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, WenQuanYi Micro Hei, sans-serif;\n font-size: 14px;\n font-weight: 400;\n display: inline-block;\n width: 100%;\n}\n.paraui-v4-range-input > .range-input-content {\n border: 1px solid;\n border-radius: 4px;\n border-color: rgb(212, 218, 227);\n display: flex;\n align-items: center;\n width: 100%;\n position: relative;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v4-range-input > .range-input-content:hover {\n border-color: rgb(46, 101, 230);\n}\n.paraui-v4-range-input > .range-input-content > .paraui-v4-input-number > .input-number-content {\n border: none;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v4-range-input > .range-input-content > .separator {\n color: rgb(29, 33, 38);\n font-size: 14px;\n padding-left: 10px;\n height: 100%;\n display: flex;\n align-items: center;\n line-height: 1;\n}\n.paraui-v4-range-input > .range-input-content > .unit {\n color: rgb(29, 33, 38);\n font-size: 14px;\n padding: 0 10px;\n}\n.paraui-v4-range-input > .range-input-warning-text {\n color: rgb(255, 147, 38);\n}\n.paraui-v4-range-input.paraui-v4-range-input-focus > .range-input-content {\n border-color: rgb(46, 101, 230);\n}\n.paraui-v4-range-input.paraui-v4-range-input-disabled > .range-input-content {\n cursor: not-allowed;\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-range-input.paraui-v4-range-input-disabled > .range-input-content:hover {\n border-color: rgb(212, 218, 227);\n}\n.paraui-v4-range-input.paraui-v4-range-input-disabled > .range-input-content > .paraui-v4-input-number > .input-number-content {\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-range-input.paraui-v4-range-input-error > .range-input-content {\n border-color: rgb(244, 66, 66);\n}\n.paraui-v4-range-input.paraui-v4-range-input-error > .range-input-content:hover {\n border-color: rgb(244, 66, 66);\n}\n.paraui-v4-range-input.paraui-v4-range-input-small > .range-input-content {\n height: 28px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-small > .range-input-content > .paraui-v4-input-number .input-number-content {\n height: 26px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-medium > .range-input-content {\n height: 28px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-medium > .range-input-content > .paraui-v4-input-number .input-number-content {\n height: 26px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-large > .range-input-content {\n height: 32px;\n}\n.paraui-v4-range-input.paraui-v4-range-input-large > .range-input-content > .paraui-v4-input-number .input-number-content {\n height: 30px;\n}";
22
22
  styleInject(css_248z);
23
23
 
24
24
  const RangeInput = props => {
@@ -31,6 +31,8 @@ const RangeInput = props => {
31
31
  required = false,
32
32
  disabled = false,
33
33
  disabledTooltip,
34
+ warningMessage,
35
+ warnTime = 2000,
34
36
  defaultValue,
35
37
  value,
36
38
  error = false,
@@ -47,6 +49,10 @@ const RangeInput = props => {
47
49
  } = props;
48
50
  const [valueCom, setValueCom] = useState([null, null]);
49
51
  const [focus, setFocus] = useState(false); // 是否获取焦点
52
+ const [showWarning, setShowWarning] = useState(false);
53
+ const constData = useRef({
54
+ timer: null
55
+ });
50
56
  useEffect(() => {
51
57
  if (props.defaultValue !== undefined) setValueCom(props.defaultValue);
52
58
  }, []);
@@ -82,9 +88,17 @@ const RangeInput = props => {
82
88
  if (valueCom[0] !== null && valueCom[1] !== null) {
83
89
  if (valueCom[0] > valueCom[1]) {
84
90
  onChangeCom(index)(null);
91
+ if (warningMessage) handleWarn();
85
92
  }
86
93
  }
87
94
  };
95
+ const handleWarn = () => {
96
+ clearTimeout(constData.current.timer);
97
+ setShowWarning(true);
98
+ constData.current.timer = setTimeout(() => {
99
+ setShowWarning(false);
100
+ }, warnTime);
101
+ };
88
102
  /** 回车事件 */
89
103
  const onEnterCom = index => event => {
90
104
  onEnter && onEnter(event, index);
@@ -146,6 +160,21 @@ const RangeInput = props => {
146
160
  }
147
161
  return contentRender();
148
162
  };
163
+ const handleError = () => {
164
+ if (showWarning) {
165
+ return jsx(HelperText, {
166
+ className: "range-input-warning-text",
167
+ helperText: warningMessage,
168
+ hideErrorDom: hideErrorDom
169
+ });
170
+ }
171
+ return jsx(HelperText, {
172
+ className: "range-input-error-text",
173
+ error: error,
174
+ helperText: helperText,
175
+ hideErrorDom: hideErrorDom
176
+ });
177
+ };
149
178
  return jsxs("div", Object.assign({
150
179
  className: clsx(className, "".concat($prefixCls, "-range-input"), "".concat($prefixCls, "-range-input-").concat(size), {
151
180
  ["".concat($prefixCls, "-range-input-focus")]: focus,
@@ -157,12 +186,7 @@ const RangeInput = props => {
157
186
  children: [jsx(Label, Object.assign({
158
187
  label: label,
159
188
  required: required
160
- }, labelTooltip)), handleContent(), jsx(HelperText, {
161
- className: "range-input-error-text",
162
- error: error,
163
- helperText: helperText,
164
- hideErrorDom: hideErrorDom
165
- })]
189
+ }, labelTooltip)), handleContent(), handleError()]
166
190
  }));
167
191
  };
168
192
 
package/Selector/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { a as __awaiter, _ as __rest } from '../_verture/tslib.es6-55ed4bd2.js';
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useEffect, Fragment as Fragment$1 } from 'react';
4
- import { _ as _slicedToArray } from '../_verture/slicedToArray-a8206399.js';
4
+ import { _ as _slicedToArray } from '../_verture/slicedToArray-75fa4188.js';
5
5
  import { r as regenerator } from '../_verture/index-8ac46bd9.js';
6
6
  import { Radio } from '../Radio/index.js';
7
7
  import { Checkbox } from '../Checkbox/index.js';
@@ -19,7 +19,6 @@ import SearchIcon from '@para-ui/icons/Search';
19
19
  import Refresh from '@para-ui/icons/Refresh';
20
20
  import { ArrayToObject, Get, Post, Cancel } from '@paraview/lib';
21
21
  import { u as useGlobalProps } from '../_verture/useGlobalProps-4ae1a007.js';
22
- import '../_verture/unsupportedIterableToArray-cb478f24.js';
23
22
  import '../_verture/typeof-6ec38efd.js';
24
23
  import '../Label/index.js';
25
24
  import '../Help/index.js';
@@ -24,8 +24,7 @@ import 'rc-dropdown';
24
24
  import '../_verture/usePopupContainer-635f66f4.js';
25
25
  import 'dayjs';
26
26
  import '@paraview/lib';
27
- import '../_verture/slicedToArray-a8206399.js';
28
- import '../_verture/unsupportedIterableToArray-cb478f24.js';
27
+ import '../_verture/slicedToArray-75fa4188.js';
29
28
  import '../_verture/index-8ac46bd9.js';
30
29
  import '../_verture/typeof-6ec38efd.js';
31
30
  import '../Radio/index.js';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @author linhd
3
+ * @date 2024/8/1 15:42
4
+ * @description 排序容器
5
+ */
6
+ import React, { FunctionComponent, ReactNode } from 'react';
7
+ import './index.scss';
8
+ export interface SortBoxListItemProps {
9
+ render?: ReactNode;
10
+ [name: string]: any;
11
+ }
12
+ export interface SortBoxProps {
13
+ /** 样式class */
14
+ className?: string;
15
+ /** style */
16
+ style?: React.CSSProperties;
17
+ /** 类型 */
18
+ type?: 'border' | 'none' | 'fill';
19
+ /** marginBottom */
20
+ marginBottom?: string;
21
+ /** 数据 */
22
+ list?: SortBoxListItemProps[];
23
+ /** 删除多余字段selected,chosen, 默认true */
24
+ deleteSurplus?: boolean;
25
+ /** 排序事件 */
26
+ onSort?: (list: SortBoxListItemProps[]) => void;
27
+ }
28
+ export declare const SortBox: FunctionComponent<SortBoxProps>;
29
+ export default SortBox;
@@ -0,0 +1,84 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import clsx from 'clsx';
3
+ import { $ as $prefixCls } from '../_verture/constant-5317fc89.js';
4
+ import { d as dist } from '../_verture/index-0f5ee6f7.js';
5
+ import Drag from '@para-ui/icons/Drag';
6
+ import { s as styleInject } from '../_verture/style-inject.es-300983ab.js';
7
+ import '../_verture/sortable.esm-76fe46a4.js';
8
+ import 'react';
9
+
10
+ var css_248z = "@charset \"UTF-8\";\n/**\n* @author linhd\n* @date 2023/4/11 14:16\n* @description 最新色卡\n*/\n.paraui-v4-sort-box .sort-item {\n display: flex;\n min-height: 40px;\n border-radius: 4px;\n background-color: rgb(255, 255, 255);\n}\n.paraui-v4-sort-box .sort-item:last-child {\n margin-bottom: 0 !important;\n}\n.paraui-v4-sort-box .sort-item > .content {\n flex: 1;\n overflow: hidden;\n padding: 10px 0px;\n font-size: 14px;\n color: rgb(29, 33, 38);\n}\n.paraui-v4-sort-box .sort-item > .opera-box {\n text-align: center;\n}\n.paraui-v4-sort-box .sort-item > .opera-box .sort-icon {\n width: 40px;\n height: 40px;\n display: inline-block;\n cursor: pointer;\n}\n.paraui-v4-sort-box .sort-item > .opera-box .sort-icon:hover svg {\n color: rgb(46, 101, 230);\n}\n.paraui-v4-sort-box .sort-item > .opera-box .sort-icon svg {\n font-size: 18px;\n color: rgb(92, 101, 115);\n}\n.paraui-v4-sort-box.paraui-v4-sort-box-fill .sort-item {\n background-color: rgb(247, 248, 250);\n}\n.paraui-v4-sort-box.paraui-v4-sort-box-fill .sort-item > .opera-box svg {\n margin-top: 11px;\n}\n.paraui-v4-sort-box.paraui-v4-sort-box-border .sort-item {\n border: 1px solid rgb(212, 218, 227);\n}\n.paraui-v4-sort-box.paraui-v4-sort-box-border .sort-item > .opera-box svg {\n margin-top: 10px;\n}\n.paraui-v4-sort-box.paraui-v4-sort-box-none .sort-item > .opera-box svg {\n margin-top: 10px;\n}";
11
+ styleInject(css_248z);
12
+
13
+ const SortBox = props => {
14
+ const {
15
+ className,
16
+ style,
17
+ type = 'fill',
18
+ list,
19
+ marginBottom = '10px',
20
+ deleteSurplus,
21
+ onSort
22
+ } = props;
23
+ const handleContent = () => {
24
+ return list === null || list === void 0 ? void 0 : list.map((item, index) => {
25
+ return jsxs("div", Object.assign({
26
+ className: 'sort-item',
27
+ style: {
28
+ marginBottom: marginBottom
29
+ }
30
+ }, {
31
+ children: [jsx("div", Object.assign({
32
+ className: 'content'
33
+ }, {
34
+ children: item.render
35
+ })), jsx("div", Object.assign({
36
+ className: 'opera-box'
37
+ }, {
38
+ children: jsx("span", Object.assign({
39
+ className: 'sort-icon'
40
+ }, {
41
+ children: jsx(Drag, {})
42
+ }))
43
+ }))]
44
+ }), index);
45
+ });
46
+ };
47
+ /** 数组交换位置 */
48
+ const moveElementToNthPosition = (arr, indexA, indexB) => {
49
+ // 使用splice方法移除索引a处的元素,并将其存储在变量element中
50
+ const element = arr.splice(indexA, 1)[0];
51
+ // 在索引n处插入被移除的元素
52
+ arr.splice(indexB, 0, element);
53
+ return arr;
54
+ };
55
+ const onDragSort = newList => {};
56
+ const onEnd = evt => {
57
+ if (evt.oldIndex === evt.newIndex) return;
58
+ const newList = [...(list || [])];
59
+ moveElementToNthPosition(newList, evt.oldIndex, evt.newIndex);
60
+ newList.forEach(item => {
61
+ if (deleteSurplus) {
62
+ delete item.selected;
63
+ delete item.chosen;
64
+ }
65
+ });
66
+ onSort && onSort(newList);
67
+ };
68
+ return jsx("div", Object.assign({
69
+ className: clsx(className, "".concat($prefixCls, "-sort-box"), "".concat($prefixCls, "-sort-box-").concat(type)),
70
+ style: style
71
+ }, {
72
+ children: jsx(dist.exports.ReactSortable, Object.assign({
73
+ list: list || [],
74
+ handle: '.sort-icon',
75
+ animation: 150,
76
+ setList: onDragSort,
77
+ onEnd: onEnd
78
+ }, {
79
+ children: handleContent()
80
+ }))
81
+ }));
82
+ };
83
+
84
+ export { SortBox, SortBox as default };