@power-xa/m-ui 0.0.1 → 0.0.3
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/ActionSheet/index.less +2 -1
- package/dist/Button/index.js +1 -1
- package/dist/CreatorEdit/index.js +2 -1
- package/dist/DatePicker/index.d.ts +13 -0
- package/dist/DatePicker/index.js +150 -0
- package/dist/DatePicker/index.less +35 -0
- package/dist/Filter/index.d.ts +13 -0
- package/dist/Filter/index.js +77 -0
- package/dist/Filter/index.less +78 -0
- package/dist/FloatButton/index.js +24 -19
- package/dist/Popup/index.js +8 -1
- package/dist/Popup/index.less +1 -0
- package/dist/ProForm/{controls → Controls}/Date/index.js +23 -8
- package/dist/ProForm/Controls/List/index.d.ts +30 -0
- package/dist/ProForm/Controls/List/index.js +130 -0
- package/dist/ProForm/{controls → Controls}/List/index.less +31 -0
- package/dist/ProForm/{controls → Controls}/Select/index.js +23 -13
- package/dist/ProForm/{controls → Controls}/Select/index.less +6 -0
- package/dist/ProForm/Controls/Text/index.js +45 -0
- package/dist/ProForm/{controls → Controls}/TextArea/index.js +14 -4
- package/dist/ProForm/{controls → Controls}/Upload/index.js +5 -1
- package/dist/ProForm/Field/index.d.ts +2 -1
- package/dist/ProForm/Field/index.js +1 -1
- package/dist/ProForm/Field/index.less +2 -0
- package/dist/ProForm/Form/index.d.ts +6 -6
- package/dist/ProForm/Form/index.js +154 -57
- package/dist/ProForm/Group/index.js +31 -45
- package/dist/ProForm/index.d.ts +0 -2
- package/dist/ProForm/typings.d.ts +18 -16
- package/dist/ProList/index.d.ts +1 -1
- package/dist/ProList/index.js +36 -14
- package/dist/SearchInput/index.d.ts +9 -0
- package/dist/SearchInput/index.js +22 -0
- package/dist/SearchInput/index.less +29 -0
- package/dist/index.d.ts +10 -7
- package/dist/index.js +10 -7
- package/dist/request/index.js +1 -1
- package/dist/utils/tools.d.ts +11 -1
- package/dist/utils/tools.js +43 -9
- package/package.json +1 -1
- package/dist/ProForm/controls/List/index.d.ts +0 -23
- package/dist/ProForm/controls/List/index.js +0 -77
- package/dist/ProForm/controls/Text/index.js +0 -29
- /package/dist/ProForm/{controls → Controls}/Date/index.d.ts +0 -0
- /package/dist/ProForm/{controls → Controls}/Select/index.d.ts +0 -0
- /package/dist/ProForm/{controls → Controls}/Text/index.d.ts +0 -0
- /package/dist/ProForm/{controls → Controls}/Text/index.less +0 -0
- /package/dist/ProForm/{controls → Controls}/TextArea/index.d.ts +0 -0
- /package/dist/ProForm/{controls → Controls}/TextArea/index.less +0 -0
- /package/dist/ProForm/{controls → Controls}/Upload/index.d.ts +0 -0
- /package/dist/ProForm/{controls → Controls}/Upload/index.less +0 -0
package/dist/Button/index.js
CHANGED
|
@@ -42,7 +42,7 @@ var Button = function Button(_ref) {
|
|
|
42
42
|
borderRadius: round ? "100px" : undefined
|
|
43
43
|
},
|
|
44
44
|
onTap: function onTap() {
|
|
45
|
-
return !disabled && !loading && setTap(true);
|
|
45
|
+
return !disabled && !loading && !tap && setTap(true);
|
|
46
46
|
}
|
|
47
47
|
}, typeof icon === "string" ? /*#__PURE__*/React.createElement(View, {
|
|
48
48
|
className: "iconfont ".concat(icon)
|
|
@@ -52,7 +52,8 @@ var CreatorEdit = function CreatorEdit(_ref) {
|
|
|
52
52
|
});
|
|
53
53
|
}, [memberId]);
|
|
54
54
|
return /*#__PURE__*/React.createElement(View, {
|
|
55
|
-
className: "p-creator-edit-container"
|
|
55
|
+
className: "p-creator-edit-container",
|
|
56
|
+
key: id || memberId
|
|
56
57
|
}, /*#__PURE__*/React.createElement(Image, {
|
|
57
58
|
src: imageUrl,
|
|
58
59
|
className: "avatar"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type DatePickerProps = {
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
onChange?: (value: string) => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
format?: "YYYY" | "YYYY-MM" | "YYYY-MM-DD" | "YYYY-MM-DD HH:mm" | "HH:mm";
|
|
9
|
+
showType?: "select" | "input" | "custom";
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
};
|
|
12
|
+
declare const DatePicker: FC<DatePickerProps>;
|
|
13
|
+
export default DatePicker;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
4
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
12
|
+
import { Picker, Text, View } from "@tarojs/components";
|
|
13
|
+
import { dateFormat } from "./..";
|
|
14
|
+
import "./index.less";
|
|
15
|
+
var DatePicker = function DatePicker(_ref) {
|
|
16
|
+
var placeholder = _ref.placeholder,
|
|
17
|
+
value = _ref.value,
|
|
18
|
+
onChange = _ref.onChange,
|
|
19
|
+
disabled = _ref.disabled,
|
|
20
|
+
_ref$format = _ref.format,
|
|
21
|
+
format = _ref$format === void 0 ? "YYYY-MM-DD" : _ref$format,
|
|
22
|
+
_ref$showType = _ref.showType,
|
|
23
|
+
showType = _ref$showType === void 0 ? "input" : _ref$showType,
|
|
24
|
+
children = _ref.children;
|
|
25
|
+
var _useState = useState(new Date().getFullYear()),
|
|
26
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
27
|
+
year = _useState2[0],
|
|
28
|
+
setYear = _useState2[1];
|
|
29
|
+
var _useState3 = useState([]),
|
|
30
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
31
|
+
range = _useState4[0],
|
|
32
|
+
setRange = _useState4[1];
|
|
33
|
+
var _useState5 = useState([]),
|
|
34
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
35
|
+
current = _useState6[0],
|
|
36
|
+
setCurrent = _useState6[1];
|
|
37
|
+
useEffect(function () {
|
|
38
|
+
getFormatRange();
|
|
39
|
+
}, []);
|
|
40
|
+
useEffect(function () {
|
|
41
|
+
if (range.length && value) {
|
|
42
|
+
var list = value.split(/[\s:-]+/);
|
|
43
|
+
list.forEach(function (v, i) {
|
|
44
|
+
var _range$i;
|
|
45
|
+
current[i] = (_range$i = range[i]) === null || _range$i === void 0 ? void 0 : _range$i.findIndex(function (r) {
|
|
46
|
+
return r.indexOf(v) >= 0;
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
setCurrent(_toConsumableArray(current));
|
|
50
|
+
}
|
|
51
|
+
}, [value]);
|
|
52
|
+
var makeStringArray = useCallback(function (number, unit, zero) {
|
|
53
|
+
return Array(number).fill(null).map(function (_, index) {
|
|
54
|
+
return "".concat((zero ? index : index + 1) > 9 ? '' : '0') + (zero ? index : index + 1) + unit;
|
|
55
|
+
});
|
|
56
|
+
}, []);
|
|
57
|
+
var getFormatRange = useCallback(function () {
|
|
58
|
+
var yearList = Array.from({
|
|
59
|
+
length: 15
|
|
60
|
+
}, function (_, i) {
|
|
61
|
+
return year - 10 + i;
|
|
62
|
+
}).map(function (y) {
|
|
63
|
+
return y + "年";
|
|
64
|
+
});
|
|
65
|
+
var range = [];
|
|
66
|
+
var currentFormat = "";
|
|
67
|
+
switch (format) {
|
|
68
|
+
case "YYYY":
|
|
69
|
+
range = [yearList];
|
|
70
|
+
currentFormat = "YYYY年";
|
|
71
|
+
break;
|
|
72
|
+
case "YYYY-MM":
|
|
73
|
+
range = [yearList, makeStringArray(12, "月")];
|
|
74
|
+
currentFormat = "YYYY年-MM月";
|
|
75
|
+
break;
|
|
76
|
+
case "YYYY-MM-DD":
|
|
77
|
+
range = [yearList, makeStringArray(12, "月"), makeStringArray(31, "日")];
|
|
78
|
+
currentFormat = "YYYY年-MM月-DD日";
|
|
79
|
+
break;
|
|
80
|
+
case "YYYY-MM-DD HH:mm":
|
|
81
|
+
range = [yearList, makeStringArray(12, "月"), makeStringArray(31, "日"), makeStringArray(24, "时", true), makeStringArray(60, "分", true)];
|
|
82
|
+
currentFormat = "YYYY年-MM月-DD日-HH时-mm分";
|
|
83
|
+
break;
|
|
84
|
+
case "HH:mm":
|
|
85
|
+
range = [makeStringArray(24, "时", true), makeStringArray(60, "分", true)];
|
|
86
|
+
currentFormat = "HH时-mm分";
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
var value = dateFormat(new Date(), currentFormat).split("-");
|
|
90
|
+
range.forEach(function (r, i) {
|
|
91
|
+
current[i] = r.indexOf(value[i]);
|
|
92
|
+
});
|
|
93
|
+
setCurrent(_toConsumableArray(current));
|
|
94
|
+
setRange(range);
|
|
95
|
+
}, []);
|
|
96
|
+
var updateRange = useCallback(function (_ref2) {
|
|
97
|
+
var column = _ref2.column,
|
|
98
|
+
value = _ref2.value;
|
|
99
|
+
var count = year % 4 === 0 ? 29 : 28;
|
|
100
|
+
if (column === 1 || column === 0) {
|
|
101
|
+
if (column === 0) setYear(parseFloat(range[0][value]));
|
|
102
|
+
var c = current.map(function (item, index) {
|
|
103
|
+
return index > column ? 0 : index === column ? value : item;
|
|
104
|
+
});
|
|
105
|
+
var month = c[1];
|
|
106
|
+
if ([0, 2, 4, 6, 7, 9, 11].includes(month)) {
|
|
107
|
+
range[2] = makeStringArray(31, "日");
|
|
108
|
+
} else if ([3, 5, 8, 10].includes(month)) {
|
|
109
|
+
range[2] = makeStringArray(30, "日");
|
|
110
|
+
} else {
|
|
111
|
+
range[2] = makeStringArray(count, "日");
|
|
112
|
+
}
|
|
113
|
+
setRange(_toConsumableArray(range));
|
|
114
|
+
setCurrent(c);
|
|
115
|
+
}
|
|
116
|
+
}, [range, year, current]);
|
|
117
|
+
var formatValue = useCallback(function (result) {
|
|
118
|
+
var value = result.map(function (v, i) {
|
|
119
|
+
return range[i][v];
|
|
120
|
+
}).join("");
|
|
121
|
+
onChange === null || onChange === void 0 || onChange(value.replace(/年|月/g, '-').replace(/(\d+)日/, '$1 ').replace(/(\d+)时/, '$1:').replace('分', '').replace(/[-\s:]+$/, '') // 移除末尾多余的符号
|
|
122
|
+
.trim());
|
|
123
|
+
}, [range]);
|
|
124
|
+
return /*#__PURE__*/React.createElement(Picker, {
|
|
125
|
+
mode: "multiSelector",
|
|
126
|
+
range: range,
|
|
127
|
+
value: current,
|
|
128
|
+
onColumnChange: function onColumnChange(e) {
|
|
129
|
+
return format.indexOf("MM-DD") >= 0 && updateRange(e.detail);
|
|
130
|
+
},
|
|
131
|
+
onChange: function onChange(e) {
|
|
132
|
+
return formatValue(e.detail.value);
|
|
133
|
+
},
|
|
134
|
+
disabled: disabled,
|
|
135
|
+
className: "p-date-picker"
|
|
136
|
+
}, showType === "custom" && children ? children : showType === "select" ? /*#__PURE__*/React.createElement(View, {
|
|
137
|
+
className: "p-date-picker-select-container"
|
|
138
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
139
|
+
className: "text"
|
|
140
|
+
}, value), /*#__PURE__*/React.createElement(View, {
|
|
141
|
+
className: "iconfont icon-icon-xiala"
|
|
142
|
+
})) : /*#__PURE__*/React.createElement(View, {
|
|
143
|
+
className: "p-date-picker-input-container"
|
|
144
|
+
}, value ? /*#__PURE__*/React.createElement(Text, {
|
|
145
|
+
className: "text"
|
|
146
|
+
}, value) : /*#__PURE__*/React.createElement(Text, {
|
|
147
|
+
className: "placeholder"
|
|
148
|
+
}, placeholder || "请选择")));
|
|
149
|
+
};
|
|
150
|
+
export default DatePicker;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@import "@power-xa/m-ui/dist/assets/less/mixins.less";
|
|
2
|
+
|
|
3
|
+
.p-date-picker-select-container {
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
gap: 16px;
|
|
7
|
+
|
|
8
|
+
.text {
|
|
9
|
+
.font(28, #333437)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.iconfont {
|
|
13
|
+
font-size: 20px;
|
|
14
|
+
color: #333437;
|
|
15
|
+
line-height: 24px;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.p-date-picker-input-container {
|
|
20
|
+
width: 100%;
|
|
21
|
+
padding: 16px 32px;
|
|
22
|
+
background-color: #fff;
|
|
23
|
+
border-radius: 16px;
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
box-sizing: border-box;
|
|
27
|
+
|
|
28
|
+
.placeholder {
|
|
29
|
+
.font(28, #999);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.text {
|
|
33
|
+
.font(28, #333437);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC, ReactElement, ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type FilterProps = {
|
|
4
|
+
className?: string;
|
|
5
|
+
extra?: ReactNode;
|
|
6
|
+
onSearch?: (value: string) => void;
|
|
7
|
+
onFilter?: (form: {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}) => void;
|
|
10
|
+
children?: ReactElement[];
|
|
11
|
+
};
|
|
12
|
+
declare const Filter: FC<FilterProps>;
|
|
13
|
+
export default Filter;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import React, { Fragment, useRef, useState } from "react";
|
|
8
|
+
import { Text, View } from "@tarojs/components";
|
|
9
|
+
import { Button, Popup, ProForm } from "./..";
|
|
10
|
+
import "./index.less";
|
|
11
|
+
var Filter = function Filter(_ref) {
|
|
12
|
+
var className = _ref.className,
|
|
13
|
+
extra = _ref.extra,
|
|
14
|
+
onSearch = _ref.onSearch,
|
|
15
|
+
onFilter = _ref.onFilter,
|
|
16
|
+
children = _ref.children;
|
|
17
|
+
var formRef = useRef(null);
|
|
18
|
+
var _useState = useState(false),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
+
open = _useState2[0],
|
|
21
|
+
setOpen = _useState2[1];
|
|
22
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
23
|
+
className: "p-filter-container ".concat(className, " ").concat(extra ? 'p-filter-extra-container' : '')
|
|
24
|
+
}, extra, /*#__PURE__*/React.createElement(View, {
|
|
25
|
+
className: "p-filter-content"
|
|
26
|
+
}, onSearch && /*#__PURE__*/React.createElement(View, {
|
|
27
|
+
className: "icon-button"
|
|
28
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
29
|
+
className: "iconfont icon-icon-psp-sousuo"
|
|
30
|
+
})), onFilter && /*#__PURE__*/React.createElement(View, {
|
|
31
|
+
className: "icon-button",
|
|
32
|
+
onTap: function onTap() {
|
|
33
|
+
return setOpen(true);
|
|
34
|
+
}
|
|
35
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
36
|
+
className: "iconfont icon-icon-psp-shaixuan"
|
|
37
|
+
})))), onFilter && /*#__PURE__*/React.createElement(Popup, {
|
|
38
|
+
open: open,
|
|
39
|
+
onOpenChange: function onOpenChange() {
|
|
40
|
+
return setOpen(false);
|
|
41
|
+
},
|
|
42
|
+
rootClassName: "p-filter-popup-container"
|
|
43
|
+
}, function (_ref2) {
|
|
44
|
+
var onOpenChange = _ref2.onOpenChange;
|
|
45
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
46
|
+
className: "header"
|
|
47
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
48
|
+
className: "iconfont"
|
|
49
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
50
|
+
className: "text"
|
|
51
|
+
}, "\u9AD8\u7EA7\u7B5B\u9009"), /*#__PURE__*/React.createElement(View, {
|
|
52
|
+
className: "iconfont icon-icon-psp-guanbi",
|
|
53
|
+
onTap: onOpenChange
|
|
54
|
+
})), /*#__PURE__*/React.createElement(View, {
|
|
55
|
+
className: "content"
|
|
56
|
+
}, children && /*#__PURE__*/React.createElement(ProForm, {
|
|
57
|
+
ref: formRef
|
|
58
|
+
}, /*#__PURE__*/React.createElement(ProForm.Group, null, children))), /*#__PURE__*/React.createElement(View, {
|
|
59
|
+
className: "footer"
|
|
60
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
61
|
+
onTap: function onTap() {
|
|
62
|
+
var _formRef$current;
|
|
63
|
+
(_formRef$current = formRef.current) === null || _formRef$current === void 0 || _formRef$current.setForm({});
|
|
64
|
+
},
|
|
65
|
+
round: true
|
|
66
|
+
}, "\u91CD\u7F6E"), /*#__PURE__*/React.createElement(Button, {
|
|
67
|
+
onTap: function onTap() {
|
|
68
|
+
var _formRef$current2;
|
|
69
|
+
onFilter((_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 ? void 0 : _formRef$current2.form);
|
|
70
|
+
onOpenChange();
|
|
71
|
+
},
|
|
72
|
+
round: true,
|
|
73
|
+
color: "primary"
|
|
74
|
+
}, "\u786E\u8BA4")));
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
77
|
+
export default Filter;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
@import "@power-xa/m-ui/dist/assets/less/mixins.less";
|
|
2
|
+
|
|
3
|
+
.p-filter-container {
|
|
4
|
+
.p-filter-content {
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
gap: 20px;
|
|
8
|
+
|
|
9
|
+
.icon-button {
|
|
10
|
+
width: 56px;
|
|
11
|
+
height: 56px;
|
|
12
|
+
border-radius: 50%;
|
|
13
|
+
background: #fff;
|
|
14
|
+
display: flex;
|
|
15
|
+
align-items: center;
|
|
16
|
+
justify-content: center;
|
|
17
|
+
|
|
18
|
+
.iconfont {
|
|
19
|
+
font-size: 24px;
|
|
20
|
+
color: #333437;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&.p-filter-extra-container {
|
|
26
|
+
padding: 28px 32px 0;
|
|
27
|
+
background: #F6F7F9;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.p-filter-popup-container {
|
|
32
|
+
z-index: 999;
|
|
33
|
+
|
|
34
|
+
.p-popup-container {
|
|
35
|
+
display: flex;
|
|
36
|
+
flex-direction: column;
|
|
37
|
+
|
|
38
|
+
.header {
|
|
39
|
+
padding: 32px;
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
justify-content: space-between;
|
|
43
|
+
box-sizing: border-box;
|
|
44
|
+
|
|
45
|
+
.iconfont {
|
|
46
|
+
flex: 1;
|
|
47
|
+
font-size: 24px;
|
|
48
|
+
color: #999;
|
|
49
|
+
display: flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: flex-end;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.text {
|
|
55
|
+
.font(28, #333437);
|
|
56
|
+
flex: 5;
|
|
57
|
+
text-align: center;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.content {
|
|
62
|
+
flex: 1;
|
|
63
|
+
height: 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.footer {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
gap: 24px;
|
|
70
|
+
padding: 24px 32px;
|
|
71
|
+
box-sizing: border-box;
|
|
72
|
+
|
|
73
|
+
.p-button {
|
|
74
|
+
flex: 1;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -15,29 +15,34 @@ var FloatButton = function FloatButton(_ref) {
|
|
|
15
15
|
children = _ref.children,
|
|
16
16
|
onTap = _ref.onTap,
|
|
17
17
|
className = _ref.className;
|
|
18
|
-
var
|
|
19
|
-
|
|
18
|
+
var _useState = useState("p-moveable-area-".concat(getUUID())),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
20
|
+
id = _useState2[0];
|
|
21
|
+
var _useState3 = useState({
|
|
20
22
|
x: 0,
|
|
21
23
|
y: 0
|
|
22
24
|
}),
|
|
23
|
-
|
|
24
|
-
position =
|
|
25
|
-
setPosition =
|
|
25
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
26
|
+
position = _useState4[0],
|
|
27
|
+
setPosition = _useState4[1];
|
|
26
28
|
useEffect(function () {
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
29
|
+
var time = setTimeout(function () {
|
|
30
|
+
var query = createSelectorQuery();
|
|
31
|
+
query.selectAll("#".concat(id)).boundingClientRect(function (rect) {
|
|
32
|
+
if (rect instanceof Array && rect.length) {
|
|
33
|
+
setPosition({
|
|
34
|
+
x: rect[0].width - size - 16,
|
|
35
|
+
y: rect[0].height - size - 90
|
|
36
|
+
});
|
|
37
|
+
} else if (!(rect instanceof Array)) {
|
|
38
|
+
setPosition({
|
|
39
|
+
x: rect.width - size - 16,
|
|
40
|
+
y: rect.height - size - 90
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}).exec();
|
|
44
|
+
clearTimeout(time);
|
|
45
|
+
}, 200);
|
|
41
46
|
}, []);
|
|
42
47
|
return /*#__PURE__*/React.createElement(MovableArea, {
|
|
43
48
|
className: "p-moveable-area ".concat(className),
|
package/dist/Popup/index.js
CHANGED
|
@@ -5,6 +5,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
5
5
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import React, { useEffect, useState } from "react";
|
|
8
|
+
import { getWindowInfo } from "@tarojs/taro";
|
|
8
9
|
import { RootPortal, View } from "@tarojs/components";
|
|
9
10
|
import "./index.less";
|
|
10
11
|
var Popup = function Popup(_ref) {
|
|
@@ -14,6 +15,11 @@ var Popup = function Popup(_ref) {
|
|
|
14
15
|
children = _ref.children,
|
|
15
16
|
_ref$height = _ref.height,
|
|
16
17
|
height = _ref$height === void 0 ? 85 : _ref$height;
|
|
18
|
+
var _getWindowInfo = getWindowInfo(),
|
|
19
|
+
safeArea = _getWindowInfo.safeArea;
|
|
20
|
+
var _ref2 = safeArea,
|
|
21
|
+
safeAreaHeight = _ref2.height,
|
|
22
|
+
bottom = _ref2.bottom;
|
|
17
23
|
var _useState = useState("translateY(100vh)"),
|
|
18
24
|
_useState2 = _slicedToArray(_useState, 2),
|
|
19
25
|
transform = _useState2[0],
|
|
@@ -51,7 +57,8 @@ var Popup = function Popup(_ref) {
|
|
|
51
57
|
className: "p-popup-container",
|
|
52
58
|
style: {
|
|
53
59
|
transform: transform,
|
|
54
|
-
height: height + "vh"
|
|
60
|
+
height: height + "vh",
|
|
61
|
+
paddingBottom: "".concat(bottom - safeAreaHeight > 24 ? bottom - safeAreaHeight : 24, "rpx")
|
|
55
62
|
},
|
|
56
63
|
onClick: function onClick(e) {
|
|
57
64
|
return e.stopPropagation();
|
package/dist/Popup/index.less
CHANGED
|
@@ -29,10 +29,18 @@ var ProFormDate = function ProFormDate(props) {
|
|
|
29
29
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
30
30
|
range = _useState4[0],
|
|
31
31
|
setRange = _useState4[1];
|
|
32
|
-
var _useState5 = useState(
|
|
32
|
+
var _useState5 = useState(value),
|
|
33
33
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
date = _useState6[0],
|
|
35
|
+
setDate = _useState6[1];
|
|
36
|
+
var _useState7 = useState([]),
|
|
37
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
38
|
+
defaultValueList = _useState8[0],
|
|
39
|
+
setDefaultValueList = _useState8[1];
|
|
40
|
+
var _useState9 = useState([]),
|
|
41
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
42
|
+
current = _useState10[0],
|
|
43
|
+
setCurrent = _useState10[1];
|
|
36
44
|
useEffect(function () {
|
|
37
45
|
getFormatRange();
|
|
38
46
|
}, []);
|
|
@@ -45,8 +53,13 @@ var ProFormDate = function ProFormDate(props) {
|
|
|
45
53
|
return r.indexOf(v) >= 0;
|
|
46
54
|
});
|
|
47
55
|
});
|
|
56
|
+
setDate(value);
|
|
48
57
|
setCurrent(_toConsumableArray(current));
|
|
49
58
|
}
|
|
59
|
+
if (!value) {
|
|
60
|
+
setDate("");
|
|
61
|
+
if (defaultValueList.length) setCurrent(_toConsumableArray(defaultValueList));
|
|
62
|
+
}
|
|
50
63
|
}, [value]);
|
|
51
64
|
var makeStringArray = useCallback(function (number, unit, zero) {
|
|
52
65
|
return Array(number).fill(null).map(function (_, index) {
|
|
@@ -90,6 +103,7 @@ var ProFormDate = function ProFormDate(props) {
|
|
|
90
103
|
current[i] = r.indexOf(value[i]);
|
|
91
104
|
});
|
|
92
105
|
setCurrent(_toConsumableArray(current));
|
|
106
|
+
setDefaultValueList(_toConsumableArray(current));
|
|
93
107
|
setRange(range);
|
|
94
108
|
}, []);
|
|
95
109
|
var updateRange = useCallback(function (_ref) {
|
|
@@ -116,9 +130,10 @@ var ProFormDate = function ProFormDate(props) {
|
|
|
116
130
|
var formatValue = useCallback(function (result) {
|
|
117
131
|
var value = result.map(function (v, i) {
|
|
118
132
|
return range[i][v];
|
|
119
|
-
}).join("")
|
|
120
|
-
|
|
121
|
-
|
|
133
|
+
}).join("").replace(/年|月/g, '-').replace(/(\d+)日/, '$1 ').replace(/(\d+)时/, '$1:').replace('分', '').replace(/[-\s:]+$/, '') // 移除末尾多余的符号
|
|
134
|
+
.trim();
|
|
135
|
+
setDate(value);
|
|
136
|
+
onChange === null || onChange === void 0 || onChange(value);
|
|
122
137
|
}, [range]);
|
|
123
138
|
return /*#__PURE__*/React.createElement(ProFormField, props, /*#__PURE__*/React.createElement(Picker, {
|
|
124
139
|
mode: "multiSelector",
|
|
@@ -132,9 +147,9 @@ var ProFormDate = function ProFormDate(props) {
|
|
|
132
147
|
},
|
|
133
148
|
disabled: disabled,
|
|
134
149
|
className: "p-pro-form-item-control-picker"
|
|
135
|
-
},
|
|
150
|
+
}, date ? /*#__PURE__*/React.createElement(Text, {
|
|
136
151
|
className: "p-pro-form-item-value"
|
|
137
|
-
},
|
|
152
|
+
}, date) : /*#__PURE__*/React.createElement(Text, {
|
|
138
153
|
className: "p-pro-form-item-placeholder"
|
|
139
154
|
}, placeholder)));
|
|
140
155
|
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FC, ReactElement } from "react";
|
|
2
|
+
import { ProListProps } from "../../../ProList";
|
|
3
|
+
import "./index.less";
|
|
4
|
+
type OptionType = {
|
|
5
|
+
add?: () => void;
|
|
6
|
+
remove?: () => void;
|
|
7
|
+
};
|
|
8
|
+
type ProFormListProps = ProFormAPI.ProFormItemProps & {
|
|
9
|
+
extra?: ReactElement;
|
|
10
|
+
children?: (record: {
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}, option: OptionType) => ReactElement;
|
|
13
|
+
record?: {
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
};
|
|
16
|
+
listProps?: ProListProps & {
|
|
17
|
+
onAdd?: (onChange: (value: {
|
|
18
|
+
[key: string]: any;
|
|
19
|
+
}) => void, value: {
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}[]) => void;
|
|
22
|
+
onEdit?: (record: {
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}, onChange: (value: {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}) => void) => void;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
declare const ProFormList: FC<ProFormListProps>;
|
|
30
|
+
export default ProFormList;
|