@power-xa/m-ui 0.0.1 → 0.0.2

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 (51) hide show
  1. package/dist/ActionSheet/index.less +2 -1
  2. package/dist/Button/index.js +1 -1
  3. package/dist/CreatorEdit/index.js +2 -1
  4. package/dist/DatePicker/index.d.ts +13 -0
  5. package/dist/DatePicker/index.js +150 -0
  6. package/dist/DatePicker/index.less +35 -0
  7. package/dist/Filter/index.d.ts +13 -0
  8. package/dist/Filter/index.js +77 -0
  9. package/dist/Filter/index.less +78 -0
  10. package/dist/FloatButton/index.js +24 -19
  11. package/dist/Popup/index.js +8 -1
  12. package/dist/Popup/index.less +1 -0
  13. package/dist/ProForm/{controls → Controls}/Date/index.js +23 -8
  14. package/dist/ProForm/Controls/List/index.d.ts +30 -0
  15. package/dist/ProForm/Controls/List/index.js +130 -0
  16. package/dist/ProForm/{controls → Controls}/List/index.less +31 -0
  17. package/dist/ProForm/{controls → Controls}/Select/index.js +23 -13
  18. package/dist/ProForm/{controls → Controls}/Select/index.less +6 -0
  19. package/dist/ProForm/Controls/Text/index.js +45 -0
  20. package/dist/ProForm/{controls → Controls}/TextArea/index.js +14 -4
  21. package/dist/ProForm/{controls → Controls}/Upload/index.js +5 -1
  22. package/dist/ProForm/Field/index.d.ts +2 -1
  23. package/dist/ProForm/Field/index.js +1 -1
  24. package/dist/ProForm/Field/index.less +2 -0
  25. package/dist/ProForm/Form/index.d.ts +6 -6
  26. package/dist/ProForm/Form/index.js +123 -49
  27. package/dist/ProForm/Group/index.js +31 -45
  28. package/dist/ProForm/index.d.ts +0 -2
  29. package/dist/ProForm/typings.d.ts +18 -16
  30. package/dist/ProList/index.d.ts +1 -1
  31. package/dist/ProList/index.js +36 -14
  32. package/dist/SearchInput/index.d.ts +9 -0
  33. package/dist/SearchInput/index.js +22 -0
  34. package/dist/SearchInput/index.less +29 -0
  35. package/dist/index.d.ts +10 -7
  36. package/dist/index.js +10 -7
  37. package/dist/request/index.js +1 -1
  38. package/dist/utils/tools.d.ts +11 -1
  39. package/dist/utils/tools.js +43 -9
  40. package/package.json +1 -1
  41. package/dist/ProForm/controls/List/index.d.ts +0 -23
  42. package/dist/ProForm/controls/List/index.js +0 -77
  43. package/dist/ProForm/controls/Text/index.js +0 -29
  44. /package/dist/ProForm/{controls → Controls}/Date/index.d.ts +0 -0
  45. /package/dist/ProForm/{controls → Controls}/Select/index.d.ts +0 -0
  46. /package/dist/ProForm/{controls → Controls}/Text/index.d.ts +0 -0
  47. /package/dist/ProForm/{controls → Controls}/Text/index.less +0 -0
  48. /package/dist/ProForm/{controls → Controls}/TextArea/index.d.ts +0 -0
  49. /package/dist/ProForm/{controls → Controls}/TextArea/index.less +0 -0
  50. /package/dist/ProForm/{controls → Controls}/Upload/index.d.ts +0 -0
  51. /package/dist/ProForm/{controls → Controls}/Upload/index.less +0 -0
@@ -24,7 +24,8 @@
24
24
  }
25
25
 
26
26
  .sub-text {
27
- .font(24, #999)
27
+ .font(24, #999);
28
+ text-align: center;
28
29
  }
29
30
 
30
31
  &.cancel {
@@ -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 id = "p-moveable-area-".concat(getUUID());
19
- var _useState = useState({
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
- _useState2 = _slicedToArray(_useState, 2),
24
- position = _useState2[0],
25
- setPosition = _useState2[1];
25
+ _useState4 = _slicedToArray(_useState3, 2),
26
+ position = _useState4[0],
27
+ setPosition = _useState4[1];
26
28
  useEffect(function () {
27
- var query = createSelectorQuery();
28
- query.selectAll("#".concat(id)).boundingClientRect(function (rect) {
29
- if (rect instanceof Array) {
30
- setPosition({
31
- x: rect[0].width - size - 16,
32
- y: rect[0].height - size - 90
33
- });
34
- } else {
35
- setPosition({
36
- x: rect.width - size - 16,
37
- y: rect.height - size - 90
38
- });
39
- }
40
- }).exec();
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),
@@ -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();
@@ -8,6 +8,7 @@
8
8
  display: flex;
9
9
  flex-direction: column;
10
10
  justify-content: flex-end;
11
+ z-index: 999;
11
12
 
12
13
  .p-popup-container {
13
14
  width: 100vw;
@@ -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
- current = _useState6[0],
35
- setCurrent = _useState6[1];
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
- onChange === null || onChange === void 0 || onChange(value.replace(/年|月/g, '-').replace(/(\d+)日/, '$1 ').replace(/(\d+)时/, '$1:').replace('分', '').replace(/[-\s:]+$/, '') // 移除末尾多余的符号
121
- .trim());
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
- }, value ? /*#__PURE__*/React.createElement(Text, {
150
+ }, date ? /*#__PURE__*/React.createElement(Text, {
136
151
  className: "p-pro-form-item-value"
137
- }, value || "-") : /*#__PURE__*/React.createElement(Text, {
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;