@power-xa/m-ui 0.0.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/README.md +21 -0
- package/dist/ActionSheet/index.d.ts +16 -0
- package/dist/ActionSheet/index.js +79 -0
- package/dist/ActionSheet/index.less +39 -0
- package/dist/Breadcrumb/index.d.ts +14 -0
- package/dist/Breadcrumb/index.js +31 -0
- package/dist/Breadcrumb/index.less +28 -0
- package/dist/Button/index.d.ts +16 -0
- package/dist/Button/index.js +53 -0
- package/dist/Button/index.less +42 -0
- package/dist/ConfigProvider/index.d.ts +23 -0
- package/dist/ConfigProvider/index.js +41 -0
- package/dist/CreatorEdit/index.d.ts +12 -0
- package/dist/CreatorEdit/index.js +70 -0
- package/dist/CreatorEdit/index.less +41 -0
- package/dist/Drawer/index.d.ts +12 -0
- package/dist/Drawer/index.js +71 -0
- package/dist/Drawer/index.less +24 -0
- package/dist/Empty/index.d.ts +12 -0
- package/dist/Empty/index.js +18 -0
- package/dist/Empty/index.less +15 -0
- package/dist/FloatButton/index.d.ts +10 -0
- package/dist/FloatButton/index.js +60 -0
- package/dist/FloatButton/index.less +26 -0
- package/dist/Grid/index.d.ts +15 -0
- package/dist/Grid/index.js +26 -0
- package/dist/Grid/index.less +4 -0
- package/dist/PageContainer/index.d.ts +17 -0
- package/dist/PageContainer/index.js +50 -0
- package/dist/PageContainer/index.less +41 -0
- package/dist/Popup/index.d.ts +13 -0
- package/dist/Popup/index.js +65 -0
- package/dist/Popup/index.less +22 -0
- package/dist/ProForm/Field/index.d.ts +8 -0
- package/dist/ProForm/Field/index.js +33 -0
- package/dist/ProForm/Field/index.less +96 -0
- package/dist/ProForm/Form/index.d.ts +7 -0
- package/dist/ProForm/Form/index.js +145 -0
- package/dist/ProForm/Form/index.less +61 -0
- package/dist/ProForm/Group/index.d.ts +7 -0
- package/dist/ProForm/Group/index.js +73 -0
- package/dist/ProForm/Group/index.less +32 -0
- package/dist/ProForm/controls/Date/index.d.ts +3 -0
- package/dist/ProForm/controls/Date/index.js +141 -0
- package/dist/ProForm/controls/List/index.d.ts +23 -0
- package/dist/ProForm/controls/List/index.js +77 -0
- package/dist/ProForm/controls/List/index.less +53 -0
- package/dist/ProForm/controls/Select/index.d.ts +4 -0
- package/dist/ProForm/controls/Select/index.js +263 -0
- package/dist/ProForm/controls/Select/index.less +120 -0
- package/dist/ProForm/controls/Text/index.d.ts +4 -0
- package/dist/ProForm/controls/Text/index.js +29 -0
- package/dist/ProForm/controls/Text/index.less +7 -0
- package/dist/ProForm/controls/TextArea/index.d.ts +4 -0
- package/dist/ProForm/controls/TextArea/index.js +63 -0
- package/dist/ProForm/controls/TextArea/index.less +46 -0
- package/dist/ProForm/controls/Upload/index.d.ts +4 -0
- package/dist/ProForm/controls/Upload/index.js +383 -0
- package/dist/ProForm/controls/Upload/index.less +174 -0
- package/dist/ProForm/index.d.ts +9 -0
- package/dist/ProForm/index.js +5 -0
- package/dist/ProForm/typings.d.ts +164 -0
- package/dist/ProList/index.d.ts +78 -0
- package/dist/ProList/index.js +323 -0
- package/dist/ProList/index.less +318 -0
- package/dist/RefreshList/index.d.ts +17 -0
- package/dist/RefreshList/index.js +43 -0
- package/dist/RefreshList/index.less +19 -0
- package/dist/Skeleton/index.d.ts +5 -0
- package/dist/Skeleton/index.js +37 -0
- package/dist/Skeleton/index.less +7 -0
- package/dist/Tabbar/index.d.ts +13 -0
- package/dist/Tabbar/index.js +77 -0
- package/dist/Tabbar/index.less +44 -0
- package/dist/Tabs/index.d.ts +26 -0
- package/dist/Tabs/index.js +186 -0
- package/dist/Tabs/index.less +249 -0
- package/dist/assets/fonts/PingFangSC-Light.ttf +0 -0
- package/dist/assets/fonts/PingFangSC-Medium.ttf +0 -0
- package/dist/assets/fonts/PingFangSC-Regular.ttf +0 -0
- package/dist/assets/less/mixins.less +37 -0
- package/dist/global.less +0 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.js +27 -0
- package/dist/request/index.d.ts +8 -0
- package/dist/request/index.js +61 -0
- package/dist/services/FileController/index.d.ts +12 -0
- package/dist/services/FileController/index.js +39 -0
- package/dist/services/FileController/typings.d.ts +52 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +2 -0
- package/dist/services/typings.d.ts +25 -0
- package/dist/utils/tools.d.ts +33 -0
- package/dist/utils/tools.js +231 -0
- package/package.json +88 -0
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# m-ui
|
|
2
|
+
|
|
3
|
+
# 0.0.1
|
|
4
|
+
1.增加request方法
|
|
5
|
+
2.增加组件:
|
|
6
|
+
- Button
|
|
7
|
+
- PageContainer
|
|
8
|
+
- Tabs
|
|
9
|
+
- RefreshList
|
|
10
|
+
- Skeleton
|
|
11
|
+
- Drawer
|
|
12
|
+
- Popup
|
|
13
|
+
- Grid
|
|
14
|
+
- Tabbar
|
|
15
|
+
- ProList
|
|
16
|
+
- FloatButton
|
|
17
|
+
- Breadcrumb
|
|
18
|
+
- ConfigProvider
|
|
19
|
+
- CreatorEdit
|
|
20
|
+
- Empty
|
|
21
|
+
- ActionSheet
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type ActionSheetProps = {
|
|
4
|
+
options?: {
|
|
5
|
+
title?: string | ReactNode;
|
|
6
|
+
subTitle?: string;
|
|
7
|
+
onTap?: (key: string) => void;
|
|
8
|
+
key: string;
|
|
9
|
+
danger?: boolean;
|
|
10
|
+
}[];
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
open?: boolean;
|
|
13
|
+
onCancel?: () => void;
|
|
14
|
+
};
|
|
15
|
+
declare const ActionSheet: FC<ActionSheetProps>;
|
|
16
|
+
export default ActionSheet;
|
|
@@ -0,0 +1,79 @@
|
|
|
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, useEffect, useState } from "react";
|
|
8
|
+
import { getWindowInfo } from "@tarojs/taro";
|
|
9
|
+
import { Text, View } from "@tarojs/components";
|
|
10
|
+
import { Popup } from "./..";
|
|
11
|
+
import "./index.less";
|
|
12
|
+
var ActionSheet = function ActionSheet(_ref) {
|
|
13
|
+
var _ref$options = _ref.options,
|
|
14
|
+
options = _ref$options === void 0 ? [] : _ref$options,
|
|
15
|
+
children = _ref.children,
|
|
16
|
+
open = _ref.open,
|
|
17
|
+
onCancel = _ref.onCancel;
|
|
18
|
+
var _getWindowInfo = getWindowInfo(),
|
|
19
|
+
windowHeight = _getWindowInfo.windowHeight;
|
|
20
|
+
var _useState = useState(false),
|
|
21
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
22
|
+
show = _useState2[0],
|
|
23
|
+
setShow = _useState2[1];
|
|
24
|
+
useEffect(function () {
|
|
25
|
+
setShow(open || false);
|
|
26
|
+
}, [open]);
|
|
27
|
+
useEffect(function () {
|
|
28
|
+
if (show !== open) {
|
|
29
|
+
onCancel === null || onCancel === void 0 || onCancel();
|
|
30
|
+
}
|
|
31
|
+
}, [show]);
|
|
32
|
+
return /*#__PURE__*/React.createElement(Fragment, null, typeof open !== "boolean" && /*#__PURE__*/React.createElement(View, {
|
|
33
|
+
className: "p-action-sheet-target-container",
|
|
34
|
+
onTap: function onTap() {
|
|
35
|
+
return setShow(true);
|
|
36
|
+
}
|
|
37
|
+
}, children), /*#__PURE__*/React.createElement(Popup, {
|
|
38
|
+
open: show,
|
|
39
|
+
onOpenChange: function onOpenChange(open) {
|
|
40
|
+
return setShow(open);
|
|
41
|
+
},
|
|
42
|
+
rootClassName: "p-action-sheet-popup-container",
|
|
43
|
+
height: ((options.length + 1) * 55 + 10) / windowHeight * 100
|
|
44
|
+
}, function (_ref2) {
|
|
45
|
+
var onOpenChange = _ref2.onOpenChange;
|
|
46
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
47
|
+
className: "p-action-sheet-popup-content"
|
|
48
|
+
}, options.map(function (item) {
|
|
49
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
50
|
+
className: "p-action-sheet-option",
|
|
51
|
+
key: item.key,
|
|
52
|
+
onTap: function onTap() {
|
|
53
|
+
var _item$onTap;
|
|
54
|
+
if (!item.onTap) return false;
|
|
55
|
+
onOpenChange === null || onOpenChange === void 0 || onOpenChange();
|
|
56
|
+
(_item$onTap = item.onTap) === null || _item$onTap === void 0 || _item$onTap.call(item, item.key);
|
|
57
|
+
}
|
|
58
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
59
|
+
className: "text",
|
|
60
|
+
style: {
|
|
61
|
+
color: item.danger ? "#ff4d4f" : "#333437"
|
|
62
|
+
}
|
|
63
|
+
}, item.title), /*#__PURE__*/React.createElement(Text, {
|
|
64
|
+
className: "sub-text",
|
|
65
|
+
style: {
|
|
66
|
+
color: item.danger ? "#ff4d4f" : "#999"
|
|
67
|
+
}
|
|
68
|
+
}, item.subTitle));
|
|
69
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
70
|
+
className: "border"
|
|
71
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
72
|
+
className: "p-action-sheet-option cancel",
|
|
73
|
+
onTap: onOpenChange
|
|
74
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
75
|
+
className: "text"
|
|
76
|
+
}, "\u53D6\u6D88")));
|
|
77
|
+
}));
|
|
78
|
+
};
|
|
79
|
+
export default ActionSheet;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@import "@power-xa/m-ui/dist/assets/less/mixins.less";
|
|
2
|
+
|
|
3
|
+
.p-action-sheet-popup-container {
|
|
4
|
+
z-index: 9999;
|
|
5
|
+
|
|
6
|
+
.p-action-sheet-popup-content {
|
|
7
|
+
.border {
|
|
8
|
+
width: 100%;
|
|
9
|
+
height: 20px;
|
|
10
|
+
background: #F6F7F9;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.p-action-sheet-option {
|
|
14
|
+
padding: 32px;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
align-items: center;
|
|
19
|
+
justify-content: center;
|
|
20
|
+
border-bottom: 1px solid #F6F7F9;
|
|
21
|
+
|
|
22
|
+
.text {
|
|
23
|
+
.font(28, #333437)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.sub-text {
|
|
27
|
+
.font(24, #999)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&.cancel {
|
|
31
|
+
border-bottom: none;
|
|
32
|
+
|
|
33
|
+
.text {
|
|
34
|
+
.font(28, #999)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type BreadcrumbItemType = {
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
icon?: string;
|
|
7
|
+
onTap?: (key: string) => void;
|
|
8
|
+
};
|
|
9
|
+
type BreadcrumbProps = {
|
|
10
|
+
items: BreadcrumbItemType[];
|
|
11
|
+
separator?: ReactNode;
|
|
12
|
+
};
|
|
13
|
+
declare const Breadcrumb: FC<BreadcrumbProps>;
|
|
14
|
+
export default Breadcrumb;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React, { Fragment } from "react";
|
|
2
|
+
import { ScrollView, Text, View } from "@tarojs/components";
|
|
3
|
+
import "./index.less";
|
|
4
|
+
var Breadcrumb = function Breadcrumb(_ref) {
|
|
5
|
+
var items = _ref.items,
|
|
6
|
+
_ref$separator = _ref.separator,
|
|
7
|
+
separator = _ref$separator === void 0 ? /*#__PURE__*/React.createElement(Text, {
|
|
8
|
+
className: "p-breadcrumb-separator"
|
|
9
|
+
}, "/") : _ref$separator;
|
|
10
|
+
if (!items.length) return null;
|
|
11
|
+
return /*#__PURE__*/React.createElement(ScrollView, {
|
|
12
|
+
scrollX: true,
|
|
13
|
+
className: "p-breadcrumb-container"
|
|
14
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
15
|
+
className: "p-breadcrumb-content"
|
|
16
|
+
}, items.map(function (item, index) {
|
|
17
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
18
|
+
className: "p-breadcrumb-item",
|
|
19
|
+
key: item.key,
|
|
20
|
+
onTap: function onTap() {
|
|
21
|
+
var _item$onTap;
|
|
22
|
+
return (_item$onTap = item.onTap) === null || _item$onTap === void 0 ? void 0 : _item$onTap.call(item, item.key);
|
|
23
|
+
}
|
|
24
|
+
}, item.icon && /*#__PURE__*/React.createElement(View, {
|
|
25
|
+
className: "iconfont ".concat(item.icon)
|
|
26
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
27
|
+
className: "p-breadcrumb-item-text"
|
|
28
|
+
}, item.label)), index !== items.length - 1 && separator);
|
|
29
|
+
})));
|
|
30
|
+
};
|
|
31
|
+
export default Breadcrumb;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@import "@power-xa/m-ui/dist/assets/less/mixins.less";
|
|
2
|
+
|
|
3
|
+
.p-breadcrumb-container {
|
|
4
|
+
.p-breadcrumb-content {
|
|
5
|
+
width: 100%;
|
|
6
|
+
height: 100%;
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
gap: 20px;
|
|
10
|
+
|
|
11
|
+
.p-breadcrumb-item-text,
|
|
12
|
+
.p-breadcrumb-separator {
|
|
13
|
+
.font(24, #999)
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.p-breadcrumb-item {
|
|
17
|
+
display: flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
gap: 12px;
|
|
20
|
+
|
|
21
|
+
&:nth-last-of-type(1) {
|
|
22
|
+
.p-breadcrumb-item-text {
|
|
23
|
+
.font(24, #333437, Regular, 500)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type ButtonProps = {
|
|
4
|
+
autoInsertSpace?: boolean;
|
|
5
|
+
block?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
color?: "default" | "primary" | "danger" | string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
icon?: string | ReactNode;
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
onTap?: () => void;
|
|
12
|
+
children?: string;
|
|
13
|
+
round?: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare const Button: FC<ButtonProps>;
|
|
16
|
+
export default Button;
|
|
@@ -0,0 +1,53 @@
|
|
|
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, { useEffect, useState } from "react";
|
|
8
|
+
import { Text, View } from "@tarojs/components";
|
|
9
|
+
import "./index.less";
|
|
10
|
+
var Button = function Button(_ref) {
|
|
11
|
+
var _ref$autoInsertSpace = _ref.autoInsertSpace,
|
|
12
|
+
autoInsertSpace = _ref$autoInsertSpace === void 0 ? true : _ref$autoInsertSpace,
|
|
13
|
+
block = _ref.block,
|
|
14
|
+
className = _ref.className,
|
|
15
|
+
_ref$color = _ref.color,
|
|
16
|
+
color = _ref$color === void 0 ? "default" : _ref$color,
|
|
17
|
+
disabled = _ref.disabled,
|
|
18
|
+
icon = _ref.icon,
|
|
19
|
+
loading = _ref.loading,
|
|
20
|
+
onTap = _ref.onTap,
|
|
21
|
+
_ref$children = _ref.children,
|
|
22
|
+
children = _ref$children === void 0 ? "" : _ref$children,
|
|
23
|
+
round = _ref.round;
|
|
24
|
+
var _useState = useState(false),
|
|
25
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
26
|
+
tap = _useState2[0],
|
|
27
|
+
setTap = _useState2[1];
|
|
28
|
+
useEffect(function () {
|
|
29
|
+
if (tap) {
|
|
30
|
+
onTap === null || onTap === void 0 || onTap();
|
|
31
|
+
var timer = setTimeout(function () {
|
|
32
|
+
setTap(false);
|
|
33
|
+
clearTimeout(timer);
|
|
34
|
+
}, 500);
|
|
35
|
+
}
|
|
36
|
+
}, [tap]);
|
|
37
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
38
|
+
className: "p-button ".concat(className, " ").concat(["default", "primary", "danger"].includes(color) ? color : '', " ").concat(disabled ? 'p-button-diabled' : ''),
|
|
39
|
+
style: {
|
|
40
|
+
backgroundColor: !["default", "primary", "danger"].includes(color) ? color : undefined,
|
|
41
|
+
width: block ? "100%" : undefined,
|
|
42
|
+
borderRadius: round ? "100px" : undefined
|
|
43
|
+
},
|
|
44
|
+
onTap: function onTap() {
|
|
45
|
+
return !disabled && !loading && setTap(true);
|
|
46
|
+
}
|
|
47
|
+
}, typeof icon === "string" ? /*#__PURE__*/React.createElement(View, {
|
|
48
|
+
className: "iconfont ".concat(icon)
|
|
49
|
+
}) : icon, /*#__PURE__*/React.createElement(Text, {
|
|
50
|
+
className: "text"
|
|
51
|
+
}, autoInsertSpace ? children.split("").join(" ") : children));
|
|
52
|
+
};
|
|
53
|
+
export default Button;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
@import "@power-xa/m-ui/dist/assets/less/mixins.less";
|
|
2
|
+
|
|
3
|
+
.p-button {
|
|
4
|
+
padding: 24px 32px;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
border-radius: 12px;
|
|
7
|
+
display: flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
gap: 8px;
|
|
11
|
+
width: max-content;
|
|
12
|
+
|
|
13
|
+
.iconfont {
|
|
14
|
+
font-size: 28px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.text {
|
|
18
|
+
.font(28, #333437)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&.default {
|
|
22
|
+
background: #fff;
|
|
23
|
+
border: 1px solid #333437;
|
|
24
|
+
|
|
25
|
+
.iconfont,
|
|
26
|
+
.text {
|
|
27
|
+
color: #333437;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.primary {
|
|
32
|
+
background: #333437;
|
|
33
|
+
border: 1px solid #333437;
|
|
34
|
+
|
|
35
|
+
.iconfont,
|
|
36
|
+
.text {
|
|
37
|
+
color: #fff;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&.danger {}
|
|
42
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
|
+
interface ExtraType {
|
|
3
|
+
upload?: {
|
|
4
|
+
method: "OSS" | "FTP" | "MINIO";
|
|
5
|
+
config?: any;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export interface ConfigProviderType {
|
|
9
|
+
src?: {
|
|
10
|
+
resource?: string;
|
|
11
|
+
oss?: string;
|
|
12
|
+
};
|
|
13
|
+
basename?: string;
|
|
14
|
+
token?: string;
|
|
15
|
+
extra?: ExtraType;
|
|
16
|
+
setExtra?: (extra: ExtraType) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const useConfig: () => ConfigProviderType;
|
|
19
|
+
interface ConfigProviderProps extends ConfigProviderType {
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
}
|
|
22
|
+
declare const ConfigProvider: FC<ConfigProviderProps>;
|
|
23
|
+
export default ConfigProvider;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
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."); }
|
|
9
|
+
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); }
|
|
10
|
+
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; }
|
|
11
|
+
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; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import React, { createContext, useContext, useState } from "react";
|
|
14
|
+
import { useDebounceEffect } from "ahooks";
|
|
15
|
+
var ConfigContext = /*#__PURE__*/createContext({});
|
|
16
|
+
export var useConfig = function useConfig() {
|
|
17
|
+
return useContext(ConfigContext);
|
|
18
|
+
};
|
|
19
|
+
var ConfigProvider = function ConfigProvider(props) {
|
|
20
|
+
var children = props.children;
|
|
21
|
+
var _useState = useState(props),
|
|
22
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
23
|
+
state = _useState2[0],
|
|
24
|
+
setState = _useState2[1];
|
|
25
|
+
useDebounceEffect(function () {
|
|
26
|
+
setState(_objectSpread(_objectSpread({}, state), props));
|
|
27
|
+
}, [props], {
|
|
28
|
+
wait: 200
|
|
29
|
+
});
|
|
30
|
+
var setExtra = function setExtra(extra) {
|
|
31
|
+
setState(_objectSpread(_objectSpread({}, state), {}, {
|
|
32
|
+
extra: _objectSpread(_objectSpread({}, state.extra), extra)
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
return /*#__PURE__*/React.createElement(ConfigContext.Provider, {
|
|
36
|
+
value: _objectSpread(_objectSpread({}, state), {}, {
|
|
37
|
+
setExtra: setExtra
|
|
38
|
+
})
|
|
39
|
+
}, children);
|
|
40
|
+
};
|
|
41
|
+
export default ConfigProvider;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type CreatorEditProps = {
|
|
4
|
+
id?: string;
|
|
5
|
+
memberId?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
avatar?: string;
|
|
8
|
+
time?: string;
|
|
9
|
+
onEdit?: () => void;
|
|
10
|
+
};
|
|
11
|
+
declare const CreatorEdit: FC<CreatorEditProps>;
|
|
12
|
+
export default CreatorEdit;
|
|
@@ -0,0 +1,70 @@
|
|
|
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, { useCallback, useEffect, useState } from "react";
|
|
8
|
+
import { View, Image, Text } from "@tarojs/components";
|
|
9
|
+
import { Button, getSimplifyDay } from "./..";
|
|
10
|
+
import { useConfig } from "../ConfigProvider";
|
|
11
|
+
import { FileController } from "../services";
|
|
12
|
+
import "./index.less";
|
|
13
|
+
var CreatorEdit = function CreatorEdit(_ref) {
|
|
14
|
+
var id = _ref.id,
|
|
15
|
+
memberId = _ref.memberId,
|
|
16
|
+
name = _ref.name,
|
|
17
|
+
avatar = _ref.avatar,
|
|
18
|
+
time = _ref.time,
|
|
19
|
+
onEdit = _ref.onEdit;
|
|
20
|
+
var _useConfig = useConfig(),
|
|
21
|
+
src = _useConfig.src;
|
|
22
|
+
var _useState = useState(avatar || ""),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
imageUrl = _useState2[0],
|
|
25
|
+
setImageUrl = _useState2[1];
|
|
26
|
+
useEffect(function () {
|
|
27
|
+
if (!avatar && memberId) {
|
|
28
|
+
getProjectMemberAvatar();
|
|
29
|
+
}
|
|
30
|
+
}, [avatar, memberId]);
|
|
31
|
+
useEffect(function () {
|
|
32
|
+
if (!avatar && id) {
|
|
33
|
+
getUserAvatar();
|
|
34
|
+
}
|
|
35
|
+
}, [avatar, id]);
|
|
36
|
+
var getUserAvatar = useCallback(function () {
|
|
37
|
+
FileController.getUserAvatar({
|
|
38
|
+
ids: [id]
|
|
39
|
+
}).then(function (result) {
|
|
40
|
+
if (result.code === 200) {
|
|
41
|
+
setImageUrl(result.data[0] || (src === null || src === void 0 ? void 0 : src.resource) + "/images/default/avatar.svg");
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}, [id]);
|
|
45
|
+
var getProjectMemberAvatar = useCallback(function () {
|
|
46
|
+
FileController.getProjectMemberAvatar({
|
|
47
|
+
ids: [memberId]
|
|
48
|
+
}).then(function (result) {
|
|
49
|
+
if (result.code === 200) {
|
|
50
|
+
setImageUrl(result.data[0] || (src === null || src === void 0 ? void 0 : src.resource) + "/images/default/avatar.svg");
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}, [memberId]);
|
|
54
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
55
|
+
className: "p-creator-edit-container"
|
|
56
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
57
|
+
src: imageUrl,
|
|
58
|
+
className: "avatar"
|
|
59
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
60
|
+
className: "text-content"
|
|
61
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
62
|
+
className: "text"
|
|
63
|
+
}, name), time && /*#__PURE__*/React.createElement(Text, {
|
|
64
|
+
className: "sub-text"
|
|
65
|
+
}, getSimplifyDay(time))), onEdit && /*#__PURE__*/React.createElement(Button, {
|
|
66
|
+
onTap: onEdit,
|
|
67
|
+
round: true
|
|
68
|
+
}, "\u7F16\u8F91"));
|
|
69
|
+
};
|
|
70
|
+
export default CreatorEdit;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
@import "@power-xa/m-ui/dist/assets/less/mixins.less";
|
|
2
|
+
|
|
3
|
+
.p-creator-edit-container {
|
|
4
|
+
padding: 14px 24px 14px 34px;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: space-between;
|
|
9
|
+
gap: 20px;
|
|
10
|
+
|
|
11
|
+
.avatar {
|
|
12
|
+
width: 70px;
|
|
13
|
+
height: 70px;
|
|
14
|
+
border-radius: 12px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.text-content {
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
gap: 8px;
|
|
21
|
+
flex: 1;
|
|
22
|
+
|
|
23
|
+
.text {
|
|
24
|
+
.font(24, #333437)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.sub-text {
|
|
28
|
+
.font(20, #999)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.p-button {
|
|
33
|
+
padding: 12px 28px;
|
|
34
|
+
background: #F5F6F7;
|
|
35
|
+
border: none;
|
|
36
|
+
|
|
37
|
+
.text {
|
|
38
|
+
.font(24, #333437)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC, ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type DrawerProps = {
|
|
4
|
+
open?: boolean;
|
|
5
|
+
onOpenChange?: (open: boolean) => void;
|
|
6
|
+
rootClassName?: string;
|
|
7
|
+
header?: ReactNode;
|
|
8
|
+
content?: ReactNode;
|
|
9
|
+
footer?: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
declare const Drawer: FC<DrawerProps>;
|
|
12
|
+
export default Drawer;
|
|
@@ -0,0 +1,71 @@
|
|
|
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, { useEffect, useState } from "react";
|
|
8
|
+
import { getMenuButtonBoundingClientRect } from "@tarojs/taro";
|
|
9
|
+
import { View } from "@tarojs/components";
|
|
10
|
+
import "./index.less";
|
|
11
|
+
var Drawer = function Drawer(_ref) {
|
|
12
|
+
var open = _ref.open,
|
|
13
|
+
onOpenChange = _ref.onOpenChange,
|
|
14
|
+
rootClassName = _ref.rootClassName,
|
|
15
|
+
header = _ref.header,
|
|
16
|
+
content = _ref.content,
|
|
17
|
+
footer = _ref.footer;
|
|
18
|
+
var _getMenuButtonBoundin = getMenuButtonBoundingClientRect(),
|
|
19
|
+
top = _getMenuButtonBoundin.top,
|
|
20
|
+
height = _getMenuButtonBoundin.height;
|
|
21
|
+
var _useState = useState("translateX(-65vw)"),
|
|
22
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
23
|
+
transform = _useState2[0],
|
|
24
|
+
setTransform = _useState2[1];
|
|
25
|
+
var _useState3 = useState(false),
|
|
26
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
27
|
+
show = _useState4[0],
|
|
28
|
+
setShow = _useState4[1];
|
|
29
|
+
useEffect(function () {
|
|
30
|
+
setShow(open || false);
|
|
31
|
+
}, [open]);
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
if (show !== open) {
|
|
34
|
+
var timer = setTimeout(function () {
|
|
35
|
+
onOpenChange === null || onOpenChange === void 0 || onOpenChange(show);
|
|
36
|
+
clearTimeout(timer);
|
|
37
|
+
}, 300);
|
|
38
|
+
}
|
|
39
|
+
}, [show]);
|
|
40
|
+
useEffect(function () {
|
|
41
|
+
setTransform(show ? "none" : "translateX(-65vw)");
|
|
42
|
+
}, [show]);
|
|
43
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
44
|
+
className: "p-drawer-mask ".concat(rootClassName),
|
|
45
|
+
style: {
|
|
46
|
+
display: open ? "block" : "none"
|
|
47
|
+
},
|
|
48
|
+
onTap: function onTap() {
|
|
49
|
+
return setShow(false);
|
|
50
|
+
}
|
|
51
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
52
|
+
className: "p-drawer-container",
|
|
53
|
+
style: {
|
|
54
|
+
paddingTop: top,
|
|
55
|
+
transform: transform
|
|
56
|
+
},
|
|
57
|
+
onClick: function onClick(e) {
|
|
58
|
+
return e.stopPropagation();
|
|
59
|
+
}
|
|
60
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
61
|
+
className: "p-drawer-header",
|
|
62
|
+
style: {
|
|
63
|
+
height: height
|
|
64
|
+
}
|
|
65
|
+
}, header), /*#__PURE__*/React.createElement(View, {
|
|
66
|
+
className: "p-drawer-content"
|
|
67
|
+
}, content), /*#__PURE__*/React.createElement(View, {
|
|
68
|
+
className: "p-drawer-footer"
|
|
69
|
+
}, footer)));
|
|
70
|
+
};
|
|
71
|
+
export default Drawer;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.p-drawer-mask {
|
|
2
|
+
position: fixed;
|
|
3
|
+
top: 0;
|
|
4
|
+
right: 0;
|
|
5
|
+
bottom: 0;
|
|
6
|
+
left: 0;
|
|
7
|
+
background: rgba(51, 52, 55, 0.70);
|
|
8
|
+
|
|
9
|
+
.p-drawer-container {
|
|
10
|
+
width: 65vw;
|
|
11
|
+
height: 100vh;
|
|
12
|
+
background: #fff;
|
|
13
|
+
transform: translateX(-65vw);
|
|
14
|
+
transition: .3s;
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
|
|
19
|
+
.p-drawer-content {
|
|
20
|
+
flex: 1;
|
|
21
|
+
height: 0;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { FC } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
type SemanticName = 'root' | 'image' | 'description' | 'footer';
|
|
4
|
+
type EmptyProps = {
|
|
5
|
+
image?: React.ReactNode;
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
classNames?: Partial<Record<SemanticName, string>>;
|
|
9
|
+
styles?: Partial<Record<SemanticName, React.CSSProperties>>;
|
|
10
|
+
};
|
|
11
|
+
declare const Empty: FC<EmptyProps>;
|
|
12
|
+
export default Empty;
|