@arco-design/mobile-react 2.19.1-941e02b.7 → 2.19.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/CHANGELOG.md +13 -0
- package/cjs/button/index.d.ts +6 -0
- package/cjs/button/index.js +3 -1
- package/cjs/grid/index.js +12 -13
- package/cjs/image/index.d.ts +1 -0
- package/cjs/image/index.js +7 -9
- package/cjs/image-preview/index.d.ts +2 -2
- package/cjs/index.d.ts +0 -1
- package/cjs/index.js +1 -5
- package/cjs/notify/index.d.ts +1 -0
- package/cjs/notify/index.js +12 -0
- package/cjs/notify/type.d.ts +1 -0
- 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 +15 -5
- package/cjs/steps/style/index.less +10 -6
- package/cjs/style.d.ts +0 -1
- package/cjs/style.js +0 -2
- package/cjs/transition/index.js +4 -2
- package/dist/index.js +242 -538
- package/dist/index.min.js +5 -4
- package/dist/style.css +9 -120
- package/dist/style.min.css +1 -1
- package/esm/button/index.d.ts +6 -0
- package/esm/button/index.js +3 -1
- package/esm/grid/index.js +12 -13
- package/esm/image/index.d.ts +1 -0
- package/esm/image/index.js +8 -10
- package/esm/image-preview/index.d.ts +2 -2
- package/esm/index.d.ts +0 -1
- package/esm/index.js +0 -1
- package/esm/notify/index.d.ts +1 -0
- package/esm/notify/index.js +1 -0
- package/esm/notify/type.d.ts +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 +15 -5
- package/esm/steps/style/index.less +10 -6
- package/esm/style.d.ts +0 -1
- package/esm/style.js +0 -1
- package/esm/transition/index.js +4 -2
- package/package.json +3 -3
- package/tokens/app/arcodesign/default/css-variables.less +2 -17
- package/tokens/app/arcodesign/default/index.d.ts +2 -17
- package/tokens/app/arcodesign/default/index.js +3 -18
- package/tokens/app/arcodesign/default/index.json +24 -140
- package/tokens/app/arcodesign/default/index.less +2 -17
- package/umd/button/index.d.ts +6 -0
- package/umd/button/index.js +3 -1
- package/umd/grid/index.js +12 -13
- package/umd/image/index.d.ts +1 -0
- package/umd/image/index.js +7 -9
- package/umd/image-preview/index.d.ts +2 -2
- package/umd/index.d.ts +0 -1
- package/umd/index.js +5 -7
- package/umd/notify/index.d.ts +1 -0
- package/umd/notify/index.js +13 -4
- package/umd/notify/type.d.ts +1 -0
- 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 +15 -5
- package/umd/steps/style/index.less +10 -6
- package/umd/style.d.ts +0 -1
- package/umd/style.js +4 -4
- package/umd/transition/index.js +4 -2
- package/cjs/image-picker/add-icon.d.ts +0 -2
- package/cjs/image-picker/add-icon.js +0 -22
- package/cjs/image-picker/demo/style/css/mobile.css +0 -40
- package/cjs/image-picker/demo/style/mobile.less +0 -42
- package/cjs/image-picker/index.d.ts +0 -181
- package/cjs/image-picker/index.js +0 -301
- package/cjs/image-picker/style/css/index.css +0 -147
- package/cjs/image-picker/style/css/index.d.ts +0 -2
- package/cjs/image-picker/style/css/index.js +0 -5
- package/cjs/image-picker/style/index.d.ts +0 -2
- package/cjs/image-picker/style/index.js +0 -5
- package/cjs/image-picker/style/index.less +0 -116
- package/esm/image-picker/add-icon.d.ts +0 -2
- package/esm/image-picker/add-icon.js +0 -14
- package/esm/image-picker/demo/style/css/mobile.css +0 -40
- package/esm/image-picker/demo/style/mobile.less +0 -42
- package/esm/image-picker/index.d.ts +0 -181
- package/esm/image-picker/index.js +0 -282
- package/esm/image-picker/style/css/index.css +0 -147
- package/esm/image-picker/style/css/index.d.ts +0 -2
- package/esm/image-picker/style/css/index.js +0 -2
- package/esm/image-picker/style/index.d.ts +0 -2
- package/esm/image-picker/style/index.js +0 -2
- package/esm/image-picker/style/index.less +0 -116
- package/umd/image-picker/add-icon.d.ts +0 -2
- package/umd/image-picker/add-icon.js +0 -35
- package/umd/image-picker/demo/style/css/mobile.css +0 -40
- package/umd/image-picker/demo/style/mobile.less +0 -42
- package/umd/image-picker/index.d.ts +0 -181
- package/umd/image-picker/index.js +0 -304
- package/umd/image-picker/style/css/index.css +0 -147
- package/umd/image-picker/style/css/index.d.ts +0 -2
- package/umd/image-picker/style/css/index.js +0 -15
- package/umd/image-picker/style/index.d.ts +0 -2
- package/umd/image-picker/style/index.js +0 -15
- package/umd/image-picker/style/index.less +0 -116
@@ -1,181 +0,0 @@
|
|
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.MouseEvent<HTMLElement, MouseEvent>, image: ImagePickItem, index: number) => void;
|
162
|
-
/**
|
163
|
-
* 图片选择适配器
|
164
|
-
* @en Select Adaptor
|
165
|
-
*/
|
166
|
-
selectAdapter: () => Promise<SelectCallback>;
|
167
|
-
}
|
168
|
-
export interface ImagePickerRef {
|
169
|
-
/** 最外层元素 DOM */
|
170
|
-
dom: HTMLDivElement | null;
|
171
|
-
}
|
172
|
-
/**
|
173
|
-
* 图片选择器组件
|
174
|
-
* @en ImagePicker Component
|
175
|
-
* @type 数据输入
|
176
|
-
* @type_en Data Entry
|
177
|
-
* @name 图片选择器
|
178
|
-
* @name_en ImagePicker
|
179
|
-
*/
|
180
|
-
declare const ImagePicker: React.ForwardRefExoticComponent<ImagePickerProps & React.RefAttributes<ImagePickerRef>>;
|
181
|
-
export default ImagePicker;
|
@@ -1,304 +0,0 @@
|
|
1
|
-
(function (global, factory) {
|
2
|
-
if (typeof define === "function" && define.amd) {
|
3
|
-
define(["exports", "@babel/runtime/helpers/extends", "react", "@arco-design/mobile-utils", "../context-provider", "../icon", "../image", "../grid", "./add-icon"], factory);
|
4
|
-
} else if (typeof exports !== "undefined") {
|
5
|
-
factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("@arco-design/mobile-utils"), require("../context-provider"), require("../icon"), require("../image"), require("../grid"), require("./add-icon"));
|
6
|
-
} else {
|
7
|
-
var mod = {
|
8
|
-
exports: {}
|
9
|
-
};
|
10
|
-
factory(mod.exports, global._extends, global.react, global.mobileUtils, global.contextProvider, global.icon, global.image, global.grid, global.addIcon);
|
11
|
-
global.index = mod.exports;
|
12
|
-
}
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _mobileUtils, _contextProvider, _icon, _image, _grid, _addIcon) {
|
14
|
-
"use strict";
|
15
|
-
|
16
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
17
|
-
|
18
|
-
_exports.__esModule = true;
|
19
|
-
_exports.default = void 0;
|
20
|
-
_extends2 = _interopRequireDefault(_extends2);
|
21
|
-
_react = _interopRequireWildcard(_react);
|
22
|
-
_image = _interopRequireDefault(_image);
|
23
|
-
_grid = _interopRequireDefault(_grid);
|
24
|
-
_addIcon = _interopRequireDefault(_addIcon);
|
25
|
-
|
26
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
27
|
-
|
28
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
29
|
-
|
30
|
-
/**
|
31
|
-
* 图片选择器组件
|
32
|
-
* @en ImagePicker Component
|
33
|
-
* @type 数据输入
|
34
|
-
* @type_en Data Entry
|
35
|
-
* @name 图片选择器
|
36
|
-
* @name_en ImagePicker
|
37
|
-
*/
|
38
|
-
var ImagePicker = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
39
|
-
var _props$className = props.className,
|
40
|
-
className = _props$className === void 0 ? '' : _props$className,
|
41
|
-
style = props.style,
|
42
|
-
_props$accept = props.accept,
|
43
|
-
accept = _props$accept === void 0 ? 'image/*' : _props$accept,
|
44
|
-
_props$multiple = props.multiple,
|
45
|
-
multiple = _props$multiple === void 0 ? false : _props$multiple,
|
46
|
-
capture = props.capture,
|
47
|
-
_props$columns = props.columns,
|
48
|
-
columns = _props$columns === void 0 ? 3 : _props$columns,
|
49
|
-
_props$gutter = props.gutter,
|
50
|
-
gutter = _props$gutter === void 0 ? 8 : _props$gutter,
|
51
|
-
_props$limit = props.limit,
|
52
|
-
limit = _props$limit === void 0 ? 0 : _props$limit,
|
53
|
-
_props$images = props.images,
|
54
|
-
images = _props$images === void 0 ? [] : _props$images,
|
55
|
-
maxSize = props.maxSize,
|
56
|
-
disabled = props.disabled,
|
57
|
-
deleteIcon = props.deleteIcon,
|
58
|
-
selectIcon = props.selectIcon,
|
59
|
-
_props$hideDelete = props.hideDelete,
|
60
|
-
hideDelete = _props$hideDelete === void 0 ? false : _props$hideDelete,
|
61
|
-
_props$hideSelect = props.hideSelect,
|
62
|
-
hideSelect = _props$hideSelect === void 0 ? false : _props$hideSelect,
|
63
|
-
_props$alwaysShowSele = props.alwaysShowSelect,
|
64
|
-
alwaysShowSelect = _props$alwaysShowSele === void 0 ? false : _props$alwaysShowSele,
|
65
|
-
imageProps = props.imageProps,
|
66
|
-
renderLoading = props.renderLoading,
|
67
|
-
renderError = props.renderError,
|
68
|
-
onLongPress = props.onLongPress,
|
69
|
-
onClick = props.onClick,
|
70
|
-
_props$onChange = props.onChange,
|
71
|
-
onChange = _props$onChange === void 0 ? function () {
|
72
|
-
return null;
|
73
|
-
} : _props$onChange,
|
74
|
-
onMaxSizeExceed = props.onMaxSizeExceed,
|
75
|
-
onLimitExceed = props.onLimitExceed,
|
76
|
-
upload = props.upload,
|
77
|
-
selectAdapter = props.selectAdapter;
|
78
|
-
var domRef = (0, _react.useRef)(null);
|
79
|
-
var fileRef = (0, _react.useRef)(null);
|
80
|
-
(0, _react.useImperativeHandle)(ref, function () {
|
81
|
-
return {
|
82
|
-
dom: domRef.current
|
83
|
-
};
|
84
|
-
});
|
85
|
-
|
86
|
-
var parseFile = function parseFile(file) {
|
87
|
-
return new Promise(function (resolve, reject) {
|
88
|
-
if (file.url) {
|
89
|
-
resolve(file.url);
|
90
|
-
} else {
|
91
|
-
var reader = new FileReader();
|
92
|
-
|
93
|
-
reader.onload = function (e) {
|
94
|
-
var _e$target;
|
95
|
-
|
96
|
-
var dataURL = (_e$target = e.target) == null ? void 0 : _e$target.result;
|
97
|
-
|
98
|
-
if (!dataURL) {
|
99
|
-
reject(new Error('file parse error'));
|
100
|
-
}
|
101
|
-
|
102
|
-
resolve(dataURL);
|
103
|
-
};
|
104
|
-
|
105
|
-
reader.onerror = function () {
|
106
|
-
reject(new Error('file parse error'));
|
107
|
-
};
|
108
|
-
|
109
|
-
reader.readAsDataURL(file);
|
110
|
-
}
|
111
|
-
});
|
112
|
-
};
|
113
|
-
|
114
|
-
var handleChange = function handleChange(event) {
|
115
|
-
var files = [].concat(event.target.files || []).filter(function (file) {
|
116
|
-
// 过滤maxSize
|
117
|
-
if (maxSize && file.size > maxSize * 1024) {
|
118
|
-
onMaxSizeExceed && onMaxSizeExceed(file);
|
119
|
-
return false;
|
120
|
-
}
|
121
|
-
|
122
|
-
return true;
|
123
|
-
}) || [];
|
124
|
-
event.target.value = ''; // 截断limit
|
125
|
-
|
126
|
-
if (limit !== 0 && files.length + images.length > limit) {
|
127
|
-
onLimitExceed && onLimitExceed(files);
|
128
|
-
files.length = limit - images.length;
|
129
|
-
} // 解析文件生成预览
|
130
|
-
|
131
|
-
|
132
|
-
Promise.all(files.map(function (file) {
|
133
|
-
return parseFile(file);
|
134
|
-
})).then(function (parseFiles) {
|
135
|
-
var res = parseFiles.map(function (url, index) {
|
136
|
-
return {
|
137
|
-
url: url,
|
138
|
-
status: upload ? 'loading' : 'loaded',
|
139
|
-
file: files[index]
|
140
|
-
};
|
141
|
-
});
|
142
|
-
var cacheRes = [].concat(images, res);
|
143
|
-
onChange(cacheRes); // 执行upload
|
144
|
-
|
145
|
-
if (typeof upload === 'function') {
|
146
|
-
var propsImageLength = images.length;
|
147
|
-
files.forEach(function (_file, index) {
|
148
|
-
upload(cacheRes[propsImageLength + index]).then(function (data) {
|
149
|
-
cacheRes[propsImageLength + index] = (0, _extends2.default)({}, cacheRes[propsImageLength + index], data);
|
150
|
-
}).catch(function () {
|
151
|
-
cacheRes[propsImageLength + index].status = 'error';
|
152
|
-
}).finally(function () {
|
153
|
-
cacheRes[propsImageLength + index].status = 'loaded';
|
154
|
-
onChange([].concat(cacheRes));
|
155
|
-
});
|
156
|
-
});
|
157
|
-
}
|
158
|
-
});
|
159
|
-
};
|
160
|
-
|
161
|
-
var handleDelete = function handleDelete(index) {
|
162
|
-
onChange(images.filter(function (_i, j) {
|
163
|
-
return j !== index;
|
164
|
-
}));
|
165
|
-
}; // click && longPress
|
166
|
-
|
167
|
-
|
168
|
-
var timeOutEvent;
|
169
|
-
|
170
|
-
var handleTouchStart = function handleTouchStart(e, image, index) {
|
171
|
-
e.preventDefault();
|
172
|
-
timeOutEvent = setTimeout(function () {
|
173
|
-
timeOutEvent = 0;
|
174
|
-
typeof onLongPress === 'function' && onLongPress(e, image, index);
|
175
|
-
}, 750);
|
176
|
-
};
|
177
|
-
|
178
|
-
var handleTouchEnd = function handleTouchEnd(e, image, index) {
|
179
|
-
clearTimeout(timeOutEvent);
|
180
|
-
|
181
|
-
if (timeOutEvent !== 0) {
|
182
|
-
typeof onClick === 'function' && onClick(e, image, index);
|
183
|
-
}
|
184
|
-
};
|
185
|
-
|
186
|
-
var handleSelect = function handleSelect() {
|
187
|
-
var _fileRef$current;
|
188
|
-
|
189
|
-
selectAdapter ? selectAdapter().then(function (_ref) {
|
190
|
-
var files = _ref.files;
|
191
|
-
return handleChange({
|
192
|
-
target: {
|
193
|
-
files: files
|
194
|
-
}
|
195
|
-
});
|
196
|
-
}) : (_fileRef$current = fileRef.current) == null ? void 0 : _fileRef$current.click();
|
197
|
-
};
|
198
|
-
|
199
|
-
var getGridData = function getGridData(prefixCls, locale) {
|
200
|
-
var errorNode = function errorNode(index) {
|
201
|
-
if (renderError) {
|
202
|
-
return typeof renderError === 'function' ? renderError(index) : renderError;
|
203
|
-
}
|
204
|
-
|
205
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
206
|
-
className: prefixCls + "-image-picker-error"
|
207
|
-
}, /*#__PURE__*/_react.default.createElement("p", null, locale.ImagePicker.loadError));
|
208
|
-
};
|
209
|
-
|
210
|
-
var loadingNode = function loadingNode(index) {
|
211
|
-
if (renderLoading) {
|
212
|
-
return typeof renderLoading === 'function' ? renderLoading(index) : renderLoading;
|
213
|
-
}
|
214
|
-
|
215
|
-
return null;
|
216
|
-
};
|
217
|
-
|
218
|
-
var data = (limit && limit < images.length ? images.slice(0, limit) : images).map(function (image, index) {
|
219
|
-
var url = image.url,
|
220
|
-
status = image.status;
|
221
|
-
return {
|
222
|
-
img: /*#__PURE__*/_react.default.createElement("div", {
|
223
|
-
key: index + "-" + url,
|
224
|
-
className: prefixCls + "-image-picker-image"
|
225
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
226
|
-
onTouchStart: function onTouchStart(e) {
|
227
|
-
return handleTouchStart(e, image, index);
|
228
|
-
},
|
229
|
-
onTouchEnd: function onTouchEnd(e) {
|
230
|
-
return handleTouchEnd(e, image, index);
|
231
|
-
},
|
232
|
-
className: prefixCls + "-image-picker-image-container"
|
233
|
-
}, /*#__PURE__*/_react.default.createElement(_image.default, (0, _extends2.default)({
|
234
|
-
showLoading: true,
|
235
|
-
showError: true
|
236
|
-
}, imageProps || {}, {
|
237
|
-
src: url,
|
238
|
-
errorArea: errorNode(index),
|
239
|
-
loadingArea: loadingNode(index),
|
240
|
-
status: status || (imageProps == null ? void 0 : imageProps.status)
|
241
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
242
|
-
className: prefixCls + "-image-picker-image-mask"
|
243
|
-
})), !hideDelete && /*#__PURE__*/_react.default.createElement("div", {
|
244
|
-
className: prefixCls + "-image-picker-close",
|
245
|
-
onClick: function onClick() {
|
246
|
-
return handleDelete(index);
|
247
|
-
}
|
248
|
-
}, deleteIcon || /*#__PURE__*/_react.default.createElement("div", {
|
249
|
-
className: prefixCls + "-image-picker-close-icon"
|
250
|
-
}, /*#__PURE__*/_react.default.createElement(_icon.IconClose, null)))),
|
251
|
-
title: ''
|
252
|
-
};
|
253
|
-
});
|
254
|
-
var showSelect = !hideSelect && images.length < (limit || Infinity);
|
255
|
-
var disableSelect = disabled || alwaysShowSelect && !showSelect;
|
256
|
-
|
257
|
-
if (showSelect || alwaysShowSelect) {
|
258
|
-
var _cls;
|
259
|
-
|
260
|
-
data.push({
|
261
|
-
img: /*#__PURE__*/_react.default.createElement("div", {
|
262
|
-
className: (0, _mobileUtils.cls)(prefixCls + "-image-picker-add", (_cls = {}, _cls[prefixCls + "-image-picker-add-disabled"] = disableSelect, _cls)),
|
263
|
-
onClick: handleSelect
|
264
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
265
|
-
className: prefixCls + "-image-picker-add-container"
|
266
|
-
}, selectIcon || /*#__PURE__*/_react.default.createElement("div", {
|
267
|
-
className: prefixCls + "-image-picker-add-icon"
|
268
|
-
}, /*#__PURE__*/_react.default.createElement(_addIcon.default, null)), !selectAdapter ? /*#__PURE__*/_react.default.createElement("input", {
|
269
|
-
capture: capture,
|
270
|
-
accept: accept,
|
271
|
-
multiple: multiple,
|
272
|
-
type: "file",
|
273
|
-
onChange: handleChange,
|
274
|
-
ref: fileRef
|
275
|
-
}) : null)),
|
276
|
-
title: ''
|
277
|
-
});
|
278
|
-
}
|
279
|
-
|
280
|
-
return data;
|
281
|
-
};
|
282
|
-
|
283
|
-
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref2) {
|
284
|
-
var _cls2;
|
285
|
-
|
286
|
-
var prefixCls = _ref2.prefixCls,
|
287
|
-
_ref2$locale = _ref2.locale,
|
288
|
-
locale = _ref2$locale === void 0 ? _mobileUtils.defaultLocale : _ref2$locale;
|
289
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
290
|
-
className: (0, _mobileUtils.cls)(prefixCls + "-image-picker", className, (_cls2 = {}, _cls2[prefixCls + "-image-picker-disabled"] = disabled, _cls2)),
|
291
|
-
style: style,
|
292
|
-
ref: domRef
|
293
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
294
|
-
className: prefixCls + "-image-picker-container"
|
295
|
-
}, /*#__PURE__*/_react.default.createElement(_grid.default, {
|
296
|
-
data: getGridData(prefixCls, locale),
|
297
|
-
gutter: gutter,
|
298
|
-
columns: columns
|
299
|
-
})));
|
300
|
-
});
|
301
|
-
});
|
302
|
-
var _default = ImagePicker;
|
303
|
-
_exports.default = _default;
|
304
|
-
});
|
@@ -1,147 +0,0 @@
|
|
1
|
-
.arco-image-picker {
|
2
|
-
font-size: 0.28rem ;
|
3
|
-
}
|
4
|
-
.arco-image-picker-container {
|
5
|
-
display: -webkit-box;
|
6
|
-
display: -webkit-flex;
|
7
|
-
display: flex;
|
8
|
-
-webkit-flex-wrap: wrap;
|
9
|
-
flex-wrap: wrap;
|
10
|
-
}
|
11
|
-
.arco-image-picker-image {
|
12
|
-
position: relative;
|
13
|
-
width: 100%;
|
14
|
-
display: -webkit-box;
|
15
|
-
display: -webkit-flex;
|
16
|
-
display: flex;
|
17
|
-
-webkit-box-align: center;
|
18
|
-
-webkit-align-items: center;
|
19
|
-
align-items: center;
|
20
|
-
-webkit-box-pack: center;
|
21
|
-
-webkit-justify-content: center;
|
22
|
-
justify-content: center;
|
23
|
-
padding-top: 100%;
|
24
|
-
border-radius: 0.04rem ;
|
25
|
-
overflow: hidden;
|
26
|
-
}
|
27
|
-
.arco-image-picker-image-container {
|
28
|
-
position: absolute;
|
29
|
-
top: 0;
|
30
|
-
width: 100%;
|
31
|
-
height: 100%;
|
32
|
-
left: 0;
|
33
|
-
}
|
34
|
-
.arco-image-picker-image .arco-image {
|
35
|
-
height: 100%;
|
36
|
-
width: 100%;
|
37
|
-
}
|
38
|
-
.arco-image-picker-image-mask {
|
39
|
-
position: absolute;
|
40
|
-
left: 0;
|
41
|
-
top: 0;
|
42
|
-
width: 100%;
|
43
|
-
height: 100%;
|
44
|
-
z-index: 2;
|
45
|
-
}
|
46
|
-
.arco-image-picker-add {
|
47
|
-
background-color: #f7f8fa ;
|
48
|
-
border-radius: 0.04rem ;
|
49
|
-
position: relative;
|
50
|
-
width: 100%;
|
51
|
-
height: 100%;
|
52
|
-
padding-top: 100%;
|
53
|
-
}
|
54
|
-
.arco-image-picker-add-container {
|
55
|
-
position: absolute;
|
56
|
-
top: 0;
|
57
|
-
width: 100%;
|
58
|
-
height: 100%;
|
59
|
-
left: 0;
|
60
|
-
display: -webkit-box;
|
61
|
-
display: -webkit-flex;
|
62
|
-
display: flex;
|
63
|
-
-webkit-box-orient: vertical;
|
64
|
-
-webkit-box-direction: normal;
|
65
|
-
-webkit-flex-direction: column;
|
66
|
-
flex-direction: column;
|
67
|
-
-webkit-box-pack: center;
|
68
|
-
-webkit-justify-content: center;
|
69
|
-
justify-content: center;
|
70
|
-
-webkit-box-align: center;
|
71
|
-
-webkit-align-items: center;
|
72
|
-
align-items: center;
|
73
|
-
text-align: center;
|
74
|
-
font-size: 0.24rem ;
|
75
|
-
color: #86909c ;
|
76
|
-
}
|
77
|
-
.arco-image-picker-add-icon {
|
78
|
-
font-size: 0.6rem ;
|
79
|
-
color: #d8d8d8 ;
|
80
|
-
}
|
81
|
-
.arco-image-picker-add-icon svg {
|
82
|
-
display: block;
|
83
|
-
}
|
84
|
-
.arco-image-picker-add-disabled {
|
85
|
-
pointer-events: none;
|
86
|
-
}
|
87
|
-
.arco-image-picker-add-disabled .arco-image-picker-add-icon {
|
88
|
-
opacity: 0.7 ;
|
89
|
-
}
|
90
|
-
.arco-image-picker-add input {
|
91
|
-
position: absolute;
|
92
|
-
opacity: 0;
|
93
|
-
left: 0;
|
94
|
-
top: 0;
|
95
|
-
width: 100%;
|
96
|
-
height: 100%;
|
97
|
-
display: none;
|
98
|
-
}
|
99
|
-
.arco-image-picker-close {
|
100
|
-
position: absolute;
|
101
|
-
top: 0;
|
102
|
-
right: 0;
|
103
|
-
z-index: 2;
|
104
|
-
}
|
105
|
-
.arco-image-picker-close-icon {
|
106
|
-
display: -webkit-box;
|
107
|
-
display: -webkit-flex;
|
108
|
-
display: flex;
|
109
|
-
-webkit-box-align: center;
|
110
|
-
-webkit-align-items: center;
|
111
|
-
align-items: center;
|
112
|
-
-webkit-box-pack: center;
|
113
|
-
-webkit-justify-content: center;
|
114
|
-
justify-content: center;
|
115
|
-
font-size: 0.24rem ;
|
116
|
-
width: 0.36rem ;
|
117
|
-
height: 0.36rem ;
|
118
|
-
color: #ffffff ;
|
119
|
-
background: rgba(0, 0, 0, 0.3) ;
|
120
|
-
border-radius: 0 0.04rem ;
|
121
|
-
}
|
122
|
-
.arco-image-picker-error {
|
123
|
-
position: absolute;
|
124
|
-
top: 0;
|
125
|
-
left: 0;
|
126
|
-
width: 100%;
|
127
|
-
height: 100%;
|
128
|
-
display: -webkit-box;
|
129
|
-
display: -webkit-flex;
|
130
|
-
display: flex;
|
131
|
-
-webkit-box-orient: vertical;
|
132
|
-
-webkit-box-direction: normal;
|
133
|
-
-webkit-flex-direction: column;
|
134
|
-
flex-direction: column;
|
135
|
-
-webkit-box-pack: center;
|
136
|
-
-webkit-justify-content: center;
|
137
|
-
justify-content: center;
|
138
|
-
-webkit-box-align: center;
|
139
|
-
-webkit-align-items: center;
|
140
|
-
align-items: center;
|
141
|
-
background: rgba(0, 0, 0, 0.5) ;
|
142
|
-
color: #ffffff ;
|
143
|
-
font-size: 0.28rem ;
|
144
|
-
}
|
145
|
-
.arco-image-picker-disabled {
|
146
|
-
pointer-events: none;
|
147
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
(function (global, factory) {
|
2
|
-
if (typeof define === "function" && define.amd) {
|
3
|
-
define(["../../../../style/css/public.css", "./index.css"], factory);
|
4
|
-
} else if (typeof exports !== "undefined") {
|
5
|
-
factory(require("../../../../style/css/public.css"), require("./index.css"));
|
6
|
-
} else {
|
7
|
-
var mod = {
|
8
|
-
exports: {}
|
9
|
-
};
|
10
|
-
factory(global._public, global.index);
|
11
|
-
global.index = mod.exports;
|
12
|
-
}
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_public, _index) {
|
14
|
-
"use strict";
|
15
|
-
});
|
@@ -1,15 +0,0 @@
|
|
1
|
-
(function (global, factory) {
|
2
|
-
if (typeof define === "function" && define.amd) {
|
3
|
-
define(["../../../style/public.less", "./index.less"], factory);
|
4
|
-
} else if (typeof exports !== "undefined") {
|
5
|
-
factory(require("../../../style/public.less"), require("./index.less"));
|
6
|
-
} else {
|
7
|
-
var mod = {
|
8
|
-
exports: {}
|
9
|
-
};
|
10
|
-
factory(global._public, global.index);
|
11
|
-
global.index = mod.exports;
|
12
|
-
}
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_public, _index) {
|
14
|
-
"use strict";
|
15
|
-
});
|