@arco-design/mobile-react 2.19.1 → 2.19.2-ee92494.5
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.en-US.md +2 -2
- package/README.md +2 -2
- package/cjs/_helpers/type.d.ts +1 -1
- package/cjs/button/demo/style/mobile.less +4 -0
- package/cjs/button/index.d.ts +6 -0
- package/cjs/button/index.js +12 -2
- package/cjs/count-down/demo/style/mobile.less +1 -1
- package/cjs/grid/index.js +13 -12
- package/cjs/image/index.d.ts +0 -1
- package/cjs/image/index.js +9 -7
- package/cjs/image-picker/add-icon.d.ts +2 -0
- package/cjs/image-picker/add-icon.js +22 -0
- package/cjs/image-picker/demo/style/css/mobile.css +40 -0
- package/cjs/image-picker/demo/style/mobile.less +42 -0
- package/cjs/image-picker/index.d.ts +184 -0
- package/cjs/image-picker/index.js +307 -0
- package/cjs/image-picker/style/css/index.css +147 -0
- package/cjs/image-picker/style/css/index.d.ts +2 -0
- package/cjs/image-picker/style/css/index.js +5 -0
- package/cjs/image-picker/style/index.d.ts +2 -0
- package/cjs/image-picker/style/index.js +5 -0
- package/cjs/image-picker/style/index.less +116 -0
- package/cjs/image-preview/index.d.ts +2 -2
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +5 -1
- package/cjs/steps/demo/style/css/mobile.css +1 -1
- package/cjs/steps/demo/style/mobile.less +1 -1
- package/cjs/steps/style/css/index.css +5 -15
- package/cjs/steps/style/index.less +6 -10
- package/cjs/style.d.ts +1 -0
- package/cjs/style.js +2 -0
- package/dist/index.js +534 -218
- package/dist/index.min.js +3 -4
- package/dist/style.css +120 -9
- package/dist/style.min.css +1 -1
- package/esm/_helpers/type.d.ts +1 -1
- package/esm/button/demo/style/mobile.less +4 -0
- package/esm/button/index.d.ts +6 -0
- package/esm/button/index.js +12 -2
- package/esm/count-down/demo/style/mobile.less +1 -1
- package/esm/grid/index.js +13 -12
- package/esm/image/index.d.ts +0 -1
- package/esm/image/index.js +10 -8
- package/esm/image-picker/add-icon.d.ts +2 -0
- package/esm/image-picker/add-icon.js +14 -0
- package/esm/image-picker/demo/style/css/mobile.css +40 -0
- package/esm/image-picker/demo/style/mobile.less +42 -0
- package/esm/image-picker/index.d.ts +184 -0
- package/esm/image-picker/index.js +288 -0
- package/esm/image-picker/style/css/index.css +147 -0
- package/esm/image-picker/style/css/index.d.ts +2 -0
- package/esm/image-picker/style/css/index.js +2 -0
- package/esm/image-picker/style/index.d.ts +2 -0
- package/esm/image-picker/style/index.js +2 -0
- package/esm/image-picker/style/index.less +116 -0
- package/esm/image-preview/index.d.ts +2 -2
- package/esm/index.d.ts +1 -0
- package/esm/index.js +1 -0
- package/esm/steps/demo/style/css/mobile.css +1 -1
- package/esm/steps/demo/style/mobile.less +1 -1
- package/esm/steps/style/css/index.css +5 -15
- package/esm/steps/style/index.less +6 -10
- package/esm/style.d.ts +1 -0
- package/esm/style.js +1 -0
- package/package.json +2 -2
- package/tokens/app/arcodesign/default/css-variables.less +17 -2
- package/tokens/app/arcodesign/default/index.d.ts +17 -2
- package/tokens/app/arcodesign/default/index.js +18 -3
- package/tokens/app/arcodesign/default/index.json +204 -24
- package/tokens/app/arcodesign/default/index.less +17 -2
- package/umd/_helpers/type.d.ts +1 -1
- package/umd/button/demo/style/mobile.less +4 -0
- package/umd/button/index.d.ts +6 -0
- package/umd/button/index.js +12 -2
- package/umd/count-down/demo/style/mobile.less +1 -1
- package/umd/grid/index.js +13 -12
- package/umd/image/index.d.ts +0 -1
- package/umd/image/index.js +9 -7
- package/umd/image-picker/add-icon.d.ts +2 -0
- package/umd/image-picker/add-icon.js +35 -0
- package/umd/image-picker/demo/style/css/mobile.css +40 -0
- package/umd/image-picker/demo/style/mobile.less +42 -0
- package/umd/image-picker/index.d.ts +184 -0
- package/umd/image-picker/index.js +310 -0
- package/umd/image-picker/style/css/index.css +147 -0
- package/umd/image-picker/style/css/index.d.ts +2 -0
- package/umd/image-picker/style/css/index.js +15 -0
- package/umd/image-picker/style/index.d.ts +2 -0
- package/umd/image-picker/style/index.js +15 -0
- package/umd/image-picker/style/index.less +116 -0
- package/umd/image-preview/index.d.ts +2 -2
- package/umd/index.d.ts +1 -0
- package/umd/index.js +7 -5
- package/umd/steps/demo/style/css/mobile.css +1 -1
- package/umd/steps/demo/style/mobile.less +1 -1
- package/umd/steps/style/css/index.css +5 -15
- package/umd/steps/style/index.less +6 -10
- package/umd/style.d.ts +1 -0
- package/umd/style.js +4 -4
package/README.en-US.md
CHANGED
@@ -59,8 +59,8 @@ React & ReactDOM: **<a href="https://reactjs.org/docs/cdn-links.html" target="_b
|
|
59
59
|
React Transition Group: **<a href="https://reactcommunity.org/react-transition-group/" target="_blank">Click here</a>**
|
60
60
|
|
61
61
|
```
|
62
|
-
<link ref="stylesheet" href="https://unpkg.com
|
63
|
-
<script src="https://unpkg.com
|
62
|
+
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.19.1/dist/style.min.css">
|
63
|
+
<script src="https://unpkg.com/@arco-design/mobile-react@2.19.1/dist/index.min.js"></script>
|
64
64
|
```
|
65
65
|
|
66
66
|
## Full import
|
package/README.md
CHANGED
@@ -59,8 +59,8 @@ React & ReactDOM: **<a href="https://reactjs.org/docs/cdn-links.html" target="
|
|
59
59
|
React Transition Group: **<a href="https://reactcommunity.org/react-transition-group/" target="_blank">戳这里获取</a>**
|
60
60
|
|
61
61
|
```
|
62
|
-
<link ref="stylesheet" href="https://unpkg.com
|
63
|
-
<script src="https://unpkg.com
|
62
|
+
<link ref="stylesheet" href="https://unpkg.com/@arco-design/mobile-react@2.19.1/dist/style.min.css">
|
63
|
+
<script src="https://unpkg.com/@arco-design/mobile-react@2.19.1/dist/index.min.js"></script>
|
64
64
|
```
|
65
65
|
|
66
66
|
## 引入全部
|
package/cjs/_helpers/type.d.ts
CHANGED
package/cjs/button/index.d.ts
CHANGED
@@ -115,6 +115,12 @@ export interface ButtonProps {
|
|
115
115
|
* @default true
|
116
116
|
*/
|
117
117
|
disableWhenLoading?: boolean;
|
118
|
+
/**
|
119
|
+
* 加载中是否覆盖Icon
|
120
|
+
* @en Whether to override Icon during loading
|
121
|
+
* @default false
|
122
|
+
*/
|
123
|
+
coverIconWhenLoading?: boolean;
|
118
124
|
}
|
119
125
|
export interface ButtonRef {
|
120
126
|
/**
|
package/cjs/button/index.js
CHANGED
@@ -69,7 +69,9 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
69
69
|
children = _props$children === void 0 ? null : _props$children,
|
70
70
|
loadingIcon = props.loadingIcon,
|
71
71
|
onClick = props.onClick,
|
72
|
-
onClickDisabled = props.onClickDisabled
|
72
|
+
onClickDisabled = props.onClickDisabled,
|
73
|
+
_props$coverIconWhenL = props.coverIconWhenLoading,
|
74
|
+
coverIconWhenLoading = _props$coverIconWhenL === void 0 ? false : _props$coverIconWhenL;
|
73
75
|
var domRef = (0, _react.useRef)(null);
|
74
76
|
(0, _react.useImperativeHandle)(ref, function () {
|
75
77
|
return {
|
@@ -97,6 +99,14 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
97
99
|
setActive(false);
|
98
100
|
};
|
99
101
|
|
102
|
+
var renderIcon = function renderIcon() {
|
103
|
+
if (coverIconWhenLoading) {
|
104
|
+
return loading ? null : icon;
|
105
|
+
}
|
106
|
+
|
107
|
+
return icon;
|
108
|
+
};
|
109
|
+
|
100
110
|
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref) {
|
101
111
|
var prefixCls = _ref.prefixCls;
|
102
112
|
return /*#__PURE__*/_react.default.createElement("button", {
|
@@ -118,7 +128,7 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
118
128
|
onClick: disabled || loading && disableWhenLoading ? onClickDisabled : onClick
|
119
129
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
120
130
|
className: "btn-icon"
|
121
|
-
},
|
131
|
+
}, renderIcon(), loading && (loadingIcon === void 0 ? /*#__PURE__*/_react.default.createElement(_loading.default, {
|
122
132
|
className: "loading-icon",
|
123
133
|
radius: 6,
|
124
134
|
type: "circle"
|
package/cjs/grid/index.js
CHANGED
@@ -50,14 +50,21 @@ var Grid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
50
50
|
});
|
51
51
|
|
52
52
|
var getRows = function getRows(prefix, rowsData, rows, row) {
|
53
|
-
var
|
54
|
-
var
|
55
|
-
|
56
|
-
|
53
|
+
var placeholders = !isSliding && rowsData.length % columns;
|
54
|
+
var renderData = rowsData;
|
55
|
+
|
56
|
+
if (placeholders) {
|
57
|
+
var fakeGrids = new Array(columns - placeholders).fill({
|
58
|
+
img: null,
|
59
|
+
title: ''
|
60
|
+
});
|
61
|
+
renderData = rowsData.concat(fakeGrids);
|
62
|
+
}
|
63
|
+
|
57
64
|
return /*#__PURE__*/_react.default.createElement("div", {
|
58
65
|
className: prefix + "-rows",
|
59
66
|
key: row
|
60
|
-
},
|
67
|
+
}, renderData.map(function (item, index) {
|
61
68
|
var img = item.img,
|
62
69
|
title = item.title,
|
63
70
|
content = item.content,
|
@@ -71,7 +78,7 @@ var Grid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
71
78
|
}
|
72
79
|
|
73
80
|
var marginBottom = row + 1 === rows ? 0 : typeof gutter === 'number' ? gutter : (gutter == null ? void 0 : gutter.y) || 0;
|
74
|
-
var rowLen =
|
81
|
+
var rowLen = renderData.length;
|
75
82
|
var marginRight = index + 1 === rowLen ? 0 : typeof gutter === 'number' ? gutter : (gutter == null ? void 0 : gutter.x) || 0;
|
76
83
|
return /*#__PURE__*/_react.default.createElement("div", {
|
77
84
|
key: index,
|
@@ -100,12 +107,6 @@ var Grid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
100
107
|
}) : null, (row + 1) % rows !== 0 ? /*#__PURE__*/_react.default.createElement("i", {
|
101
108
|
className: "horizontal-border"
|
102
109
|
}) : null);
|
103
|
-
}), fakeGrids.map(function (_, i) {
|
104
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
105
|
-
className: (0, _mobileUtils.cls)(prefix + "-rows-item fake-col"),
|
106
|
-
key: i,
|
107
|
-
style: widthStyle
|
108
|
-
});
|
109
110
|
}));
|
110
111
|
};
|
111
112
|
|
package/cjs/image/index.d.ts
CHANGED
package/cjs/image/index.js
CHANGED
@@ -55,8 +55,7 @@ var BaseImage = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
55
55
|
var loadingImageRef = (0, _react.useRef)(null);
|
56
56
|
var style = props.style,
|
57
57
|
className = props.className,
|
58
|
-
|
59
|
-
status = _props$status === void 0 ? 'init' : _props$status,
|
58
|
+
status = props.status,
|
60
59
|
src = props.src,
|
61
60
|
width = props.width,
|
62
61
|
height = props.height,
|
@@ -96,6 +95,7 @@ var BaseImage = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
96
95
|
var isPreview = Boolean(fit.indexOf('preview') >= 0);
|
97
96
|
var actualBoxWidth = boxWidth || windowWidth;
|
98
97
|
var actualBoxHeight = boxHeight || windowHeight;
|
98
|
+
var validStatus = status === undefined ? imageStatus : status;
|
99
99
|
var attrs = (0, _react.useMemo)(function () {
|
100
100
|
var imageStyle = {};
|
101
101
|
|
@@ -271,7 +271,9 @@ var BaseImage = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
271
271
|
}
|
272
272
|
|
273
273
|
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref) {
|
274
|
-
var prefixCls = _ref.prefixCls
|
274
|
+
var prefixCls = _ref.prefixCls,
|
275
|
+
_ref$locale = _ref.locale,
|
276
|
+
locale = _ref$locale === void 0 ? _mobileUtils.defaultLocale : _ref$locale;
|
275
277
|
return /*#__PURE__*/_react.default.createElement("div", {
|
276
278
|
className: (0, _mobileUtils.cls)(prefixCls + "-image all-border-box", {
|
277
279
|
preview: isPreview
|
@@ -286,7 +288,7 @@ var BaseImage = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
286
288
|
}, bottomOverlap || /*#__PURE__*/_react.default.createElement("div", {
|
287
289
|
className: "image-placeholder"
|
288
290
|
})) : null, /*#__PURE__*/_react.default.createElement("div", {
|
289
|
-
className: (0, _mobileUtils.cls)('image-container',
|
291
|
+
className: (0, _mobileUtils.cls)('image-container', validStatus, {
|
290
292
|
animate: Boolean(animateDuration),
|
291
293
|
'static-label': staticLabel
|
292
294
|
}),
|
@@ -301,7 +303,7 @@ var BaseImage = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
301
303
|
return _onLoad && _onLoad(e.nativeEvent, imageDomRef.current);
|
302
304
|
},
|
303
305
|
onError: handleStaticImageError
|
304
|
-
})) : null), showLoading &&
|
306
|
+
})) : null), showLoading && validStatus === 'loading' ? /*#__PURE__*/_react.default.createElement("div", {
|
305
307
|
className: "image-content image-loading-container",
|
306
308
|
style: {
|
307
309
|
borderRadius: radius
|
@@ -313,7 +315,7 @@ var BaseImage = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
313
315
|
className: "loading-icon",
|
314
316
|
radius: 8.5,
|
315
317
|
stroke: 3
|
316
|
-
}))) : null, showError &&
|
318
|
+
}))) : null, showError && validStatus === 'error' ? /*#__PURE__*/_react.default.createElement("div", {
|
317
319
|
className: "image-content image-error-container",
|
318
320
|
onClick: function onClick(e) {
|
319
321
|
e.stopPropagation();
|
@@ -324,7 +326,7 @@ var BaseImage = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
324
326
|
}
|
325
327
|
}, errorArea || /*#__PURE__*/_react.default.createElement("div", {
|
326
328
|
className: "image-retry-load"
|
327
|
-
},
|
329
|
+
}, locale.Image.loadError)) : null, topOverlap ? /*#__PURE__*/_react.default.createElement("div", {
|
328
330
|
className: "image-content image-top-overlap",
|
329
331
|
style: {
|
330
332
|
borderRadius: radius
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.default = AddIcon;
|
7
|
+
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
9
|
+
|
10
|
+
function AddIcon() {
|
11
|
+
return /*#__PURE__*/_react.default.createElement("svg", {
|
12
|
+
width: "30",
|
13
|
+
height: "30",
|
14
|
+
viewBox: "0 0 30 30",
|
15
|
+
fill: "none"
|
16
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
17
|
+
fillRule: "evenodd",
|
18
|
+
clipRule: "evenodd",
|
19
|
+
d: "M14.5 0C14.2239 0 14 0.223857 14 0.5V14H0.5C0.223858 14 0 14.2239 0 14.5V15.5C0 15.7761 0.223857 16 0.5 16H14V29.5C14 29.7761 14.2239 30 14.5 30H15.5C15.7761 30 16 29.7761 16 29.5V16H29.5C29.7761 16 30 15.7761 30 15.5V14.5C30 14.2239 29.7761 14 29.5 14H16V0.5C16 0.223858 15.7761 0 15.5 0H14.5Z",
|
20
|
+
fill: "#C9CDD4"
|
21
|
+
}));
|
22
|
+
}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#demo-image-picker .demo-space {
|
2
|
+
font-size: 14px;
|
3
|
+
line-height: 1;
|
4
|
+
margin: 8px 0;
|
5
|
+
}
|
6
|
+
#demo-image-picker #demo-order-5 .custom-delete {
|
7
|
+
top: 4px;
|
8
|
+
right: 4px;
|
9
|
+
font-size: 18px;
|
10
|
+
position: absolute;
|
11
|
+
border-radius: 50%;
|
12
|
+
width: 18px;
|
13
|
+
height: 18px;
|
14
|
+
line-height: 16px;
|
15
|
+
text-align: center;
|
16
|
+
}
|
17
|
+
#demo-image-picker #demo-order-5 .custom-delete-bg {
|
18
|
+
background-color: #0000004d;
|
19
|
+
}
|
20
|
+
#demo-image-picker #demo-order-6 .loading,
|
21
|
+
#demo-image-picker #demo-order-6 .loading1,
|
22
|
+
#demo-image-picker #demo-order-6 .load-error,
|
23
|
+
#demo-image-picker #demo-order-6 .load-error1 {
|
24
|
+
background: rgba(0, 0, 0, 0.5);
|
25
|
+
text-align: center;
|
26
|
+
line-height: 1.5;
|
27
|
+
font-size: 14px;
|
28
|
+
color: #fff;
|
29
|
+
width: 100%;
|
30
|
+
height: 100%;
|
31
|
+
display: -webkit-box;
|
32
|
+
display: -webkit-flex;
|
33
|
+
display: flex;
|
34
|
+
-webkit-box-align: center;
|
35
|
+
-webkit-align-items: center;
|
36
|
+
align-items: center;
|
37
|
+
-webkit-box-pack: center;
|
38
|
+
-webkit-justify-content: center;
|
39
|
+
justify-content: center;
|
40
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
@import '../../../../style/mixin.less';
|
2
|
+
|
3
|
+
#demo-image-picker {
|
4
|
+
.demo-space{
|
5
|
+
font-size: 14px;
|
6
|
+
line-height: 1;
|
7
|
+
margin: 8px 0;
|
8
|
+
}
|
9
|
+
#demo-order-5 {
|
10
|
+
.custom-delete {
|
11
|
+
top: 4px;
|
12
|
+
right: 4px;
|
13
|
+
font-size: 18px;
|
14
|
+
position: absolute;
|
15
|
+
border-radius: 50%;
|
16
|
+
width: 18px;
|
17
|
+
height: 18px;
|
18
|
+
line-height: 16px;
|
19
|
+
text-align: center;
|
20
|
+
}
|
21
|
+
.custom-delete-bg {
|
22
|
+
background-color: #0000004d;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
#demo-order-6 {
|
26
|
+
.loading,
|
27
|
+
.loading1,
|
28
|
+
.load-error,
|
29
|
+
.load-error1 {
|
30
|
+
background: rgba(0, 0, 0, 0.5);
|
31
|
+
text-align: center;
|
32
|
+
line-height: 1.5;
|
33
|
+
font-size: 14px;
|
34
|
+
color: #fff;
|
35
|
+
width: 100%;
|
36
|
+
height: 100%;
|
37
|
+
display: flex;
|
38
|
+
align-items: center;
|
39
|
+
justify-content: center;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
@@ -0,0 +1,184 @@
|
|
1
|
+
import React, { InputHTMLAttributes } from 'react';
|
2
|
+
import { ImageProps } from '../image';
|
3
|
+
export interface ImagePickItem {
|
4
|
+
/**
|
5
|
+
* 图片地址
|
6
|
+
* @en Image Url
|
7
|
+
*/
|
8
|
+
url: string;
|
9
|
+
/**
|
10
|
+
* 图片文件
|
11
|
+
* @en Image File
|
12
|
+
*/
|
13
|
+
file?: File;
|
14
|
+
/**
|
15
|
+
* 图片状态
|
16
|
+
* @en Image Status
|
17
|
+
* @default 'loaded'
|
18
|
+
*/
|
19
|
+
status: 'loaded' | 'loading' | 'error';
|
20
|
+
}
|
21
|
+
export interface AdapterFile {
|
22
|
+
url?: string;
|
23
|
+
size: number;
|
24
|
+
name: string;
|
25
|
+
}
|
26
|
+
export interface SelectCallback {
|
27
|
+
files: AdapterFile[];
|
28
|
+
}
|
29
|
+
export interface ImagePickerProps {
|
30
|
+
/**
|
31
|
+
* 自定义类名
|
32
|
+
* @en Custom className
|
33
|
+
*/
|
34
|
+
className?: string;
|
35
|
+
/**
|
36
|
+
* 自定义样式
|
37
|
+
* @en Custom stylesheet
|
38
|
+
*/
|
39
|
+
style?: React.CSSProperties;
|
40
|
+
/**
|
41
|
+
* 已选择图片列表
|
42
|
+
* @en selected images list
|
43
|
+
*/
|
44
|
+
images: ImagePickItem[];
|
45
|
+
/**
|
46
|
+
* 可以选择的文件类型
|
47
|
+
* @en Available File Types
|
48
|
+
* @default 'image/*'
|
49
|
+
*/
|
50
|
+
accept?: string;
|
51
|
+
/**
|
52
|
+
* 是否支持多选
|
53
|
+
* @en Whether To Support Multiple Selection
|
54
|
+
*/
|
55
|
+
multiple?: boolean;
|
56
|
+
/**
|
57
|
+
* 图片选取模式 Image selection mode [capture MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture)
|
58
|
+
* @en Whether To Support Multiple Selection [capture MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture)
|
59
|
+
*/
|
60
|
+
capture?: InputHTMLAttributes<unknown>['capture'];
|
61
|
+
/**
|
62
|
+
* 一行展示图片张数
|
63
|
+
* @en The Number Of Pictures Displayed In A Row
|
64
|
+
* @default 3
|
65
|
+
*/
|
66
|
+
columns?: number;
|
67
|
+
/**
|
68
|
+
* 格子间的间距
|
69
|
+
* @en spacing between grids
|
70
|
+
* @default 8
|
71
|
+
*/
|
72
|
+
gutter?: number;
|
73
|
+
/**
|
74
|
+
* 最多选择图片张数,超出数量自动隐藏上传按钮,0表示不做限制
|
75
|
+
* @en max Pictures Can Choose
|
76
|
+
*/
|
77
|
+
limit?: number;
|
78
|
+
/**
|
79
|
+
* 文件大小限制,单位为K
|
80
|
+
* @en File size limit, in K
|
81
|
+
*/
|
82
|
+
maxSize?: number;
|
83
|
+
/**
|
84
|
+
* 是否隐藏删除Icon
|
85
|
+
* @en Whether to hide delete Icon
|
86
|
+
* @default false
|
87
|
+
*/
|
88
|
+
hideDelete?: boolean;
|
89
|
+
/**
|
90
|
+
* 是否隐藏选择Icon
|
91
|
+
* @en Whether to hide Select Icon
|
92
|
+
* @default false
|
93
|
+
*/
|
94
|
+
hideSelect?: boolean;
|
95
|
+
/**
|
96
|
+
* 是否总是展示选择Icon,默认情况下当图片数量超出limit值时会自动隐藏选择Icon
|
97
|
+
* @en Whether to always show Select Icon
|
98
|
+
* @default false
|
99
|
+
*/
|
100
|
+
alwaysShowSelect?: boolean;
|
101
|
+
/**
|
102
|
+
* 禁用选择和删除图片
|
103
|
+
* @en Disable Select & Delete Image
|
104
|
+
*/
|
105
|
+
disabled?: boolean;
|
106
|
+
/**
|
107
|
+
* 自定义删除图标
|
108
|
+
* @en Defined Delete Icon
|
109
|
+
*/
|
110
|
+
deleteIcon?: React.ReactNode;
|
111
|
+
/**
|
112
|
+
* 自定义选择图标
|
113
|
+
* @en Defined Select Icon
|
114
|
+
*/
|
115
|
+
selectIcon?: React.ReactNode;
|
116
|
+
/**
|
117
|
+
* 透传给图片的属性
|
118
|
+
* @en Attributes passed through to the image
|
119
|
+
*/
|
120
|
+
imageProps?: ImageProps;
|
121
|
+
/**
|
122
|
+
* 自定义上传失败展示
|
123
|
+
* @en Defined upload failed display
|
124
|
+
*/
|
125
|
+
renderError?: (index?: number) => React.ReactNode | React.ReactNode;
|
126
|
+
/**
|
127
|
+
* 自定义上传中展示
|
128
|
+
* @en Defined uploading display
|
129
|
+
*/
|
130
|
+
renderLoading?: (index?: number) => React.ReactNode | React.ReactNode;
|
131
|
+
/**
|
132
|
+
* 上传方法
|
133
|
+
* @en upload function
|
134
|
+
*/
|
135
|
+
upload?: (file: ImagePickItem) => Promise<ImagePickItem | null>;
|
136
|
+
onSelect?: (...args: any[]) => void;
|
137
|
+
/**
|
138
|
+
* 已选图片列表发生变化
|
139
|
+
* @en The list of selected images changes
|
140
|
+
*/
|
141
|
+
onChange?: (fileList: ImagePickItem[]) => Promise<void>;
|
142
|
+
/**
|
143
|
+
* 图片超过限制大小
|
144
|
+
* @en Image exceeds size limit
|
145
|
+
*/
|
146
|
+
onMaxSizeExceed?: (file: File) => void;
|
147
|
+
/**
|
148
|
+
* 选择张数超过限制
|
149
|
+
* @en The number of pictures exceeds the limit
|
150
|
+
*/
|
151
|
+
onLimitExceed?: (files: File[]) => void;
|
152
|
+
/**
|
153
|
+
* 图片点击
|
154
|
+
* @en click event
|
155
|
+
*/
|
156
|
+
onClick?: (e: React.MouseEvent<HTMLElement, MouseEvent>, image: ImagePickItem, index: number) => void;
|
157
|
+
/**
|
158
|
+
* 图片长按事件
|
159
|
+
* @en long press event
|
160
|
+
*/
|
161
|
+
onLongPress?: (e: React.TouchEvent<HTMLElement>, image: ImagePickItem, index: number) => void;
|
162
|
+
/**
|
163
|
+
* 图片选择适配器
|
164
|
+
* @en Select Adaptor
|
165
|
+
*/
|
166
|
+
selectAdapter: () => Promise<SelectCallback>;
|
167
|
+
}
|
168
|
+
export interface ImagePickerRef {
|
169
|
+
/**
|
170
|
+
* 最外层 DOM 元素
|
171
|
+
* @en The outer DOM element of the component
|
172
|
+
*/
|
173
|
+
dom: HTMLDivElement | null;
|
174
|
+
}
|
175
|
+
/**
|
176
|
+
* 图片选择器组件
|
177
|
+
* @en ImagePicker Component
|
178
|
+
* @type 数据输入
|
179
|
+
* @type_en Data Entry
|
180
|
+
* @name 图片选择器
|
181
|
+
* @name_en ImagePicker
|
182
|
+
*/
|
183
|
+
declare const ImagePicker: React.ForwardRefExoticComponent<ImagePickerProps & React.RefAttributes<ImagePickerRef>>;
|
184
|
+
export default ImagePicker;
|