antd-mobile 5.0.0-rc.7 → 5.0.0-rc.8
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/2x/README.md +4 -0
- package/2x/cjs/components/checkbox/checkbox.css +1 -1
- package/2x/cjs/components/date-picker/date-picker.js +1 -1
- package/2x/cjs/components/image/lazy-detector.js +4 -1
- package/2x/cjs/components/image-uploader/image-uploader.js +9 -3
- package/2x/cjs/components/image-viewer/slide.js +0 -5
- package/2x/cjs/components/index-bar/index-bar.css +1 -1
- package/2x/cjs/components/infinite-scroll/infinite-scroll.js +1 -1
- package/2x/cjs/components/mask/mask.js +3 -2
- package/2x/cjs/components/number-keyboard/number-keyboard.js +1 -1
- package/2x/cjs/components/picker/picker.js +1 -1
- package/2x/cjs/components/picker-view/picker-view.js +2 -2
- package/2x/cjs/components/picker-view/{column.d.ts → wheel.d.ts} +1 -1
- package/{cjs/components/picker-view/column.js → 2x/cjs/components/picker-view/wheel.js} +9 -6
- package/2x/cjs/components/radio/radio.css +1 -1
- package/2x/cjs/components/skeleton/index.d.ts +8 -0
- package/2x/cjs/components/skeleton/index.js +19 -0
- package/2x/cjs/components/skeleton/skeleton.css +45 -0
- package/2x/cjs/components/skeleton/skeleton.d.ts +15 -0
- package/2x/cjs/components/skeleton/skeleton.js +61 -0
- package/2x/cjs/components/stepper/stepper.d.ts +1 -0
- package/2x/cjs/components/stepper/stepper.js +4 -2
- package/2x/cjs/components/tab-bar/tab-bar.css +1 -1
- package/2x/cjs/components/tab-bar/tab-bar.d.ts +1 -0
- package/2x/cjs/components/tab-bar/tab-bar.js +24 -11
- package/2x/cjs/index.d.ts +2 -1
- package/2x/cjs/index.js +10 -2
- package/2x/cjs/utils/use-mutation-effect.js +1 -1
- package/2x/cjs/utils/use-props-value.js +1 -1
- package/2x/cjs/utils/use-resize-effect.js +1 -1
- package/2x/es/components/checkbox/checkbox.css +1 -1
- package/2x/es/components/date-picker/date-picker.js +2 -2
- package/2x/es/components/image/lazy-detector.js +4 -1
- package/2x/es/components/image-uploader/image-uploader.js +10 -4
- package/2x/es/components/image-viewer/slide.js +0 -5
- package/2x/es/components/index-bar/index-bar.css +1 -1
- package/2x/es/components/infinite-scroll/infinite-scroll.js +2 -2
- package/2x/es/components/mask/mask.js +3 -2
- package/2x/es/components/number-keyboard/number-keyboard.js +2 -2
- package/2x/es/components/picker/picker.js +2 -2
- package/2x/es/components/picker-view/picker-view.js +2 -2
- package/{cjs/components/picker-view/column.d.ts → 2x/es/components/picker-view/wheel.d.ts} +1 -1
- package/{es/components/picker-view/column.js → 2x/es/components/picker-view/wheel.js} +7 -4
- package/2x/es/components/radio/radio.css +1 -1
- package/2x/es/components/skeleton/index.d.ts +8 -0
- package/2x/es/components/skeleton/index.js +7 -0
- package/2x/es/components/skeleton/skeleton.css +45 -0
- package/2x/es/components/skeleton/skeleton.d.ts +15 -0
- package/2x/es/components/skeleton/skeleton.js +36 -0
- package/2x/es/components/stepper/stepper.d.ts +1 -0
- package/2x/es/components/stepper/stepper.js +4 -2
- package/2x/es/components/tab-bar/tab-bar.css +1 -1
- package/2x/es/components/tab-bar/tab-bar.d.ts +1 -0
- package/2x/es/components/tab-bar/tab-bar.js +22 -11
- package/2x/es/index.d.ts +2 -1
- package/2x/es/index.js +3 -2
- package/2x/es/utils/use-mutation-effect.js +2 -2
- package/2x/es/utils/use-props-value.js +2 -2
- package/2x/es/utils/use-resize-effect.js +2 -2
- package/2x/package.json +3 -3
- package/README.md +4 -0
- package/cjs/components/checkbox/checkbox.css +1 -1
- package/cjs/components/date-picker/date-picker.js +1 -1
- package/cjs/components/image/lazy-detector.js +4 -1
- package/cjs/components/image-uploader/image-uploader.js +9 -3
- package/cjs/components/image-viewer/slide.js +0 -5
- package/cjs/components/index-bar/index-bar.css +1 -1
- package/cjs/components/infinite-scroll/infinite-scroll.js +1 -1
- package/cjs/components/mask/mask.js +3 -2
- package/cjs/components/number-keyboard/number-keyboard.js +1 -1
- package/cjs/components/picker/picker.js +1 -1
- package/cjs/components/picker-view/picker-view.js +2 -2
- package/{2x/es/components/picker-view/column.d.ts → cjs/components/picker-view/wheel.d.ts} +1 -1
- package/{2x/cjs/components/picker-view/column.js → cjs/components/picker-view/wheel.js} +9 -6
- package/cjs/components/radio/radio.css +1 -1
- package/cjs/components/skeleton/index.d.ts +8 -0
- package/cjs/components/skeleton/index.js +19 -0
- package/cjs/components/skeleton/skeleton.css +39 -0
- package/cjs/components/skeleton/skeleton.d.ts +15 -0
- package/cjs/components/skeleton/skeleton.js +61 -0
- package/cjs/components/stepper/stepper.d.ts +1 -0
- package/cjs/components/stepper/stepper.js +4 -2
- package/cjs/components/tab-bar/tab-bar.css +1 -1
- package/cjs/components/tab-bar/tab-bar.d.ts +1 -0
- package/cjs/components/tab-bar/tab-bar.js +24 -11
- package/cjs/index.d.ts +2 -1
- package/cjs/index.js +10 -2
- package/cjs/utils/use-mutation-effect.js +1 -1
- package/cjs/utils/use-props-value.js +1 -1
- package/cjs/utils/use-resize-effect.js +1 -1
- package/es/components/checkbox/checkbox.css +1 -1
- package/es/components/date-picker/date-picker.js +2 -2
- package/es/components/image/lazy-detector.js +4 -1
- package/es/components/image-uploader/image-uploader.js +10 -4
- package/es/components/image-viewer/slide.js +0 -5
- package/es/components/index-bar/index-bar.css +1 -1
- package/es/components/infinite-scroll/infinite-scroll.js +2 -2
- package/es/components/mask/mask.js +3 -2
- package/es/components/number-keyboard/number-keyboard.js +2 -2
- package/es/components/picker/picker.js +2 -2
- package/es/components/picker-view/picker-view.js +2 -2
- package/es/components/picker-view/{column.d.ts → wheel.d.ts} +1 -1
- package/{2x/es/components/picker-view/column.js → es/components/picker-view/wheel.js} +7 -4
- package/es/components/radio/radio.css +1 -1
- package/es/components/skeleton/index.d.ts +8 -0
- package/es/components/skeleton/index.js +7 -0
- package/es/components/skeleton/skeleton.css +39 -0
- package/es/components/skeleton/skeleton.d.ts +15 -0
- package/es/components/skeleton/skeleton.js +36 -0
- package/es/components/stepper/stepper.d.ts +1 -0
- package/es/components/stepper/stepper.js +4 -2
- package/es/components/tab-bar/tab-bar.css +1 -1
- package/es/components/tab-bar/tab-bar.d.ts +1 -0
- package/es/components/tab-bar/tab-bar.js +22 -11
- package/es/index.d.ts +2 -1
- package/es/index.js +3 -2
- package/es/utils/use-mutation-effect.js +2 -2
- package/es/utils/use-props-value.js +2 -2
- package/es/utils/use-resize-effect.js +2 -2
- package/package.json +3 -3
- package/umd/antd-mobile.js +1 -1
|
@@ -36,7 +36,7 @@ import { mergeProps } from '../../utils/with-default-props';
|
|
|
36
36
|
import ImageViewer from '../image-viewer';
|
|
37
37
|
import PreviewItem from './preview-item';
|
|
38
38
|
import { usePropsValue } from '../../utils/use-props-value';
|
|
39
|
-
import {
|
|
39
|
+
import { useMemoizedFn } from 'ahooks';
|
|
40
40
|
import Space from '../space';
|
|
41
41
|
import { withNativeProps } from '../../utils/native-props';
|
|
42
42
|
var classPrefix = "adm-image-uploader";
|
|
@@ -56,7 +56,7 @@ export var ImageUploader = function ImageUploader(p) {
|
|
|
56
56
|
value = _usePropsValue[0],
|
|
57
57
|
setValue = _usePropsValue[1];
|
|
58
58
|
|
|
59
|
-
var updateValue =
|
|
59
|
+
var updateValue = useMemoizedFn(function (updater) {
|
|
60
60
|
setValue(updater(value));
|
|
61
61
|
});
|
|
62
62
|
|
|
@@ -167,9 +167,15 @@ export var ImageUploader = function ImageUploader(p) {
|
|
|
167
167
|
});
|
|
168
168
|
});
|
|
169
169
|
updateValue(function (prev) {
|
|
170
|
-
|
|
170
|
+
var newVal = {
|
|
171
171
|
url: result.url
|
|
172
|
-
}
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
if (result.extra !== undefined) {
|
|
175
|
+
newVal.extra = result.extra;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return [].concat(prev, [newVal]);
|
|
173
179
|
});
|
|
174
180
|
_context.next = 12;
|
|
175
181
|
break;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { mergeProps } from '../../utils/with-default-props';
|
|
2
2
|
import React, { useEffect, useRef } from 'react';
|
|
3
|
-
import { useLockFn,
|
|
3
|
+
import { useLockFn, useMemoizedFn } from 'ahooks';
|
|
4
4
|
import { withNativeProps } from '../../utils/native-props';
|
|
5
5
|
import { getScrollParent } from '../../utils/get-scroll-parent';
|
|
6
6
|
import Loading from '../loading';
|
|
@@ -25,7 +25,7 @@ export var InfiniteScroll = function InfiniteScroll(p) {
|
|
|
25
25
|
});
|
|
26
26
|
var elementRef = useRef(null);
|
|
27
27
|
var checkTimeoutRef = useRef();
|
|
28
|
-
var check =
|
|
28
|
+
var check = useMemoizedFn(function () {
|
|
29
29
|
window.clearTimeout(checkTimeoutRef.current);
|
|
30
30
|
checkTimeoutRef.current = window.setTimeout(function () {
|
|
31
31
|
if (!props.hasMore) return;
|
|
@@ -77,9 +77,10 @@ export var Mask = function Mask(p) {
|
|
|
77
77
|
var node = withStopPropagation(props.stopPropagation, withNativeProps(props, /*#__PURE__*/React.createElement(animated.div, {
|
|
78
78
|
className: classPrefix,
|
|
79
79
|
ref: ref,
|
|
80
|
-
style: Object.assign(Object.assign({
|
|
80
|
+
style: Object.assign(Object.assign({
|
|
81
81
|
background: background,
|
|
82
|
-
opacity: opacity
|
|
82
|
+
opacity: opacity
|
|
83
|
+
}, props.style), {
|
|
83
84
|
display: active ? 'unset' : 'none'
|
|
84
85
|
})
|
|
85
86
|
}, props.onMaskClick && /*#__PURE__*/React.createElement("div", {
|
|
@@ -6,7 +6,7 @@ import { shuffle } from '../../utils/shuffle';
|
|
|
6
6
|
import Popup from '../popup';
|
|
7
7
|
import { withNativeProps } from '../../utils/native-props';
|
|
8
8
|
import SafeArea from '../safe-area';
|
|
9
|
-
import {
|
|
9
|
+
import { useMemoizedFn } from 'ahooks';
|
|
10
10
|
var classPrefix = 'adm-number-keyboard';
|
|
11
11
|
var defaultProps = {
|
|
12
12
|
defaultVisible: false,
|
|
@@ -43,7 +43,7 @@ export var NumberKeyboard = function NumberKeyboard(p) {
|
|
|
43
43
|
}, [customKey, confirmText, randomOrder, randomOrder && visible]);
|
|
44
44
|
var timeoutRef = useRef(-1);
|
|
45
45
|
var intervalRef = useRef(-1);
|
|
46
|
-
var onDelete =
|
|
46
|
+
var onDelete = useMemoizedFn(function () {
|
|
47
47
|
var _a;
|
|
48
48
|
|
|
49
49
|
(_a = props.onDelete) === null || _a === void 0 ? void 0 : _a.call(props);
|
|
@@ -7,7 +7,7 @@ import PickerView from '../picker-view';
|
|
|
7
7
|
import { useColumns } from '../picker-view/use-columns';
|
|
8
8
|
import { useConfig } from '../config-provider';
|
|
9
9
|
import { usePickerValueExtend } from '../picker-view/use-picker-value-extend';
|
|
10
|
-
import {
|
|
10
|
+
import { useMemoizedFn } from 'ahooks';
|
|
11
11
|
var classPrefix = "adm-picker";
|
|
12
12
|
var defaultProps = {
|
|
13
13
|
defaultValue: []
|
|
@@ -51,7 +51,7 @@ export var Picker = /*#__PURE__*/memo(function (p) {
|
|
|
51
51
|
setInnerValue(value);
|
|
52
52
|
}
|
|
53
53
|
}, [value]);
|
|
54
|
-
var onChange =
|
|
54
|
+
var onChange = useMemoizedFn(function (val, ext) {
|
|
55
55
|
var _a;
|
|
56
56
|
|
|
57
57
|
setInnerValue(val);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { memo, useCallback, useEffect, useState } from 'react';
|
|
2
2
|
import { mergeProps } from '../../utils/with-default-props';
|
|
3
|
-
import {
|
|
3
|
+
import { Wheel } from './wheel';
|
|
4
4
|
import { useColumns } from './use-columns';
|
|
5
5
|
import { withNativeProps } from '../../utils/native-props';
|
|
6
6
|
import { usePickerValueExtend } from './use-picker-value-extend';
|
|
@@ -56,7 +56,7 @@ export var PickerView = /*#__PURE__*/memo(function (p) {
|
|
|
56
56
|
return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
|
|
57
57
|
className: "" + classPrefix
|
|
58
58
|
}, columns.map(function (column, index) {
|
|
59
|
-
return /*#__PURE__*/React.createElement(
|
|
59
|
+
return /*#__PURE__*/React.createElement(Wheel, {
|
|
60
60
|
key: index,
|
|
61
61
|
index: index,
|
|
62
62
|
column: column,
|
|
@@ -6,7 +6,7 @@ import { rubberbandIfOutOfBounds } from '../../utils/rubberband';
|
|
|
6
6
|
import { bound } from '../../utils/bound';
|
|
7
7
|
import isEqual from 'lodash/isEqual';
|
|
8
8
|
var classPrefix = "adm-picker-view";
|
|
9
|
-
export var
|
|
9
|
+
export var Wheel = /*#__PURE__*/memo(function (props) {
|
|
10
10
|
var itemHeight = convertPx(34);
|
|
11
11
|
var value = props.value,
|
|
12
12
|
column = props.column;
|
|
@@ -63,7 +63,9 @@ export var Column = /*#__PURE__*/memo(function (props) {
|
|
|
63
63
|
api.start({
|
|
64
64
|
y: finalPosition
|
|
65
65
|
});
|
|
66
|
-
|
|
66
|
+
var item = column[index];
|
|
67
|
+
if (!item) return;
|
|
68
|
+
onSelect(item.value);
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
var bind = useDrag(function (state) {
|
|
@@ -74,7 +76,7 @@ export var Column = /*#__PURE__*/memo(function (props) {
|
|
|
74
76
|
if (state.last) {
|
|
75
77
|
draggingRef.current = false;
|
|
76
78
|
var position = state.offset[1] + state.velocity[1] * state.direction[1] * 50;
|
|
77
|
-
var targetIndex = -Math.round(bound(position, min, max) / itemHeight);
|
|
79
|
+
var targetIndex = min < max ? -Math.round(bound(position, min, max) / itemHeight) : 0;
|
|
78
80
|
scrollSelect(targetIndex);
|
|
79
81
|
} else {
|
|
80
82
|
var _position = state.offset[1];
|
|
@@ -156,6 +158,7 @@ export var Column = /*#__PURE__*/memo(function (props) {
|
|
|
156
158
|
}, item.label));
|
|
157
159
|
})), renderAccessible());
|
|
158
160
|
}, function (prev, next) {
|
|
161
|
+
if (prev.index !== next.index) return false;
|
|
159
162
|
if (prev.value !== next.value) return false;
|
|
160
163
|
if (prev.onSelect !== next.onSelect) return false;
|
|
161
164
|
|
|
@@ -165,4 +168,4 @@ export var Column = /*#__PURE__*/memo(function (props) {
|
|
|
165
168
|
|
|
166
169
|
return true;
|
|
167
170
|
});
|
|
168
|
-
|
|
171
|
+
Wheel.displayName = 'Wheel';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './skeleton.less';
|
|
3
|
+
export type { SkeletonProps, SkeletonTitleProps } from './skeleton';
|
|
4
|
+
declare const _default: import("react").FC<import("./skeleton").SkeletonProps> & {
|
|
5
|
+
Title: import("react").FC<import("./skeleton").SkeletonTitleProps>;
|
|
6
|
+
Paragraph: import("react").FC<import("./skeleton").SkeletonParagraphProps>;
|
|
7
|
+
};
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./skeleton.css";
|
|
2
|
+
import { Skeleton, SkeletonParagraph, SkeletonTitle } from './skeleton';
|
|
3
|
+
import { attachPropertiesToComponent } from '../../utils/attach-properties-to-component';
|
|
4
|
+
export default attachPropertiesToComponent(Skeleton, {
|
|
5
|
+
Title: SkeletonTitle,
|
|
6
|
+
Paragraph: SkeletonParagraph
|
|
7
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.adm-skeleton {
|
|
2
|
+
--width: 100%;
|
|
3
|
+
--height: 0;
|
|
4
|
+
--border-radius: 0;
|
|
5
|
+
background-color: rgba(190, 190, 190, 0.2);
|
|
6
|
+
border-radius: var(--border-radius);
|
|
7
|
+
width: var(--width);
|
|
8
|
+
height: var(--height);
|
|
9
|
+
display: block;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.adm-skeleton.adm-skeleton-animated {
|
|
13
|
+
background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);
|
|
14
|
+
background-size: 400% 100%;
|
|
15
|
+
animation: adm-skeleton-loading 1.4s ease infinite;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.adm-skeleton.adm-skeleton-title {
|
|
19
|
+
--width: 45%;
|
|
20
|
+
--height: 64px;
|
|
21
|
+
--border-radius: 4px;
|
|
22
|
+
margin-bottom: 32px;
|
|
23
|
+
margin-top: 32px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.adm-skeleton.adm-skeleton-paragraph-line {
|
|
27
|
+
--height: 36px;
|
|
28
|
+
--border-radius: 4px;
|
|
29
|
+
margin-top: 24px;
|
|
30
|
+
margin-bottom: 24px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.adm-skeleton.adm-skeleton-paragraph-line:last-child {
|
|
34
|
+
--width: 65%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@keyframes adm-skeleton-loading {
|
|
38
|
+
0% {
|
|
39
|
+
background-position: 100% 50%;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
100% {
|
|
43
|
+
background-position: 0 50%;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { NativeProps } from '../../utils/native-props';
|
|
3
|
+
export declare type SkeletonProps = {
|
|
4
|
+
animated?: boolean;
|
|
5
|
+
} & NativeProps<'--width' | '--height' | '--border-radius'>;
|
|
6
|
+
export declare const Skeleton: FC<SkeletonProps>;
|
|
7
|
+
export declare type SkeletonTitleProps = {
|
|
8
|
+
animated?: boolean;
|
|
9
|
+
} & NativeProps;
|
|
10
|
+
export declare const SkeletonTitle: FC<SkeletonTitleProps>;
|
|
11
|
+
export declare type SkeletonParagraphProps = {
|
|
12
|
+
animated?: boolean;
|
|
13
|
+
lineCount?: number;
|
|
14
|
+
} & NativeProps;
|
|
15
|
+
export declare const SkeletonParagraph: FC<SkeletonParagraphProps>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { withNativeProps } from '../../utils/native-props';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import { generateIntArray } from '../../utils/generate-int-array';
|
|
5
|
+
import { mergeProps } from '../../utils/with-default-props';
|
|
6
|
+
var classPrefix = 'adm-skeleton';
|
|
7
|
+
export var Skeleton = function Skeleton(props) {
|
|
8
|
+
var _classNames;
|
|
9
|
+
|
|
10
|
+
return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
|
|
11
|
+
className: classNames(classPrefix, (_classNames = {}, _classNames[classPrefix + "-animated"] = props.animated, _classNames))
|
|
12
|
+
}));
|
|
13
|
+
};
|
|
14
|
+
export var SkeletonTitle = function SkeletonTitle(props) {
|
|
15
|
+
return withNativeProps(props, /*#__PURE__*/React.createElement(Skeleton, {
|
|
16
|
+
animated: props.animated,
|
|
17
|
+
className: classPrefix + "-title"
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
var defaultSkeletonParagraphProps = {
|
|
21
|
+
lineCount: 3
|
|
22
|
+
};
|
|
23
|
+
export var SkeletonParagraph = function SkeletonParagraph(p) {
|
|
24
|
+
var props = mergeProps(defaultSkeletonParagraphProps, p);
|
|
25
|
+
var keys = generateIntArray(1, props.lineCount);
|
|
26
|
+
var node = /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
className: classPrefix + "-paragraph"
|
|
28
|
+
}, keys.map(function (key) {
|
|
29
|
+
return /*#__PURE__*/React.createElement(Skeleton, {
|
|
30
|
+
key: key,
|
|
31
|
+
animated: props.animated,
|
|
32
|
+
className: classPrefix + "-paragraph-line"
|
|
33
|
+
});
|
|
34
|
+
}));
|
|
35
|
+
return withNativeProps(props, node);
|
|
36
|
+
};
|
|
@@ -9,6 +9,7 @@ export declare type StepperProps = Pick<InputProps, 'onFocus' | 'onBlur'> & {
|
|
|
9
9
|
step?: number;
|
|
10
10
|
digits?: number;
|
|
11
11
|
disabled?: boolean;
|
|
12
|
+
inputReadOnly?: boolean;
|
|
12
13
|
onChange?: (value: number) => void;
|
|
13
14
|
} & NativeProps<'--height' | '--input-width' | '--input-font-size' | '--border-radius' | '--border' | '--border-inner' | '--active-border' | '--button-font-size' | '--button-background-color' | '--button-width' | '--input-font-color' | '--button-text-color'>;
|
|
14
15
|
export declare const Stepper: FC<StepperProps>;
|
|
@@ -20,7 +20,8 @@ export var Stepper = function Stepper(p) {
|
|
|
20
20
|
var disabled = props.disabled,
|
|
21
21
|
step = props.step,
|
|
22
22
|
max = props.max,
|
|
23
|
-
min = props.min
|
|
23
|
+
min = props.min,
|
|
24
|
+
inputReadOnly = props.inputReadOnly;
|
|
24
25
|
|
|
25
26
|
var _usePropsValue = usePropsValue(props),
|
|
26
27
|
value = _usePropsValue[0],
|
|
@@ -113,7 +114,8 @@ export var Stepper = function Stepper(p) {
|
|
|
113
114
|
|
|
114
115
|
setHasFocus(false);
|
|
115
116
|
(_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
|
|
116
|
-
}
|
|
117
|
+
},
|
|
118
|
+
readOnly: inputReadOnly
|
|
117
119
|
}), /*#__PURE__*/React.createElement(Button, {
|
|
118
120
|
className: classPrefix + "-plus",
|
|
119
121
|
onClick: handlePlus,
|
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { withNativeProps } from '../../utils/native-props';
|
|
4
|
+
import { mergeProps } from '../../utils/with-default-props';
|
|
4
5
|
import Badge from '../badge';
|
|
6
|
+
import SafeArea from '../safe-area';
|
|
5
7
|
import { usePropsValue } from '../../utils/use-props-value';
|
|
6
8
|
export var TabBarItem = function TabBarItem() {
|
|
7
9
|
return null;
|
|
8
10
|
};
|
|
9
|
-
|
|
11
|
+
var classPrefix = "adm-tab-bar";
|
|
12
|
+
var defaultProps = {
|
|
13
|
+
safeArea: false
|
|
14
|
+
};
|
|
15
|
+
export var TabBar = function TabBar(p) {
|
|
10
16
|
var _a;
|
|
11
17
|
|
|
18
|
+
var props = mergeProps(defaultProps, p);
|
|
12
19
|
var firstActiveKey = null;
|
|
13
20
|
var items = [];
|
|
14
21
|
React.Children.forEach(props.children, function (child, index) {
|
|
@@ -32,28 +39,32 @@ export var TabBar = function TabBar(props) {
|
|
|
32
39
|
setActiveKey = _usePropsValue[1];
|
|
33
40
|
|
|
34
41
|
return withNativeProps(props, /*#__PURE__*/React.createElement("div", {
|
|
35
|
-
className:
|
|
42
|
+
className: classPrefix
|
|
43
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
className: classPrefix + "-wrap"
|
|
36
45
|
}, items.map(function (item) {
|
|
46
|
+
var _classNames;
|
|
47
|
+
|
|
37
48
|
var active = item.key === activeKey;
|
|
38
49
|
|
|
39
50
|
function renderContent() {
|
|
40
51
|
var iconElement = item.props.icon && /*#__PURE__*/React.createElement("div", {
|
|
41
|
-
className:
|
|
52
|
+
className: classPrefix + "-item-icon"
|
|
42
53
|
}, typeof item.props.icon === 'function' ? item.props.icon(active) : item.props.icon);
|
|
43
54
|
var titleElement = item.props.title && /*#__PURE__*/React.createElement("div", {
|
|
44
|
-
className:
|
|
55
|
+
className: classPrefix + "-item-title"
|
|
45
56
|
}, item.props.title);
|
|
46
57
|
|
|
47
58
|
if (iconElement) {
|
|
48
59
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Badge, {
|
|
49
60
|
content: item.props.badge,
|
|
50
|
-
className:
|
|
61
|
+
className: classPrefix + "-icon-badge"
|
|
51
62
|
}, iconElement), titleElement);
|
|
52
63
|
} else if (titleElement) {
|
|
53
|
-
return /*#__PURE__*/React.createElement(
|
|
64
|
+
return /*#__PURE__*/React.createElement(Badge, {
|
|
54
65
|
content: item.props.badge,
|
|
55
|
-
className:
|
|
56
|
-
}, titleElement)
|
|
66
|
+
className: classPrefix + "-title-badge"
|
|
67
|
+
}, titleElement);
|
|
57
68
|
}
|
|
58
69
|
|
|
59
70
|
return null;
|
|
@@ -66,9 +77,9 @@ export var TabBar = function TabBar(props) {
|
|
|
66
77
|
if (key === undefined || key === null) return;
|
|
67
78
|
setActiveKey(key.toString());
|
|
68
79
|
},
|
|
69
|
-
className: classNames(
|
|
70
|
-
'adm-tab-bar-item-active': active
|
|
71
|
-
})
|
|
80
|
+
className: classNames(classPrefix + "-item", (_classNames = {}, _classNames[classPrefix + "-item-active"] = active, _classNames))
|
|
72
81
|
}, renderContent()));
|
|
82
|
+
})), props.safeArea && /*#__PURE__*/React.createElement(SafeArea, {
|
|
83
|
+
position: 'bottom'
|
|
73
84
|
})));
|
|
74
85
|
};
|
package/2x/es/index.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export { default as NavBar } from './components/nav-bar';
|
|
|
41
41
|
export { default as NoticeBar } from './components/notice-bar';
|
|
42
42
|
export { default as NumberKeyboard } from './components/number-keyboard';
|
|
43
43
|
export { default as PageIndicator } from './components/page-indicator';
|
|
44
|
+
export { default as PasscodeInput } from './components/passcode-input';
|
|
44
45
|
export { default as Picker } from './components/picker';
|
|
45
46
|
export { default as PickerView } from './components/picker-view';
|
|
46
47
|
export { default as Popover } from './components/popover';
|
|
@@ -57,6 +58,7 @@ export { default as Search } from './components/search-bar';
|
|
|
57
58
|
export { default as SearchBar } from './components/search-bar';
|
|
58
59
|
export { default as Selector } from './components/selector';
|
|
59
60
|
export { default as SideBar } from './components/side-bar';
|
|
61
|
+
export { default as Skeleton } from './components/skeleton';
|
|
60
62
|
export { default as Slider } from './components/slider';
|
|
61
63
|
export { default as Space } from './components/space';
|
|
62
64
|
export { default as Stepper } from './components//stepper';
|
|
@@ -72,4 +74,3 @@ export { default as Toast } from './components/toast';
|
|
|
72
74
|
export { default as TreeSelect } from './components/tree-select';
|
|
73
75
|
export { default as VirtualInput } from './components/virtual-input';
|
|
74
76
|
export { default as WaterMark } from './components/water-mark';
|
|
75
|
-
export { default as PasscodeInput } from './components/passcode-input';
|
package/2x/es/index.js
CHANGED
|
@@ -41,6 +41,7 @@ export { default as NavBar } from './components/nav-bar';
|
|
|
41
41
|
export { default as NoticeBar } from './components/notice-bar';
|
|
42
42
|
export { default as NumberKeyboard } from './components/number-keyboard';
|
|
43
43
|
export { default as PageIndicator } from './components/page-indicator';
|
|
44
|
+
export { default as PasscodeInput } from './components/passcode-input';
|
|
44
45
|
export { default as Picker } from './components/picker';
|
|
45
46
|
export { default as PickerView } from './components/picker-view';
|
|
46
47
|
export { default as Popover } from './components/popover';
|
|
@@ -58,6 +59,7 @@ export { default as Search } from './components/search-bar'; // TODO: deprecated
|
|
|
58
59
|
export { default as SearchBar } from './components/search-bar';
|
|
59
60
|
export { default as Selector } from './components/selector';
|
|
60
61
|
export { default as SideBar } from './components/side-bar';
|
|
62
|
+
export { default as Skeleton } from './components/skeleton';
|
|
61
63
|
export { default as Slider } from './components/slider';
|
|
62
64
|
export { default as Space } from './components/space';
|
|
63
65
|
export { default as Stepper } from './components//stepper';
|
|
@@ -72,5 +74,4 @@ export { default as TextArea } from './components/text-area';
|
|
|
72
74
|
export { default as Toast } from './components/toast';
|
|
73
75
|
export { default as TreeSelect } from './components/tree-select';
|
|
74
76
|
export { default as VirtualInput } from './components/virtual-input';
|
|
75
|
-
export { default as WaterMark } from './components/water-mark';
|
|
76
|
-
export { default as PasscodeInput } from './components/passcode-input';
|
|
77
|
+
export { default as WaterMark } from './components/water-mark';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useMemoizedFn } from 'ahooks';
|
|
3
3
|
export function useMutationEffect(effect, targetRef, options) {
|
|
4
|
-
var fn =
|
|
4
|
+
var fn = useMemoizedFn(effect);
|
|
5
5
|
useEffect(function () {
|
|
6
6
|
var observer = new MutationObserver(function () {
|
|
7
7
|
fn();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useMemoizedFn, useUpdate } from 'ahooks';
|
|
3
3
|
export function usePropsValue(options) {
|
|
4
4
|
var value = options.value,
|
|
5
5
|
defaultValue = options.defaultValue,
|
|
@@ -11,7 +11,7 @@ export function usePropsValue(options) {
|
|
|
11
11
|
stateRef.current = value;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
var setState =
|
|
14
|
+
var setState = useMemoizedFn(function (v) {
|
|
15
15
|
if (value === undefined) {
|
|
16
16
|
stateRef.current = v;
|
|
17
17
|
update();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useLayoutEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useMemoizedFn } from 'ahooks';
|
|
3
3
|
export function useResizeEffect(effect, targetRef) {
|
|
4
|
-
var fn =
|
|
4
|
+
var fn = useMemoizedFn(effect);
|
|
5
5
|
useLayoutEffect(function () {
|
|
6
6
|
var target = targetRef.current;
|
|
7
7
|
if (!target) return;
|
package/2x/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antd-mobile",
|
|
3
|
-
"version": "5.0.0-rc.
|
|
3
|
+
"version": "5.0.0-rc.8",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@react-spring/web": "^9.3.
|
|
5
|
+
"@react-spring/web": "^9.3.2",
|
|
6
6
|
"@types/resize-observer-browser": "^0.1.6",
|
|
7
7
|
"@use-gesture/react": "^10.2.4",
|
|
8
|
-
"ahooks": "^
|
|
8
|
+
"ahooks": "^3.1.1",
|
|
9
9
|
"antd-mobile-icons": "^0.2.2",
|
|
10
10
|
"antd-mobile-v5-count": "^1.0.1",
|
|
11
11
|
"classnames": "^2.3.1",
|
package/README.md
CHANGED
|
@@ -28,6 +28,10 @@ If you found bugs or would like to request some new features, please consider op
|
|
|
28
28
|
|
|
29
29
|
If you have some question about how to use ant-mobile, you can start a [discussion thread](https://github.com/ant-design/ant-design-mobile/discussions).
|
|
30
30
|
|
|
31
|
+
Feel free to join our DingDing group:
|
|
32
|
+
|
|
33
|
+
<img src="https://gw.alipayobjects.com/mdn/rms_25513e/afts/img/A*fo-tQ5wRk5QAAAAAAAAAAAAAARQnAQ" alt="ding-group" width="360" />
|
|
34
|
+
|
|
31
35
|
---
|
|
32
36
|
|
|
33
37
|
Thanks to all the contributors of antd-mobile:
|
|
@@ -52,7 +52,7 @@ var DatePicker = function DatePicker(p) {
|
|
|
52
52
|
var onConfirm = (0, _react.useCallback)(function (val) {
|
|
53
53
|
setValue((0, _datePickerUtils.convertStringArrayToDate)(val, props.precision));
|
|
54
54
|
}, [setValue, props.precision]);
|
|
55
|
-
var onSelect = (0, _ahooks.
|
|
55
|
+
var onSelect = (0, _ahooks.useMemoizedFn)(function (val) {
|
|
56
56
|
var _a;
|
|
57
57
|
|
|
58
58
|
var date = (0, _datePickerUtils.convertStringArrayToDate)(val, props.precision);
|
|
@@ -15,7 +15,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
15
15
|
|
|
16
16
|
var LazyDetector = function LazyDetector(props) {
|
|
17
17
|
var ref = (0, _react.useRef)(null);
|
|
18
|
-
|
|
18
|
+
|
|
19
|
+
var _useInViewport = (0, _ahooks.useInViewport)(ref),
|
|
20
|
+
inViewport = _useInViewport[0];
|
|
21
|
+
|
|
19
22
|
(0, _react.useEffect)(function () {
|
|
20
23
|
if (inViewport) {
|
|
21
24
|
props.onActive();
|
|
@@ -79,7 +79,7 @@ var ImageUploader = function ImageUploader(p) {
|
|
|
79
79
|
value = _usePropsValue[0],
|
|
80
80
|
setValue = _usePropsValue[1];
|
|
81
81
|
|
|
82
|
-
var updateValue = (0, _ahooks.
|
|
82
|
+
var updateValue = (0, _ahooks.useMemoizedFn)(function (updater) {
|
|
83
83
|
setValue(updater(value));
|
|
84
84
|
});
|
|
85
85
|
|
|
@@ -190,9 +190,15 @@ var ImageUploader = function ImageUploader(p) {
|
|
|
190
190
|
});
|
|
191
191
|
});
|
|
192
192
|
updateValue(function (prev) {
|
|
193
|
-
|
|
193
|
+
var newVal = {
|
|
194
194
|
url: result.url
|
|
195
|
-
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
if (result.extra !== undefined) {
|
|
198
|
+
newVal.extra = result.extra;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
return [].concat(prev, [newVal]);
|
|
196
202
|
});
|
|
197
203
|
_context.next = 12;
|
|
198
204
|
break;
|
|
@@ -107,11 +107,6 @@ var Slide = function Slide(props) {
|
|
|
107
107
|
}
|
|
108
108
|
},
|
|
109
109
|
pinch: {
|
|
110
|
-
transform: function transform(_ref) {
|
|
111
|
-
var d = _ref[0],
|
|
112
|
-
a = _ref[1];
|
|
113
|
-
return [d < 0 ? d * 0.5 : d * 2, 0];
|
|
114
|
-
},
|
|
115
110
|
from: function from() {
|
|
116
111
|
return [zoom.get(), 0];
|
|
117
112
|
}
|