@zykj2024/much-library 1.1.9-beta.3 → 2.0.0-beta.1
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/dist/McDateRangePro/comps/NumberInput.d.ts +10 -0
- package/dist/McDateRangePro/comps/NumberInput.js +35 -0
- package/dist/McDateRangePro/comps/ShortcutItem.d.ts +15 -0
- package/dist/McDateRangePro/comps/ShortcutItem.js +133 -0
- package/dist/McDateRangePro/demo/base.d.ts +6 -0
- package/dist/McDateRangePro/demo/base.js +22 -0
- package/dist/McDateRangePro/demo/dynamic.d.ts +6 -0
- package/dist/McDateRangePro/demo/dynamic.js +24 -0
- package/dist/McDateRangePro/demo/form.d.ts +6 -0
- package/dist/McDateRangePro/demo/form.js +62 -0
- package/dist/McDateRangePro/demo/search.d.ts +6 -0
- package/dist/McDateRangePro/demo/search.js +84 -0
- package/dist/McDateRangePro/demo/static.d.ts +6 -0
- package/dist/McDateRangePro/demo/static.js +23 -0
- package/dist/McDateRangePro/index.css +163 -0
- package/dist/McDateRangePro/index.d.ts +23 -0
- package/dist/McDateRangePro/index.js +418 -0
- package/dist/McNumberRangeInput/demo/base.d.ts +6 -0
- package/dist/McNumberRangeInput/demo/base.js +84 -0
- package/dist/McNumberRangeInput/index.css +87 -0
- package/dist/McNumberRangeInput/index.d.ts +37 -0
- package/dist/McNumberRangeInput/index.js +166 -0
- package/dist/McSwitch/demo/base.d.ts +6 -0
- package/dist/McSwitch/demo/base.js +55 -0
- package/dist/McSwitch/index.d.ts +14 -0
- package/dist/McSwitch/index.js +21 -0
- package/dist/Utils/demo/copy.d.ts +6 -0
- package/dist/Utils/demo/copy.js +25 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.js +8 -2
- package/package.json +3 -1
@@ -0,0 +1,166 @@
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
2
|
+
import { Input, message, Space } from 'antd';
|
3
|
+
import classNames from 'classnames';
|
4
|
+
import NP from 'number-precision';
|
5
|
+
import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
6
|
+
import "./index.css";
|
7
|
+
|
8
|
+
/* 数字转字符串 */
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
10
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
11
|
+
var num2str = function num2str(value) {
|
12
|
+
return value || value === 0 ? value.toString() : '';
|
13
|
+
};
|
14
|
+
|
15
|
+
/* 错误样式 */
|
16
|
+
var errorStyle = {
|
17
|
+
color: '#ff4d4f'
|
18
|
+
};
|
19
|
+
var McNumberRangeInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
20
|
+
var label = props.label,
|
21
|
+
_props$placeholders = props.placeholders,
|
22
|
+
placeholders = _props$placeholders === void 0 ? ['最小值', '最大值'] : _props$placeholders,
|
23
|
+
min = props.min,
|
24
|
+
max = props.max,
|
25
|
+
_props$precision = props.precision,
|
26
|
+
precision = _props$precision === void 0 ? 0 : _props$precision,
|
27
|
+
_props$separator = props.separator,
|
28
|
+
separator = _props$separator === void 0 ? '~' : _props$separator,
|
29
|
+
_props$allowClear = props.allowClear,
|
30
|
+
allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
|
31
|
+
disabled = props.disabled,
|
32
|
+
value = props.value,
|
33
|
+
onChange = props.onChange,
|
34
|
+
style = props.style,
|
35
|
+
className = props.className;
|
36
|
+
var _useState = useState(''),
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
38
|
+
start = _useState2[0],
|
39
|
+
setStart = _useState2[1];
|
40
|
+
var _useState3 = useState(''),
|
41
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
42
|
+
end = _useState4[0],
|
43
|
+
setEnd = _useState4[1];
|
44
|
+
var _useState5 = useState(false),
|
45
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
46
|
+
startError = _useState6[0],
|
47
|
+
setStartError = _useState6[1];
|
48
|
+
var _useState7 = useState(false),
|
49
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
50
|
+
endError = _useState8[0],
|
51
|
+
setEndError = _useState8[1];
|
52
|
+
var oldValue = useRef();
|
53
|
+
|
54
|
+
/* 字符串转数字并固定小数位 */
|
55
|
+
var str2num = function str2num() {
|
56
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
57
|
+
var v = parseFloat(value);
|
58
|
+
v = isNaN(v) ? undefined : NP.round(v, precision);
|
59
|
+
return v === undefined ? undefined : (min || min === 0) && v < min ? min : (max || max === 0) && v > max ? max : v;
|
60
|
+
};
|
61
|
+
|
62
|
+
/* 校验大小值的方法 */
|
63
|
+
var validate = function validate(key) {
|
64
|
+
var start0 = str2num(start),
|
65
|
+
end0 = str2num(end);
|
66
|
+
if (start0 !== undefined && end0 !== undefined && start0 > end0) {
|
67
|
+
var startText = (placeholders === null || placeholders === void 0 ? void 0 : placeholders[0]) || '最小值',
|
68
|
+
endText = (placeholders === null || placeholders === void 0 ? void 0 : placeholders[1]) || '最大值';
|
69
|
+
if (key === 'start') {
|
70
|
+
message.error("".concat(startText, "\u4E0D\u53EF\u5927\u4E8E").concat(endText));
|
71
|
+
setStartError(true);
|
72
|
+
} else {
|
73
|
+
message.error("".concat(endText, "\u4E0D\u53EF\u5C0F\u4E8E").concat(startText));
|
74
|
+
setEndError(true);
|
75
|
+
}
|
76
|
+
return false;
|
77
|
+
} else {
|
78
|
+
return true;
|
79
|
+
}
|
80
|
+
};
|
81
|
+
|
82
|
+
/* change事件 */
|
83
|
+
var changeHandle = function changeHandle(e, key) {
|
84
|
+
var v = e.target.value.replace(/[^+-\d/.]/g, '');
|
85
|
+
if (!/^[+-]?(\d+)?(\.(\d+)?)?$/.test(v)) {
|
86
|
+
v = v.slice(0, -1);
|
87
|
+
}
|
88
|
+
key === 'start' ? setStart(v) : setEnd(v);
|
89
|
+
setStartError(false);
|
90
|
+
setEndError(false);
|
91
|
+
};
|
92
|
+
|
93
|
+
/* blur事件 */
|
94
|
+
var blurHandle = function blurHandle(key) {
|
95
|
+
var start0 = str2num(start),
|
96
|
+
end0 = str2num(end);
|
97
|
+
key === 'start' ? setStart(num2str(start0)) : setEnd(num2str(end0));
|
98
|
+
validate(key);
|
99
|
+
var newValue = start0 === undefined && end0 === undefined ? undefined : {
|
100
|
+
start: start0,
|
101
|
+
end: end0
|
102
|
+
};
|
103
|
+
JSON.stringify(newValue) !== JSON.stringify(oldValue.current) && (onChange === null || onChange === void 0 ? void 0 : onChange(newValue));
|
104
|
+
};
|
105
|
+
|
106
|
+
/* 监听value变化,回显数据 */
|
107
|
+
useEffect(function () {
|
108
|
+
var _ref = value || {},
|
109
|
+
start = _ref.start,
|
110
|
+
end = _ref.end;
|
111
|
+
setStart(num2str(start));
|
112
|
+
setEnd(num2str(end));
|
113
|
+
oldValue.current = value;
|
114
|
+
}, [value]);
|
115
|
+
|
116
|
+
/* 组件的方法 */
|
117
|
+
useImperativeHandle(ref, function () {
|
118
|
+
return {
|
119
|
+
validate: validate
|
120
|
+
};
|
121
|
+
});
|
122
|
+
return /*#__PURE__*/_jsxs("div", {
|
123
|
+
style: style,
|
124
|
+
className: classNames('mc-number-range-input', disabled && 'mc-number-range-input--disabled', className),
|
125
|
+
children: [label && /*#__PURE__*/_jsx("span", {
|
126
|
+
className: "mc-number-range-input__label",
|
127
|
+
children: label
|
128
|
+
}), /*#__PURE__*/_jsx("div", {
|
129
|
+
className: "mc-number-range-input__content",
|
130
|
+
children: /*#__PURE__*/_jsxs(Space.Compact, {
|
131
|
+
className: "mc-number-range-input__wrapper",
|
132
|
+
children: [/*#__PURE__*/_jsx(Input, {
|
133
|
+
style: startError ? errorStyle : undefined,
|
134
|
+
className: "mc-number-range-input__number",
|
135
|
+
placeholder: placeholders === null || placeholders === void 0 ? void 0 : placeholders[0],
|
136
|
+
allowClear: allowClear,
|
137
|
+
disabled: disabled,
|
138
|
+
value: start,
|
139
|
+
onChange: function onChange(e) {
|
140
|
+
return changeHandle(e, 'start');
|
141
|
+
},
|
142
|
+
onBlur: function onBlur() {
|
143
|
+
return blurHandle('start');
|
144
|
+
}
|
145
|
+
}), /*#__PURE__*/_jsx("div", {
|
146
|
+
className: "mc-number-range-input__separator",
|
147
|
+
children: separator
|
148
|
+
}), /*#__PURE__*/_jsx(Input, {
|
149
|
+
style: endError ? errorStyle : undefined,
|
150
|
+
className: "mc-number-range-input__number",
|
151
|
+
placeholder: placeholders === null || placeholders === void 0 ? void 0 : placeholders[1],
|
152
|
+
allowClear: allowClear,
|
153
|
+
disabled: disabled,
|
154
|
+
value: end,
|
155
|
+
onChange: function onChange(e) {
|
156
|
+
return changeHandle(e, 'end');
|
157
|
+
},
|
158
|
+
onBlur: function onBlur() {
|
159
|
+
return blurHandle('end');
|
160
|
+
}
|
161
|
+
})]
|
162
|
+
})
|
163
|
+
})]
|
164
|
+
});
|
165
|
+
});
|
166
|
+
export default McNumberRangeInput;
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
2
|
+
/**
|
3
|
+
* title: 基础用法
|
4
|
+
* description: 与antd <a href="https://ant.design/components/switch-cn/#api" target="_blank">Switch</a> 组件用法基本一致,本组件支持自定义选中时的值、非选中时的值。
|
5
|
+
*/
|
6
|
+
|
7
|
+
import { Space } from 'antd';
|
8
|
+
import { McSwitch } from "../..";
|
9
|
+
import { useState } from 'react';
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
11
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
12
|
+
export default (function () {
|
13
|
+
var _useState = useState(0),
|
14
|
+
_useState2 = _slicedToArray(_useState, 2),
|
15
|
+
value = _useState2[0],
|
16
|
+
setValue = _useState2[1];
|
17
|
+
return /*#__PURE__*/_jsxs(Space, {
|
18
|
+
direction: "vertical",
|
19
|
+
size: 16,
|
20
|
+
children: [/*#__PURE__*/_jsxs(Space, {
|
21
|
+
children: [/*#__PURE__*/_jsx("span", {
|
22
|
+
children: "\u5E38\u89C4"
|
23
|
+
}), /*#__PURE__*/_jsx(McSwitch, {}), /*#__PURE__*/_jsx(McSwitch, {
|
24
|
+
size: "small"
|
25
|
+
})]
|
26
|
+
}), /*#__PURE__*/_jsxs(Space, {
|
27
|
+
children: [/*#__PURE__*/_jsx("span", {
|
28
|
+
children: "\u7981\u7528"
|
29
|
+
}), /*#__PURE__*/_jsx(McSwitch, {
|
30
|
+
disabled: true
|
31
|
+
}), /*#__PURE__*/_jsx(McSwitch, {
|
32
|
+
size: "small",
|
33
|
+
disabled: true
|
34
|
+
}), /*#__PURE__*/_jsx(McSwitch, {
|
35
|
+
checked: true,
|
36
|
+
disabled: true
|
37
|
+
}), /*#__PURE__*/_jsx(McSwitch, {
|
38
|
+
checked: true,
|
39
|
+
size: "small",
|
40
|
+
disabled: true
|
41
|
+
})]
|
42
|
+
}), /*#__PURE__*/_jsxs(Space, {
|
43
|
+
children: [/*#__PURE__*/_jsx("span", {
|
44
|
+
children: "\u81EA\u5B9A\u4E49\u9009\u4E2D\u3001\u672A\u9009\u4E2D\u7684\u503C"
|
45
|
+
}), /*#__PURE__*/_jsx(McSwitch, {
|
46
|
+
value: value,
|
47
|
+
unCheckedValue: 0,
|
48
|
+
checkedValue: 1,
|
49
|
+
onChange: setValue
|
50
|
+
}), /*#__PURE__*/_jsxs("span", {
|
51
|
+
children: ["\u5F53\u524D\u503C\uFF1A", value]
|
52
|
+
})]
|
53
|
+
})]
|
54
|
+
});
|
55
|
+
});
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { SwitchProps } from 'antd';
|
2
|
+
import { FC } from 'react';
|
3
|
+
type ValueType = boolean | string | number;
|
4
|
+
export type PropsType = Omit<SwitchProps, 'value' | 'onChange'> & {
|
5
|
+
/** 选中时的值,默认true */
|
6
|
+
checkedValue?: ValueType;
|
7
|
+
/** 非选中时的值,默认false */
|
8
|
+
unCheckedValue?: ValueType;
|
9
|
+
value?: ValueType;
|
10
|
+
onChange?: (value: ValueType) => void;
|
11
|
+
ref?: any;
|
12
|
+
};
|
13
|
+
declare const McSwitch: FC<PropsType>;
|
14
|
+
export default McSwitch;
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
3
|
+
var _excluded = ["checkedValue", "unCheckedValue", "value", "onChange"];
|
4
|
+
import { Switch } from 'antd';
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
+
var McSwitch = function McSwitch(_ref) {
|
7
|
+
var _ref$checkedValue = _ref.checkedValue,
|
8
|
+
checkedValue = _ref$checkedValue === void 0 ? true : _ref$checkedValue,
|
9
|
+
_ref$unCheckedValue = _ref.unCheckedValue,
|
10
|
+
unCheckedValue = _ref$unCheckedValue === void 0 ? false : _ref$unCheckedValue,
|
11
|
+
value = _ref.value,
|
12
|
+
_onChange = _ref.onChange,
|
13
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
14
|
+
return /*#__PURE__*/_jsx(Switch, _objectSpread(_objectSpread({}, rest), {}, {
|
15
|
+
value: value === checkedValue ? true : value === unCheckedValue ? false : undefined,
|
16
|
+
onChange: function onChange(checked) {
|
17
|
+
return _onChange === null || _onChange === void 0 ? void 0 : _onChange(checked ? checkedValue : unCheckedValue);
|
18
|
+
}
|
19
|
+
}));
|
20
|
+
};
|
21
|
+
export default McSwitch;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* title: Utils.copyToClipboard
|
3
|
+
* description: 复制文本到剪贴板
|
4
|
+
*/
|
5
|
+
|
6
|
+
import { Button, message } from 'antd';
|
7
|
+
import { Utils } from "../..";
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
9
|
+
export default (function () {
|
10
|
+
var str = '复制文本';
|
11
|
+
var handleCopy = function handleCopy(text) {
|
12
|
+
Utils.copyToClipboard(text, function () {
|
13
|
+
message.success('复制成功');
|
14
|
+
}, function () {
|
15
|
+
message.error('复制失败');
|
16
|
+
});
|
17
|
+
};
|
18
|
+
return /*#__PURE__*/_jsx(Button, {
|
19
|
+
type: "primary",
|
20
|
+
onClick: function onClick() {
|
21
|
+
return handleCopy(str);
|
22
|
+
},
|
23
|
+
children: str
|
24
|
+
});
|
25
|
+
});
|
package/dist/index.d.ts
CHANGED
@@ -2,6 +2,7 @@ import McFonts from './McFonts';
|
|
2
2
|
import McGroupPanel from './McGroupPanel';
|
3
3
|
import McIconFont from './McIconFont';
|
4
4
|
import McInputNumber from './McInputNumber';
|
5
|
+
import McLazyLoader from './McLazyLoader';
|
5
6
|
import McModalProvider from './McModalProvider';
|
6
7
|
import McPeriodSelect from './McPeriodSelect';
|
7
8
|
import McPopoverButton from './McPopoverButton';
|
@@ -9,23 +10,28 @@ import McPopoverForm from './McPopoverForm';
|
|
9
10
|
import McProSelect from './McProSelect';
|
10
11
|
import McResult from './McResult';
|
11
12
|
import McTag from './McTag';
|
12
|
-
import McLazyLoader from './McLazyLoader';
|
13
13
|
import McThemeConfig from './McThemeConfig';
|
14
14
|
import McTreePanel from './McTreePanel';
|
15
15
|
import McTreeSelect from './McTreeSelect';
|
16
|
+
import * as Utils from './Utils';
|
16
17
|
export * from './McCascader';
|
17
18
|
export { default as McCascader } from './McCascader';
|
18
19
|
export * from './McContainer';
|
19
20
|
export { default as McContainer } from './McContainer';
|
20
21
|
export * from './McDateRange';
|
21
22
|
export { default as McDateRange } from './McDateRange';
|
23
|
+
export * from './McDateRangePro';
|
24
|
+
export { default as McDateRangePro } from './McDateRangePro';
|
22
25
|
export * from './McEllipsis';
|
23
26
|
export * from './McEllipsisMiddle';
|
24
27
|
export * from './McInput';
|
25
28
|
export { default as McInput } from './McInput';
|
26
29
|
export * from './McListSelect';
|
27
30
|
export { default as McListSelect } from './McListSelect';
|
31
|
+
export * from './McNumberRangeInput';
|
32
|
+
export { default as McNumberRangeInput } from './McNumberRangeInput';
|
28
33
|
export * from './McSelect';
|
29
34
|
export { default as McSelect } from './McSelect';
|
30
|
-
|
35
|
+
export * from './McSwitch';
|
36
|
+
export { default as McSwitch } from './McSwitch';
|
31
37
|
export { McFonts, McGroupPanel, McIconFont, McInputNumber, McLazyLoader, McModalProvider, McPeriodSelect, McPopoverButton, McPopoverForm, McProSelect, McResult, McTag, McThemeConfig, McTreePanel, McTreeSelect, Utils, };
|
package/dist/index.js
CHANGED
@@ -2,6 +2,7 @@ import McFonts from "./McFonts";
|
|
2
2
|
import McGroupPanel from "./McGroupPanel";
|
3
3
|
import McIconFont from "./McIconFont";
|
4
4
|
import McInputNumber from "./McInputNumber";
|
5
|
+
import McLazyLoader from "./McLazyLoader";
|
5
6
|
import McModalProvider from "./McModalProvider";
|
6
7
|
import McPeriodSelect from "./McPeriodSelect";
|
7
8
|
import McPopoverButton from "./McPopoverButton";
|
@@ -9,23 +10,28 @@ import McPopoverForm from "./McPopoverForm";
|
|
9
10
|
import McProSelect from "./McProSelect";
|
10
11
|
import McResult from "./McResult";
|
11
12
|
import McTag from "./McTag";
|
12
|
-
import McLazyLoader from "./McLazyLoader";
|
13
13
|
import McThemeConfig from "./McThemeConfig";
|
14
14
|
import McTreePanel from "./McTreePanel";
|
15
15
|
import McTreeSelect from "./McTreeSelect";
|
16
|
+
import * as Utils from "./Utils";
|
16
17
|
export * from "./McCascader";
|
17
18
|
export { default as McCascader } from "./McCascader";
|
18
19
|
export * from "./McContainer";
|
19
20
|
export { default as McContainer } from "./McContainer";
|
20
21
|
export * from "./McDateRange";
|
21
22
|
export { default as McDateRange } from "./McDateRange";
|
23
|
+
export * from "./McDateRangePro";
|
24
|
+
export { default as McDateRangePro } from "./McDateRangePro";
|
22
25
|
export * from "./McEllipsis";
|
23
26
|
export * from "./McEllipsisMiddle";
|
24
27
|
export * from "./McInput";
|
25
28
|
export { default as McInput } from "./McInput";
|
26
29
|
export * from "./McListSelect";
|
27
30
|
export { default as McListSelect } from "./McListSelect";
|
31
|
+
export * from "./McNumberRangeInput";
|
32
|
+
export { default as McNumberRangeInput } from "./McNumberRangeInput";
|
28
33
|
export * from "./McSelect";
|
29
34
|
export { default as McSelect } from "./McSelect";
|
30
|
-
|
35
|
+
export * from "./McSwitch";
|
36
|
+
export { default as McSwitch } from "./McSwitch";
|
31
37
|
export { McFonts, McGroupPanel, McIconFont, McInputNumber, McLazyLoader, McModalProvider, McPeriodSelect, McPopoverButton, McPopoverForm, McProSelect, McResult, McTag, McThemeConfig, McTreePanel, McTreeSelect, Utils };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@zykj2024/much-library",
|
3
|
-
"version": "
|
3
|
+
"version": "2.0.0-beta.1",
|
4
4
|
"description": "react library",
|
5
5
|
"license": "MIT",
|
6
6
|
"module": "dist/index.js",
|
@@ -22,6 +22,7 @@
|
|
22
22
|
"lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
|
23
23
|
"prepare": "husky install && dumi setup",
|
24
24
|
"prepublishOnly": "father doctor && npm run build",
|
25
|
+
"publish": "npm publish",
|
25
26
|
"publish-dev": "npm publish --tag beta",
|
26
27
|
"start": "npm run dev"
|
27
28
|
},
|
@@ -48,6 +49,7 @@
|
|
48
49
|
]
|
49
50
|
},
|
50
51
|
"dependencies": {
|
52
|
+
"@ant-design/use-emotion-css": "^1.0.4",
|
51
53
|
"@babel/runtime": "^7.25.6",
|
52
54
|
"@dnd-kit/core": "^6.1.0",
|
53
55
|
"@dnd-kit/sortable": "^8.0.0",
|