@arco-design/mobile-react 2.19.2-ee92494.5 → 2.21.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 +66 -0
- package/README.en-US.md +6 -6
- package/README.md +6 -6
- package/cjs/avatar/group.js +1 -1
- package/cjs/avatar/index.d.ts +1 -1
- package/cjs/avatar/index.js +11 -14
- package/cjs/avatar/style/css/index.css +96 -126
- package/cjs/avatar/style/index.less +54 -72
- package/cjs/badge/index.d.ts +1 -1
- package/cjs/badge/index.js +7 -9
- package/cjs/badge/style/css/index.css +5 -5
- package/cjs/badge/style/index.less +5 -5
- package/cjs/button/demo/style/mobile.less +0 -4
- package/cjs/button/hooks.d.ts +1 -2
- package/cjs/button/hooks.js +5 -3
- package/cjs/button/index.d.ts +1 -1
- package/cjs/button/index.js +28 -33
- package/cjs/button/style/css/index.css +75 -310
- package/cjs/button/style/index.less +32 -38
- package/cjs/carousel/index.d.ts +1 -1
- package/cjs/carousel/index.js +1 -1
- package/cjs/cell/index.d.ts +1 -1
- package/cjs/cell/index.js +1 -1
- package/cjs/checkbox/index.d.ts +1 -1
- package/cjs/checkbox/index.js +1 -1
- package/cjs/collapse/index.d.ts +1 -1
- package/cjs/collapse/index.js +1 -1
- package/cjs/count-down/index.d.ts +1 -1
- package/cjs/count-down/index.js +1 -1
- package/cjs/date-picker/index.d.ts +1 -1
- package/cjs/date-picker/index.js +1 -1
- package/cjs/dropdown/dropdown.d.ts +3 -0
- package/cjs/dropdown/dropdown.js +322 -0
- package/cjs/dropdown/index.d.ts +3 -4
- package/cjs/dropdown/index.js +3 -303
- package/cjs/dropdown/options.js +2 -1
- package/cjs/dropdown/style/css/index.css +3 -0
- package/cjs/dropdown/style/index.less +2 -0
- package/cjs/dropdown/type.d.ts +20 -9
- package/cjs/dropdown-menu/dropdown-menu.d.ts +4 -0
- package/cjs/dropdown-menu/dropdown-menu.js +273 -0
- package/cjs/dropdown-menu/helper.d.ts +1 -1
- package/cjs/dropdown-menu/index.d.ts +2 -3
- package/cjs/dropdown-menu/index.js +2 -245
- package/cjs/dropdown-menu/type.d.ts +21 -20
- package/cjs/ellipsis/components/js-ellipsis.js +2 -3
- package/cjs/ellipsis/index.d.ts +1 -1
- package/cjs/ellipsis/index.js +3 -4
- package/cjs/image/index.d.ts +1 -1
- package/cjs/image/index.js +5 -2
- package/cjs/image/style/css/index.css +2 -1
- package/cjs/image/style/index.less +2 -1
- package/cjs/image-picker/index.d.ts +4 -175
- package/cjs/image-picker/index.js +44 -20
- package/cjs/image-picker/type.d.ts +174 -0
- package/cjs/image-picker/type.js +3 -0
- package/cjs/image-preview/index.d.ts +1 -1
- package/cjs/image-preview/index.js +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +9 -1
- package/cjs/input/hooks.js +49 -8
- package/cjs/input/index.d.ts +1 -1
- package/cjs/input/index.js +1 -1
- package/cjs/input/props.d.ts +8 -2
- package/cjs/nav-bar/index.js +7 -2
- package/cjs/notice-bar/index.d.ts +1 -1
- package/cjs/notice-bar/index.js +1 -1
- package/cjs/picker/index.d.ts +1 -1
- package/cjs/picker/index.js +1 -1
- package/cjs/picker-view/index.d.ts +1 -1
- package/cjs/picker-view/index.js +1 -1
- package/cjs/popover/index.d.ts +1 -1
- package/cjs/popover/index.js +1 -1
- package/cjs/popup-swiper/index.js +3 -2
- package/cjs/radio/index.d.ts +1 -1
- package/cjs/radio/index.js +1 -1
- package/cjs/rate/index.d.ts +1 -1
- package/cjs/rate/index.js +1 -1
- package/cjs/search-bar/association.d.ts +3 -0
- package/cjs/search-bar/association.js +92 -0
- package/cjs/search-bar/cancel-button.d.ts +10 -0
- package/cjs/search-bar/cancel-button.js +41 -0
- package/cjs/search-bar/demo/style/css/mobile.css +5 -0
- package/cjs/search-bar/demo/style/mobile.less +9 -0
- package/cjs/search-bar/highlight.d.ts +12 -0
- package/cjs/search-bar/highlight.js +77 -0
- package/cjs/search-bar/index.d.ts +13 -0
- package/cjs/search-bar/index.js +231 -0
- package/cjs/search-bar/style/css/index.css +148 -0
- package/cjs/search-bar/style/css/index.d.ts +2 -0
- package/cjs/search-bar/style/css/index.js +5 -0
- package/cjs/search-bar/style/index.d.ts +2 -0
- package/cjs/search-bar/style/index.js +5 -0
- package/cjs/search-bar/style/index.less +111 -0
- package/cjs/search-bar/type.d.ts +163 -0
- package/cjs/search-bar/type.js +3 -0
- package/cjs/show-monitor/index.js +31 -3
- package/cjs/slider/index.d.ts +1 -1
- package/cjs/slider/index.js +1 -1
- package/cjs/steps/index.d.ts +1 -1
- package/cjs/steps/index.js +1 -1
- package/cjs/sticky/index.d.ts +1 -1
- package/cjs/style.d.ts +2 -0
- package/cjs/style.js +4 -0
- package/cjs/swipe-action/demo/style/css/mobile.css +5 -0
- package/cjs/swipe-action/demo/style/mobile.less +9 -0
- package/cjs/swipe-action/index.d.ts +12 -0
- package/cjs/swipe-action/index.js +337 -0
- package/cjs/swipe-action/item.d.ts +11 -0
- package/cjs/swipe-action/item.js +52 -0
- package/cjs/swipe-action/style/css/index.css +88 -0
- package/cjs/swipe-action/style/css/index.d.ts +2 -0
- package/cjs/swipe-action/style/css/index.js +5 -0
- package/cjs/swipe-action/style/index.d.ts +2 -0
- package/cjs/swipe-action/style/index.js +5 -0
- package/cjs/swipe-action/style/index.less +89 -0
- package/cjs/swipe-action/type.d.ts +123 -0
- package/cjs/swipe-action/type.js +3 -0
- package/cjs/switch/index.d.ts +1 -1
- package/cjs/switch/index.js +1 -1
- package/cjs/tabs/tab-pane.js +5 -1
- package/cjs/tag/index.d.ts +1 -1
- package/cjs/tag/index.js +1 -1
- package/cjs/textarea/index.d.ts +1 -1
- package/cjs/textarea/index.js +1 -1
- package/dist/index.js +8037 -7173
- package/dist/index.min.js +6 -6
- package/dist/style.css +377 -438
- package/dist/style.min.css +1 -1
- package/esm/avatar/group.js +1 -1
- package/esm/avatar/index.d.ts +1 -1
- package/esm/avatar/index.js +11 -14
- package/esm/avatar/style/css/index.css +96 -126
- package/esm/avatar/style/index.less +54 -72
- package/esm/badge/index.d.ts +1 -1
- package/esm/badge/index.js +7 -9
- package/esm/badge/style/css/index.css +5 -5
- package/esm/badge/style/index.less +5 -5
- package/esm/button/demo/style/mobile.less +0 -4
- package/esm/button/hooks.d.ts +1 -2
- package/esm/button/hooks.js +5 -3
- package/esm/button/index.d.ts +1 -1
- package/esm/button/index.js +30 -35
- package/esm/button/style/css/index.css +75 -310
- package/esm/button/style/index.less +32 -38
- package/esm/carousel/index.d.ts +1 -1
- package/esm/carousel/index.js +1 -1
- package/esm/cell/index.d.ts +1 -1
- package/esm/cell/index.js +1 -1
- package/esm/checkbox/index.d.ts +1 -1
- package/esm/checkbox/index.js +1 -1
- package/esm/collapse/index.d.ts +1 -1
- package/esm/collapse/index.js +1 -1
- package/esm/count-down/index.d.ts +1 -1
- package/esm/count-down/index.js +1 -1
- package/esm/date-picker/index.d.ts +1 -1
- package/esm/date-picker/index.js +1 -1
- package/esm/dropdown/dropdown.d.ts +3 -0
- package/esm/dropdown/dropdown.js +304 -0
- package/esm/dropdown/index.d.ts +3 -4
- package/esm/dropdown/index.js +3 -293
- package/esm/dropdown/options.js +2 -1
- package/esm/dropdown/style/css/index.css +3 -0
- package/esm/dropdown/style/index.less +2 -0
- package/esm/dropdown/type.d.ts +20 -9
- package/esm/dropdown-menu/dropdown-menu.d.ts +4 -0
- package/esm/dropdown-menu/dropdown-menu.js +256 -0
- package/esm/dropdown-menu/helper.d.ts +1 -1
- package/esm/dropdown-menu/index.d.ts +2 -3
- package/esm/dropdown-menu/index.js +2 -237
- package/esm/dropdown-menu/type.d.ts +21 -20
- package/esm/ellipsis/components/js-ellipsis.js +2 -3
- package/esm/ellipsis/index.d.ts +1 -1
- package/esm/ellipsis/index.js +3 -4
- package/esm/image/index.d.ts +1 -1
- package/esm/image/index.js +5 -2
- package/esm/image/style/css/index.css +2 -1
- package/esm/image/style/index.less +2 -1
- package/esm/image-picker/index.d.ts +4 -175
- package/esm/image-picker/index.js +33 -19
- package/esm/image-picker/type.d.ts +174 -0
- package/esm/image-picker/type.js +1 -0
- package/esm/image-preview/index.d.ts +1 -1
- package/esm/image-preview/index.js +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.js +2 -0
- package/esm/input/hooks.js +49 -8
- package/esm/input/index.d.ts +1 -1
- package/esm/input/index.js +1 -1
- package/esm/input/props.d.ts +8 -2
- package/esm/nav-bar/index.js +6 -2
- package/esm/notice-bar/index.d.ts +1 -1
- package/esm/notice-bar/index.js +1 -1
- package/esm/picker/index.d.ts +1 -1
- package/esm/picker/index.js +1 -1
- package/esm/picker-view/index.d.ts +1 -1
- package/esm/picker-view/index.js +1 -1
- package/esm/popover/index.d.ts +1 -1
- package/esm/popover/index.js +1 -1
- package/esm/popup-swiper/index.js +3 -2
- package/esm/radio/index.d.ts +1 -1
- package/esm/radio/index.js +1 -1
- package/esm/rate/index.d.ts +1 -1
- package/esm/rate/index.js +1 -1
- package/esm/search-bar/association.d.ts +3 -0
- package/esm/search-bar/association.js +82 -0
- package/esm/search-bar/cancel-button.d.ts +10 -0
- package/esm/search-bar/cancel-button.js +30 -0
- package/esm/search-bar/demo/style/css/mobile.css +5 -0
- package/esm/search-bar/demo/style/mobile.less +9 -0
- package/esm/search-bar/highlight.d.ts +12 -0
- package/esm/search-bar/highlight.js +66 -0
- package/esm/search-bar/index.d.ts +13 -0
- package/esm/search-bar/index.js +212 -0
- package/esm/search-bar/style/css/index.css +148 -0
- package/esm/search-bar/style/css/index.d.ts +2 -0
- package/esm/search-bar/style/css/index.js +2 -0
- package/esm/search-bar/style/index.d.ts +2 -0
- package/esm/search-bar/style/index.js +2 -0
- package/esm/search-bar/style/index.less +111 -0
- package/esm/search-bar/type.d.ts +163 -0
- package/esm/search-bar/type.js +1 -0
- package/esm/show-monitor/index.js +31 -3
- package/esm/slider/index.d.ts +1 -1
- package/esm/slider/index.js +1 -1
- package/esm/steps/index.d.ts +1 -1
- package/esm/steps/index.js +1 -1
- package/esm/sticky/index.d.ts +1 -1
- package/esm/style.d.ts +2 -0
- package/esm/style.js +2 -0
- package/esm/swipe-action/demo/style/css/mobile.css +5 -0
- package/esm/swipe-action/demo/style/mobile.less +9 -0
- package/esm/swipe-action/index.d.ts +12 -0
- package/esm/swipe-action/index.js +320 -0
- package/esm/swipe-action/item.d.ts +11 -0
- package/esm/swipe-action/item.js +42 -0
- package/esm/swipe-action/style/css/index.css +88 -0
- package/esm/swipe-action/style/css/index.d.ts +2 -0
- package/esm/swipe-action/style/css/index.js +2 -0
- package/esm/swipe-action/style/index.d.ts +2 -0
- package/esm/swipe-action/style/index.js +2 -0
- package/esm/swipe-action/style/index.less +89 -0
- package/esm/swipe-action/type.d.ts +123 -0
- package/esm/swipe-action/type.js +1 -0
- package/esm/switch/index.d.ts +1 -1
- package/esm/switch/index.js +1 -1
- package/esm/tabs/tab-pane.js +5 -1
- package/esm/tag/index.d.ts +1 -1
- package/esm/tag/index.js +1 -1
- package/esm/textarea/index.d.ts +1 -1
- package/esm/textarea/index.js +1 -1
- package/package.json +3 -3
- package/tokens/app/arcodesign/default/css-variables.less +36 -1
- package/tokens/app/arcodesign/default/index.d.ts +36 -1
- package/tokens/app/arcodesign/default/index.js +36 -1
- package/tokens/app/arcodesign/default/index.json +425 -15
- package/tokens/app/arcodesign/default/index.less +36 -1
- package/umd/avatar/group.js +1 -1
- package/umd/avatar/index.d.ts +1 -1
- package/umd/avatar/index.js +11 -14
- package/umd/avatar/style/css/index.css +96 -126
- package/umd/avatar/style/index.less +54 -72
- package/umd/badge/index.d.ts +1 -1
- package/umd/badge/index.js +7 -9
- package/umd/badge/style/css/index.css +5 -5
- package/umd/badge/style/index.less +5 -5
- package/umd/button/demo/style/mobile.less +0 -4
- package/umd/button/hooks.d.ts +1 -2
- package/umd/button/hooks.js +5 -3
- package/umd/button/index.d.ts +1 -1
- package/umd/button/index.js +28 -33
- package/umd/button/style/css/index.css +75 -310
- package/umd/button/style/index.less +32 -38
- package/umd/carousel/index.d.ts +1 -1
- package/umd/carousel/index.js +1 -1
- package/umd/cell/index.d.ts +1 -1
- package/umd/cell/index.js +1 -1
- package/umd/checkbox/index.d.ts +1 -1
- package/umd/checkbox/index.js +1 -1
- package/umd/collapse/index.d.ts +1 -1
- package/umd/collapse/index.js +1 -1
- package/umd/count-down/index.d.ts +1 -1
- package/umd/count-down/index.js +1 -1
- package/umd/date-picker/index.d.ts +1 -1
- package/umd/date-picker/index.js +1 -1
- package/umd/dropdown/dropdown.d.ts +3 -0
- package/umd/dropdown/dropdown.js +325 -0
- package/umd/dropdown/index.d.ts +3 -4
- package/umd/dropdown/index.js +5 -298
- package/umd/dropdown/options.js +2 -1
- package/umd/dropdown/style/css/index.css +3 -0
- package/umd/dropdown/style/index.less +2 -0
- package/umd/dropdown/type.d.ts +20 -9
- package/umd/dropdown-menu/dropdown-menu.d.ts +4 -0
- package/umd/dropdown-menu/dropdown-menu.js +278 -0
- package/umd/dropdown-menu/helper.d.ts +1 -1
- package/umd/dropdown-menu/index.d.ts +2 -3
- package/umd/dropdown-menu/index.js +5 -241
- package/umd/dropdown-menu/type.d.ts +21 -20
- package/umd/ellipsis/components/js-ellipsis.js +2 -3
- package/umd/ellipsis/index.d.ts +1 -1
- package/umd/ellipsis/index.js +3 -4
- package/umd/image/index.d.ts +1 -1
- package/umd/image/index.js +5 -2
- package/umd/image/style/css/index.css +2 -1
- package/umd/image/style/index.less +2 -1
- package/umd/image-picker/index.d.ts +4 -175
- package/umd/image-picker/index.js +43 -24
- package/umd/image-picker/type.d.ts +174 -0
- package/umd/image-picker/type.js +17 -0
- package/umd/image-preview/index.d.ts +1 -1
- package/umd/image-preview/index.js +1 -1
- package/umd/index.d.ts +2 -0
- package/umd/index.js +9 -5
- package/umd/input/hooks.js +48 -7
- package/umd/input/index.d.ts +1 -1
- package/umd/input/index.js +1 -1
- package/umd/input/props.d.ts +8 -2
- package/umd/nav-bar/index.js +9 -6
- package/umd/notice-bar/index.d.ts +1 -1
- package/umd/notice-bar/index.js +1 -1
- package/umd/picker/index.d.ts +1 -1
- package/umd/picker/index.js +1 -1
- package/umd/picker-view/index.d.ts +1 -1
- package/umd/picker-view/index.js +1 -1
- package/umd/popover/index.d.ts +1 -1
- package/umd/popover/index.js +1 -1
- package/umd/popup-swiper/index.js +3 -2
- package/umd/radio/index.d.ts +1 -1
- package/umd/radio/index.js +1 -1
- package/umd/rate/index.d.ts +1 -1
- package/umd/rate/index.js +1 -1
- package/umd/search-bar/association.d.ts +3 -0
- package/umd/search-bar/association.js +101 -0
- package/umd/search-bar/cancel-button.d.ts +10 -0
- package/umd/search-bar/cancel-button.js +52 -0
- package/umd/search-bar/demo/style/css/mobile.css +5 -0
- package/umd/search-bar/demo/style/mobile.less +9 -0
- package/umd/search-bar/highlight.d.ts +12 -0
- package/umd/search-bar/highlight.js +87 -0
- package/umd/search-bar/index.d.ts +13 -0
- package/umd/search-bar/index.js +229 -0
- package/umd/search-bar/style/css/index.css +148 -0
- package/umd/search-bar/style/css/index.d.ts +2 -0
- package/umd/search-bar/style/css/index.js +15 -0
- package/umd/search-bar/style/index.d.ts +2 -0
- package/umd/search-bar/style/index.js +15 -0
- package/umd/search-bar/style/index.less +111 -0
- package/umd/search-bar/type.d.ts +163 -0
- package/umd/search-bar/type.js +17 -0
- package/umd/show-monitor/index.js +31 -3
- package/umd/slider/index.d.ts +1 -1
- package/umd/slider/index.js +1 -1
- package/umd/steps/index.d.ts +1 -1
- package/umd/steps/index.js +1 -1
- package/umd/sticky/index.d.ts +1 -1
- package/umd/style.d.ts +2 -0
- package/umd/style.js +4 -4
- package/umd/swipe-action/demo/style/css/mobile.css +5 -0
- package/umd/swipe-action/demo/style/mobile.less +9 -0
- package/umd/swipe-action/index.d.ts +12 -0
- package/umd/swipe-action/index.js +342 -0
- package/umd/swipe-action/item.d.ts +11 -0
- package/umd/swipe-action/item.js +62 -0
- package/umd/swipe-action/style/css/index.css +88 -0
- package/umd/swipe-action/style/css/index.d.ts +2 -0
- package/umd/swipe-action/style/css/index.js +15 -0
- package/umd/swipe-action/style/index.d.ts +2 -0
- package/umd/swipe-action/style/index.js +15 -0
- package/umd/swipe-action/style/index.less +89 -0
- package/umd/swipe-action/type.d.ts +123 -0
- package/umd/swipe-action/type.js +17 -0
- package/umd/switch/index.d.ts +1 -1
- package/umd/switch/index.js +1 -1
- package/umd/tabs/tab-pane.js +5 -1
- package/umd/tag/index.d.ts +1 -1
- package/umd/tag/index.js +1 -1
- package/umd/textarea/index.d.ts +1 -1
- package/umd/textarea/index.js +1 -1
@@ -34,8 +34,7 @@
|
|
34
34
|
maxHeight = props.maxHeight,
|
35
35
|
ellipsisNode = props.ellipsisNode,
|
36
36
|
collapseNode = props.collapseNode,
|
37
|
-
|
38
|
-
endExcludes = _props$endExcludes === void 0 ? [] : _props$endExcludes,
|
37
|
+
endExcludes = props.endExcludes,
|
39
38
|
reflowOnResize = props.reflowOnResize,
|
40
39
|
onReflow = props.onReflow,
|
41
40
|
onEllipsisNodeClick = props.onEllipsisNodeClick,
|
@@ -88,7 +87,7 @@
|
|
88
87
|
} // Remove the exclude char at the end of the content.
|
89
88
|
|
90
89
|
|
91
|
-
while (endExcludes.includes(currentText[currentText.length - 1])) {
|
90
|
+
while (endExcludes && endExcludes.includes(currentText[currentText.length - 1])) {
|
92
91
|
currentText = currentText.slice(0, -1);
|
93
92
|
} // Callback after reflow.
|
94
93
|
|
package/umd/ellipsis/index.d.ts
CHANGED
@@ -4,7 +4,7 @@ export * from './type';
|
|
4
4
|
/**
|
5
5
|
* 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
|
6
6
|
* @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
|
7
|
-
* @type
|
7
|
+
* @type 信息展示
|
8
8
|
* @type_en Data Display
|
9
9
|
* @name 文本缩略
|
10
10
|
* @name_en Ellipsis
|
package/umd/ellipsis/index.js
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
/**
|
36
36
|
* 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
|
37
37
|
* @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
|
38
|
-
* @type
|
38
|
+
* @type 信息展示
|
39
39
|
* @type_en Data Display
|
40
40
|
* @name 文本缩略
|
41
41
|
* @name_en Ellipsis
|
@@ -54,15 +54,14 @@
|
|
54
54
|
_props$collapseNode = props.collapseNode,
|
55
55
|
collapseNode = _props$collapseNode === void 0 ? '' : _props$collapseNode,
|
56
56
|
onCollapseNodeClick = props.onCollapseNodeClick,
|
57
|
-
|
58
|
-
endExcludes = _props$endExcludes === void 0 ? [] : _props$endExcludes,
|
57
|
+
endExcludes = props.endExcludes,
|
59
58
|
_props$reflowOnResize = props.reflowOnResize,
|
60
59
|
reflowOnResize = _props$reflowOnResize === void 0 ? false : _props$reflowOnResize,
|
61
60
|
onReflow = props.onReflow,
|
62
61
|
onEllipsisNodeClick = props.onEllipsisNodeClick;
|
63
62
|
var domRef = (0, _react.useRef)(null);
|
64
63
|
var jsEllipsisRef = (0, _react.useRef)(null);
|
65
|
-
var useNativeEllipsis = (0, _is.isSupportWebkitLineClamp)() && maxHeight === void 0 && ellipsisNode === '...' && endExcludes.length === 0 && !onReflow && !onEllipsisNodeClick;
|
64
|
+
var useNativeEllipsis = (0, _is.isSupportWebkitLineClamp)() && maxHeight === void 0 && ellipsisNode === '...' && (!endExcludes || endExcludes.length === 0) && !onReflow && !onEllipsisNodeClick;
|
66
65
|
(0, _react.useImperativeHandle)(ref, function () {
|
67
66
|
var _jsEllipsisRef$curren;
|
68
67
|
|
package/umd/image/index.d.ts
CHANGED
@@ -177,7 +177,7 @@ export interface ImageRef {
|
|
177
177
|
/**
|
178
178
|
* 增强版的 img 标签,提供多种图片填充模式,支持图片加载中提示、加载失败提示。
|
179
179
|
* @en Enhanced img tag, provides a variety of image filling modes, and supports image loading prompts and loading failure prompts.
|
180
|
-
* @type
|
180
|
+
* @type 信息展示
|
181
181
|
* @type_en Data Display
|
182
182
|
* @name 图片
|
183
183
|
* @name_en Image
|
package/umd/image/index.js
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
/**
|
29
29
|
* 增强版的 img 标签,提供多种图片填充模式,支持图片加载中提示、加载失败提示。
|
30
30
|
* @en Enhanced img tag, provides a variety of image filling modes, and supports image loading prompts and loading failure prompts.
|
31
|
-
* @type
|
31
|
+
* @type 信息展示
|
32
32
|
* @type_en Data Display
|
33
33
|
* @name 图片
|
34
34
|
* @name_en Image
|
@@ -57,6 +57,7 @@
|
|
57
57
|
var wrapRef = (0, _react.useRef)(null);
|
58
58
|
var retryCountRef = (0, _react.useRef)(0);
|
59
59
|
var loadingImageRef = (0, _react.useRef)(null);
|
60
|
+
var hasLoadedRef = (0, _react.useRef)(false);
|
60
61
|
var style = props.style,
|
61
62
|
className = props.className,
|
62
63
|
status = props.status,
|
@@ -180,6 +181,7 @@
|
|
180
181
|
image.onload = function (evt) {
|
181
182
|
loadingImageRef.current = null;
|
182
183
|
imageDomRef.current = image;
|
184
|
+
hasLoadedRef.current = true;
|
183
185
|
changeStatus('loaded');
|
184
186
|
var _image$width = image.width,
|
185
187
|
imageWidth = _image$width === void 0 ? 0 : _image$width,
|
@@ -294,7 +296,8 @@
|
|
294
296
|
})) : null, /*#__PURE__*/_react.default.createElement("div", {
|
295
297
|
className: (0, _mobileUtils.cls)('image-container', validStatus, {
|
296
298
|
animate: Boolean(animateDuration),
|
297
|
-
'static-label': staticLabel
|
299
|
+
'static-label': staticLabel,
|
300
|
+
'has-loaded': hasLoadedRef.current
|
298
301
|
}),
|
299
302
|
style: (0, _helpers.getStyleWithVendor)({
|
300
303
|
transitionDuration: animateDuration + "ms"
|
@@ -66,7 +66,8 @@
|
|
66
66
|
}
|
67
67
|
.arco-image .image-container.static-label,
|
68
68
|
.arco-image .image-container.loaded,
|
69
|
-
.arco-image .image-container.error
|
69
|
+
.arco-image .image-container.error,
|
70
|
+
.arco-image .image-container.has-loaded {
|
70
71
|
opacity: 1;
|
71
72
|
}
|
72
73
|
.arco-image .image-container.animate {
|
@@ -1,181 +1,10 @@
|
|
1
|
-
import React
|
2
|
-
import {
|
3
|
-
export
|
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
|
-
}
|
1
|
+
import React from 'react';
|
2
|
+
import { ImagePickerProps, ImagePickerRef } from './type';
|
3
|
+
export * from './type';
|
175
4
|
/**
|
176
5
|
* 图片选择器组件
|
177
6
|
* @en ImagePicker Component
|
178
|
-
* @type
|
7
|
+
* @type 数据录入
|
179
8
|
* @type_en Data Entry
|
180
9
|
* @name 图片选择器
|
181
10
|
* @name_en ImagePicker
|
@@ -1,27 +1,34 @@
|
|
1
1
|
(function (global, factory) {
|
2
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);
|
3
|
+
define(["exports", "@babel/runtime/helpers/extends", "react", "es6-promise", "@arco-design/mobile-utils", "../context-provider", "../icon", "../image", "../grid", "./add-icon", "./type"], factory);
|
4
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"));
|
5
|
+
factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("es6-promise"), require("@arco-design/mobile-utils"), require("../context-provider"), require("../icon"), require("../image"), require("../grid"), require("./add-icon"), require("./type"));
|
6
6
|
} else {
|
7
7
|
var mod = {
|
8
8
|
exports: {}
|
9
9
|
};
|
10
|
-
factory(mod.exports, global._extends, global.react, global.mobileUtils, global.contextProvider, global.icon, global.image, global.grid, global.addIcon);
|
10
|
+
factory(mod.exports, global._extends, global.react, global.es6Promise, global.mobileUtils, global.contextProvider, global.icon, global.image, global.grid, global.addIcon, global.type);
|
11
11
|
global.index = mod.exports;
|
12
12
|
}
|
13
|
-
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _mobileUtils, _contextProvider, _icon, _image, _grid, _addIcon) {
|
13
|
+
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _es6Promise, _mobileUtils, _contextProvider, _icon, _image, _grid, _addIcon, _type) {
|
14
14
|
"use strict";
|
15
15
|
|
16
16
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
17
17
|
|
18
18
|
_exports.__esModule = true;
|
19
|
+
var _exportNames = {};
|
19
20
|
_exports.default = void 0;
|
20
21
|
_extends2 = _interopRequireDefault(_extends2);
|
21
22
|
_react = _interopRequireWildcard(_react);
|
22
23
|
_image = _interopRequireDefault(_image);
|
23
24
|
_grid = _interopRequireDefault(_grid);
|
24
25
|
_addIcon = _interopRequireDefault(_addIcon);
|
26
|
+
Object.keys(_type).forEach(function (key) {
|
27
|
+
if (key === "default" || key === "__esModule") return;
|
28
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
29
|
+
if (key in _exports && _exports[key] === _type[key]) return;
|
30
|
+
_exports[key] = _type[key];
|
31
|
+
});
|
25
32
|
|
26
33
|
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
34
|
|
@@ -30,7 +37,7 @@
|
|
30
37
|
/**
|
31
38
|
* 图片选择器组件
|
32
39
|
* @en ImagePicker Component
|
33
|
-
* @type
|
40
|
+
* @type 数据录入
|
34
41
|
* @type_en Data Entry
|
35
42
|
* @name 图片选择器
|
36
43
|
* @name_en ImagePicker
|
@@ -77,6 +84,7 @@
|
|
77
84
|
selectAdapter = props.selectAdapter;
|
78
85
|
var domRef = (0, _react.useRef)(null);
|
79
86
|
var fileRef = (0, _react.useRef)(null);
|
87
|
+
var cacheRef = (0, _react.useRef)([]);
|
80
88
|
(0, _react.useImperativeHandle)(ref, function () {
|
81
89
|
return {
|
82
90
|
dom: domRef.current
|
@@ -84,7 +92,7 @@
|
|
84
92
|
});
|
85
93
|
|
86
94
|
var parseFile = function parseFile(file) {
|
87
|
-
return new Promise(function (resolve, reject) {
|
95
|
+
return new _es6Promise.Promise(function (resolve, reject) {
|
88
96
|
if (file.url) {
|
89
97
|
resolve(file.url);
|
90
98
|
} else {
|
@@ -112,7 +120,7 @@
|
|
112
120
|
};
|
113
121
|
|
114
122
|
var handleChange = function handleChange(event, fromAdapter) {
|
115
|
-
var files =
|
123
|
+
var files = Array.prototype.filter.call(event.target.files || [], function (file) {
|
116
124
|
// 过滤maxSize
|
117
125
|
if (maxSize && file.size > maxSize * 1024) {
|
118
126
|
onMaxSizeExceed && onMaxSizeExceed(file);
|
@@ -133,29 +141,40 @@
|
|
133
141
|
} // 解析文件生成预览
|
134
142
|
|
135
143
|
|
136
|
-
Promise.all(files.map(function (file) {
|
144
|
+
_es6Promise.Promise.all(files.map(function (file) {
|
137
145
|
return parseFile(file);
|
138
146
|
})).then(function (parseFiles) {
|
139
147
|
var res = parseFiles.map(function (url, index) {
|
140
148
|
return {
|
141
149
|
url: url,
|
142
|
-
status: upload ? 'loading' : 'loaded',
|
150
|
+
status: typeof upload === 'function' ? 'loading' : 'loaded',
|
143
151
|
file: files[index]
|
144
152
|
};
|
145
153
|
});
|
146
|
-
|
147
|
-
onChange(
|
154
|
+
cacheRef.current = [].concat(images, res);
|
155
|
+
onChange([].concat(cacheRef.current)); // 执行upload
|
148
156
|
|
149
157
|
if (typeof upload === 'function') {
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
158
|
+
files.forEach(function (_file) {
|
159
|
+
upload(cacheRef.current.find(function (_ref) {
|
160
|
+
var file = _ref.file;
|
161
|
+
return file === _file;
|
162
|
+
})).then(function (data) {
|
163
|
+
var index = cacheRef.current.findIndex(function (_ref2) {
|
164
|
+
var file = _ref2.file;
|
165
|
+
return file === _file;
|
166
|
+
});
|
167
|
+
cacheRef.current[index] = (0, _extends2.default)({}, cacheRef.current[index], data, {
|
168
|
+
status: undefined
|
169
|
+
});
|
154
170
|
}).catch(function () {
|
155
|
-
|
171
|
+
var index = cacheRef.current.findIndex(function (_ref3) {
|
172
|
+
var file = _ref3.file;
|
173
|
+
return file === _file;
|
174
|
+
});
|
175
|
+
cacheRef.current[index].status = 'error';
|
156
176
|
}).finally(function () {
|
157
|
-
|
158
|
-
onChange([].concat(cacheRes));
|
177
|
+
onChange([].concat(cacheRef.current));
|
159
178
|
});
|
160
179
|
});
|
161
180
|
}
|
@@ -190,8 +209,8 @@
|
|
190
209
|
var handleSelect = function handleSelect() {
|
191
210
|
var _fileRef$current;
|
192
211
|
|
193
|
-
selectAdapter ? selectAdapter().then(function (
|
194
|
-
var files =
|
212
|
+
selectAdapter ? selectAdapter().then(function (_ref4) {
|
213
|
+
var files = _ref4.files;
|
195
214
|
return handleChange({
|
196
215
|
target: {
|
197
216
|
files: files
|
@@ -286,12 +305,12 @@
|
|
286
305
|
return data;
|
287
306
|
};
|
288
307
|
|
289
|
-
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (
|
308
|
+
return /*#__PURE__*/_react.default.createElement(_contextProvider.ContextLayout, null, function (_ref5) {
|
290
309
|
var _cls2;
|
291
310
|
|
292
|
-
var prefixCls =
|
293
|
-
|
294
|
-
locale =
|
311
|
+
var prefixCls = _ref5.prefixCls,
|
312
|
+
_ref5$locale = _ref5.locale,
|
313
|
+
locale = _ref5$locale === void 0 ? _mobileUtils.defaultLocale : _ref5$locale;
|
295
314
|
return /*#__PURE__*/_react.default.createElement("div", {
|
296
315
|
className: (0, _mobileUtils.cls)(prefixCls + "-image-picker", className, (_cls2 = {}, _cls2[prefixCls + "-image-picker-disabled"] = disabled, _cls2)),
|
297
316
|
style: style,
|
@@ -0,0 +1,174 @@
|
|
1
|
+
import { 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 以图片自身加载状态而定
|
18
|
+
* @default_en According to inner status of the image
|
19
|
+
*/
|
20
|
+
status?: 'loaded' | 'loading' | 'error';
|
21
|
+
}
|
22
|
+
export interface AdapterFile {
|
23
|
+
url?: string;
|
24
|
+
size: number;
|
25
|
+
name: string;
|
26
|
+
}
|
27
|
+
export interface SelectCallback {
|
28
|
+
files: AdapterFile[];
|
29
|
+
}
|
30
|
+
export interface ImagePickerProps {
|
31
|
+
/**
|
32
|
+
* 自定义类名
|
33
|
+
* @en Custom className
|
34
|
+
*/
|
35
|
+
className?: string;
|
36
|
+
/**
|
37
|
+
* 自定义样式
|
38
|
+
* @en Custom stylesheet
|
39
|
+
*/
|
40
|
+
style?: React.CSSProperties;
|
41
|
+
/**
|
42
|
+
* 已选择图片列表
|
43
|
+
* @en selected images list
|
44
|
+
*/
|
45
|
+
images: ImagePickItem[];
|
46
|
+
/**
|
47
|
+
* 可以选择的文件类型
|
48
|
+
* @en Available File Types
|
49
|
+
* @default 'image/*'
|
50
|
+
*/
|
51
|
+
accept?: string;
|
52
|
+
/**
|
53
|
+
* 是否支持多选
|
54
|
+
* @en Whether To Support Multiple Selection
|
55
|
+
*/
|
56
|
+
multiple?: boolean;
|
57
|
+
/**
|
58
|
+
* 图片选取模式 Image selection mode [capture MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture)
|
59
|
+
* @en Whether To Support Multiple Selection [capture MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture)
|
60
|
+
*/
|
61
|
+
capture?: InputHTMLAttributes<unknown>['capture'];
|
62
|
+
/**
|
63
|
+
* 一行展示图片张数
|
64
|
+
* @en The Number Of Pictures Displayed In A Row
|
65
|
+
* @default 3
|
66
|
+
*/
|
67
|
+
columns?: number;
|
68
|
+
/**
|
69
|
+
* 格子间的间距
|
70
|
+
* @en spacing between grids
|
71
|
+
* @default 8
|
72
|
+
*/
|
73
|
+
gutter?: number;
|
74
|
+
/**
|
75
|
+
* 最多选择图片张数,超出数量自动隐藏上传按钮,0表示不做限制
|
76
|
+
* @en max Pictures Can Choose
|
77
|
+
*/
|
78
|
+
limit?: number;
|
79
|
+
/**
|
80
|
+
* 文件大小限制,单位为K
|
81
|
+
* @en File size limit, in K
|
82
|
+
*/
|
83
|
+
maxSize?: number;
|
84
|
+
/**
|
85
|
+
* 是否隐藏删除Icon
|
86
|
+
* @en Whether to hide delete Icon
|
87
|
+
* @default false
|
88
|
+
*/
|
89
|
+
hideDelete?: boolean;
|
90
|
+
/**
|
91
|
+
* 是否隐藏选择Icon
|
92
|
+
* @en Whether to hide Select Icon
|
93
|
+
* @default false
|
94
|
+
*/
|
95
|
+
hideSelect?: boolean;
|
96
|
+
/**
|
97
|
+
* 是否总是展示选择Icon,默认情况下当图片数量超出limit值时会自动隐藏选择Icon
|
98
|
+
* @en Whether to always show Select Icon
|
99
|
+
* @default false
|
100
|
+
*/
|
101
|
+
alwaysShowSelect?: boolean;
|
102
|
+
/**
|
103
|
+
* 禁用选择和删除图片
|
104
|
+
* @en Disable Select & Delete Image
|
105
|
+
*/
|
106
|
+
disabled?: boolean;
|
107
|
+
/**
|
108
|
+
* 自定义删除图标
|
109
|
+
* @en Defined Delete Icon
|
110
|
+
*/
|
111
|
+
deleteIcon?: React.ReactNode;
|
112
|
+
/**
|
113
|
+
* 自定义选择图标
|
114
|
+
* @en Defined Select Icon
|
115
|
+
*/
|
116
|
+
selectIcon?: React.ReactNode;
|
117
|
+
/**
|
118
|
+
* 透传给图片的属性
|
119
|
+
* @en Attributes passed through to the image
|
120
|
+
*/
|
121
|
+
imageProps?: Partial<ImageProps>;
|
122
|
+
/**
|
123
|
+
* 自定义上传失败展示
|
124
|
+
* @en Defined upload failed display
|
125
|
+
*/
|
126
|
+
renderError?: (index?: number) => React.ReactNode | React.ReactNode;
|
127
|
+
/**
|
128
|
+
* 自定义上传中展示
|
129
|
+
* @en Defined uploading display
|
130
|
+
*/
|
131
|
+
renderLoading?: (index?: number) => React.ReactNode | React.ReactNode;
|
132
|
+
/**
|
133
|
+
* 上传方法
|
134
|
+
* @en upload function
|
135
|
+
*/
|
136
|
+
upload?: (file: ImagePickItem) => Promise<ImagePickItem | null>;
|
137
|
+
/**
|
138
|
+
* 已选图片列表发生变化
|
139
|
+
* @en The list of selected images changes
|
140
|
+
*/
|
141
|
+
onChange?: (fileList: ImagePickItem[]) => 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
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
(function (global, factory) {
|
2
|
+
if (typeof define === "function" && define.amd) {
|
3
|
+
define(["exports"], factory);
|
4
|
+
} else if (typeof exports !== "undefined") {
|
5
|
+
factory(exports);
|
6
|
+
} else {
|
7
|
+
var mod = {
|
8
|
+
exports: {}
|
9
|
+
};
|
10
|
+
factory(mod.exports);
|
11
|
+
global.type = mod.exports;
|
12
|
+
}
|
13
|
+
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
|
14
|
+
"use strict";
|
15
|
+
|
16
|
+
_exports.__esModule = true;
|
17
|
+
});
|
@@ -280,7 +280,7 @@ declare const _default: React.ForwardRefExoticComponent<ImagePreviewProps & Reac
|
|
280
280
|
/**
|
281
281
|
* 图片预览组件,支持循环轮播、双指/双击缩放、缩略图放大效果。
|
282
282
|
* @en The image preview, supports circular rotation, two-finger/double-tap zoom, and thumbnail zoom effects.
|
283
|
-
* @type
|
283
|
+
* @type 信息展示
|
284
284
|
* @type_en Data Display
|
285
285
|
* @name 图片预览
|
286
286
|
* @name_en ImagePreview
|
@@ -1012,7 +1012,7 @@
|
|
1012
1012
|
/**
|
1013
1013
|
* 图片预览组件,支持循环轮播、双指/双击缩放、缩略图放大效果。
|
1014
1014
|
* @en The image preview, supports circular rotation, two-finger/double-tap zoom, and thumbnail zoom effects.
|
1015
|
-
* @type
|
1015
|
+
* @type 信息展示
|
1016
1016
|
* @type_en Data Display
|
1017
1017
|
* @name 图片预览
|
1018
1018
|
* @name_en ImagePreview
|