antd-mobile 5.33.0 → 5.33.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/2x/README.md +1 -1
- package/2x/bundle/antd-mobile.cjs.development.js +54 -28
- package/2x/bundle/antd-mobile.cjs.js +9 -9
- package/2x/bundle/antd-mobile.es.development.js +54 -28
- package/2x/bundle/antd-mobile.es.js +1979 -1958
- package/2x/bundle/antd-mobile.umd.development.js +54 -28
- package/2x/bundle/antd-mobile.umd.js +9 -9
- package/2x/bundle/style.css +2 -2
- package/2x/cjs/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/2x/cjs/components/calendar-picker/calendar-picker.js +5 -3
- package/2x/cjs/components/cascader/cascader.js +6 -1
- package/2x/cjs/components/cascader-view/cascader-view.js +4 -1
- package/2x/cjs/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/2x/cjs/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/2x/cjs/components/image-viewer/image-viewer.d.ts +4 -0
- package/2x/cjs/components/image-viewer/image-viewer.js +11 -8
- package/2x/cjs/components/number-keyboard/number-keyboard.js +5 -1
- package/2x/cjs/components/popover/popover-menu.js +3 -1
- package/2x/cjs/components/popover/popover.js +5 -5
- package/2x/cjs/components/popup/popup.js +1 -0
- package/2x/cjs/components/switch/switch.css +2 -2
- package/2x/cjs/components/virtual-input/virtual-input.js +10 -3
- package/2x/es/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/2x/es/components/calendar-picker/calendar-picker.js +5 -3
- package/2x/es/components/cascader/cascader.js +6 -1
- package/2x/es/components/cascader-view/cascader-view.js +4 -1
- package/2x/es/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/2x/es/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/2x/es/components/image-viewer/image-viewer.d.ts +4 -0
- package/2x/es/components/image-viewer/image-viewer.js +11 -8
- package/2x/es/components/number-keyboard/number-keyboard.js +5 -1
- package/2x/es/components/popover/popover-menu.js +3 -1
- package/2x/es/components/popover/popover.js +5 -5
- package/2x/es/components/popup/popup.js +1 -0
- package/2x/es/components/switch/switch.css +2 -2
- package/2x/es/components/virtual-input/virtual-input.js +10 -3
- package/2x/package.json +1 -1
- package/README.md +1 -1
- package/bundle/antd-mobile.cjs.development.js +54 -28
- package/bundle/antd-mobile.cjs.js +9 -9
- package/bundle/antd-mobile.compatible.umd.js +1 -1
- package/bundle/antd-mobile.es.development.js +54 -28
- package/bundle/antd-mobile.es.js +1979 -1958
- package/bundle/antd-mobile.umd.development.js +54 -28
- package/bundle/antd-mobile.umd.js +9 -9
- package/bundle/style.css +1 -1
- package/cjs/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/cjs/components/calendar-picker/calendar-picker.js +5 -3
- package/cjs/components/cascader/cascader.js +6 -1
- package/cjs/components/cascader-view/cascader-view.js +4 -1
- package/cjs/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/cjs/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/cjs/components/image-viewer/image-viewer.d.ts +4 -0
- package/cjs/components/image-viewer/image-viewer.js +11 -8
- package/cjs/components/number-keyboard/number-keyboard.js +5 -1
- package/cjs/components/popover/popover-menu.js +3 -1
- package/cjs/components/popover/popover.js +5 -5
- package/cjs/components/popup/popup.js +1 -0
- package/cjs/components/switch/switch.css +2 -2
- package/cjs/components/virtual-input/virtual-input.js +10 -3
- package/es/components/calendar-picker/calendar-picker.d.ts +5 -0
- package/es/components/calendar-picker/calendar-picker.js +5 -3
- package/es/components/cascader/cascader.js +6 -1
- package/es/components/cascader-view/cascader-view.js +4 -1
- package/es/components/cascader-view/use-cascader-value-extend.d.ts +3 -2
- package/es/components/cascader-view/use-cascader-value-extend.js +9 -5
- package/es/components/image-viewer/image-viewer.d.ts +4 -0
- package/es/components/image-viewer/image-viewer.js +11 -8
- package/es/components/number-keyboard/number-keyboard.js +5 -1
- package/es/components/popover/popover-menu.js +3 -1
- package/es/components/popover/popover.js +5 -5
- package/es/components/popup/popup.js +1 -0
- package/es/components/switch/switch.css +2 -2
- package/es/components/virtual-input/virtual-input.js +10 -3
- package/package.json +1 -1
- package/umd/antd-mobile.js +1 -1
package/2x/bundle/style.css
CHANGED
|
@@ -5228,7 +5228,7 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
|
|
|
5228
5228
|
display: flex;
|
|
5229
5229
|
justify-content: center;
|
|
5230
5230
|
align-items: center;
|
|
5231
|
-
margin: 0 16px 0 calc(var(--height) - var(--border-width) +
|
|
5231
|
+
margin: 0 16px 0 calc(var(--height) - var(--border-width) + 10px);
|
|
5232
5232
|
height: 100%;
|
|
5233
5233
|
color: var(--adm-color-weak);
|
|
5234
5234
|
transition: margin .2s;
|
|
@@ -5248,7 +5248,7 @@ a.adm-list-item:active:not(.adm-list-item-disabled):after {
|
|
|
5248
5248
|
}
|
|
5249
5249
|
|
|
5250
5250
|
.adm-switch.adm-switch-checked .adm-switch-inner {
|
|
5251
|
-
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0
|
|
5251
|
+
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0 16px;
|
|
5252
5252
|
color: var(--adm-color-text-light-solid);
|
|
5253
5253
|
}
|
|
5254
5254
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type GetContainer } from '../../utils/render-to-container';
|
|
2
3
|
import { CalendarPickerViewProps, CalendarPickerViewRef } from '../calendar-picker-view';
|
|
3
4
|
export declare type CalendarPickerRef = CalendarPickerViewRef;
|
|
4
5
|
export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
@@ -11,6 +12,7 @@ export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
|
11
12
|
closeOnMaskClick?: boolean;
|
|
12
13
|
onClose?: () => void;
|
|
13
14
|
onMaskClick?: () => void;
|
|
15
|
+
getContainer?: GetContainer;
|
|
14
16
|
} & ({
|
|
15
17
|
selectionMode?: undefined;
|
|
16
18
|
onConfirm?: undefined;
|
|
@@ -51,6 +53,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
51
53
|
closeOnMaskClick?: boolean | undefined;
|
|
52
54
|
onClose?: (() => void) | undefined;
|
|
53
55
|
onMaskClick?: (() => void) | undefined;
|
|
56
|
+
getContainer?: GetContainer | undefined;
|
|
54
57
|
} & {
|
|
55
58
|
selectionMode?: undefined;
|
|
56
59
|
onConfirm?: undefined;
|
|
@@ -84,6 +87,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
84
87
|
closeOnMaskClick?: boolean | undefined;
|
|
85
88
|
onClose?: (() => void) | undefined;
|
|
86
89
|
onMaskClick?: (() => void) | undefined;
|
|
90
|
+
getContainer?: GetContainer | undefined;
|
|
87
91
|
} & {
|
|
88
92
|
selectionMode: 'single';
|
|
89
93
|
onConfirm?: ((val: Date | null) => void) | undefined;
|
|
@@ -117,6 +121,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
117
121
|
closeOnMaskClick?: boolean | undefined;
|
|
118
122
|
onClose?: (() => void) | undefined;
|
|
119
123
|
onMaskClick?: (() => void) | undefined;
|
|
124
|
+
getContainer?: GetContainer | undefined;
|
|
120
125
|
} & {
|
|
121
126
|
selectionMode: 'range';
|
|
122
127
|
onConfirm?: ((val: [Date, Date] | null) => void) | undefined;
|
|
@@ -41,9 +41,10 @@ const CalendarPicker = (0, _react.forwardRef)((p, ref) => {
|
|
|
41
41
|
closeOnMaskClick,
|
|
42
42
|
onClose,
|
|
43
43
|
onConfirm,
|
|
44
|
-
onMaskClick
|
|
44
|
+
onMaskClick,
|
|
45
|
+
getContainer
|
|
45
46
|
} = props,
|
|
46
|
-
calendarViewProps = (0, _tslib.__rest)(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick"]);
|
|
47
|
+
calendarViewProps = (0, _tslib.__rest)(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick", "getContainer"]);
|
|
47
48
|
const footer = _react.default.createElement("div", {
|
|
48
49
|
className: `${classPrefix}-footer`
|
|
49
50
|
}, _react.default.createElement(_divider.default, null), _react.default.createElement("div", {
|
|
@@ -81,7 +82,8 @@ const CalendarPicker = (0, _react.forwardRef)((p, ref) => {
|
|
|
81
82
|
if (closeOnMaskClick) {
|
|
82
83
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
83
84
|
}
|
|
84
|
-
}
|
|
85
|
+
},
|
|
86
|
+
getContainer: getContainer
|
|
85
87
|
}, _react.default.createElement(_calendarPickerView.default, Object.assign({
|
|
86
88
|
ref: calendarRef
|
|
87
89
|
}, calendarViewProps)), footer)));
|
|
@@ -12,6 +12,7 @@ var _usePropsValue = require("../../utils/use-props-value");
|
|
|
12
12
|
var _cascaderView = _interopRequireDefault(require("../cascader-view"));
|
|
13
13
|
var _configProvider = require("../config-provider");
|
|
14
14
|
var _useCascaderValueExtend = require("../cascader-view/use-cascader-value-extend");
|
|
15
|
+
var _hooks = require("../../hooks");
|
|
15
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
17
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
18
|
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; }
|
|
@@ -59,7 +60,11 @@ const Cascader = (0, _react.forwardRef)((p, ref) => {
|
|
|
59
60
|
(_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, generateValueExtend(val));
|
|
60
61
|
}
|
|
61
62
|
}));
|
|
62
|
-
const
|
|
63
|
+
const [, valueName, childrenName] = (0, _hooks.useFieldNames)(props.fieldNames);
|
|
64
|
+
const generateValueExtend = (0, _useCascaderValueExtend.useCascaderValueExtend)(props.options, {
|
|
65
|
+
valueName,
|
|
66
|
+
childrenName
|
|
67
|
+
});
|
|
63
68
|
const [innerValue, setInnerValue] = (0, _react.useState)(value);
|
|
64
69
|
(0, _react.useEffect)(() => {
|
|
65
70
|
if (!visible) {
|
|
@@ -29,8 +29,11 @@ const CascaderView = p => {
|
|
|
29
29
|
const {
|
|
30
30
|
locale
|
|
31
31
|
} = (0, _configProvider.useConfig)();
|
|
32
|
-
const generateValueExtend = (0, _useCascaderValueExtend.useCascaderValueExtend)(props.options);
|
|
33
32
|
const [labelName, valueName, childrenName, disabledName] = (0, _hooks.useFieldNames)(props.fieldNames);
|
|
33
|
+
const generateValueExtend = (0, _useCascaderValueExtend.useCascaderValueExtend)(props.options, {
|
|
34
|
+
valueName,
|
|
35
|
+
childrenName
|
|
36
|
+
});
|
|
34
37
|
const [value, setValue] = (0, _usePropsValue.usePropsValue)(Object.assign(Object.assign({}, props), {
|
|
35
38
|
onChange: val => {
|
|
36
39
|
var _a;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { CascaderValue, CascaderValueExtend
|
|
2
|
-
|
|
1
|
+
import { CascaderValue, CascaderValueExtend } from './cascader-view';
|
|
2
|
+
import type { CascaderOption } from './cascader-view';
|
|
3
|
+
export declare function useCascaderValueExtend(options: CascaderOption[], fieldNames: CascaderOption): (val: CascaderValue[]) => CascaderValueExtend;
|
|
@@ -7,19 +7,23 @@ exports.useCascaderValueExtend = useCascaderValueExtend;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _memoize = _interopRequireDefault(require("lodash/memoize"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function useCascaderValueExtend(options) {
|
|
10
|
+
function useCascaderValueExtend(options, fieldNames) {
|
|
11
|
+
const {
|
|
12
|
+
valueName,
|
|
13
|
+
childrenName
|
|
14
|
+
} = fieldNames;
|
|
11
15
|
const generateItems = (0, _react.useMemo)(() => {
|
|
12
16
|
return (0, _memoize.default)(val => {
|
|
13
17
|
const ret = [];
|
|
14
18
|
let currentOptions = options;
|
|
15
19
|
for (const v of val) {
|
|
16
|
-
const target = currentOptions.find(option => option
|
|
20
|
+
const target = currentOptions.find(option => option[valueName] === v);
|
|
17
21
|
if (!target) {
|
|
18
22
|
break;
|
|
19
23
|
}
|
|
20
24
|
ret.push(target);
|
|
21
|
-
if (!target
|
|
22
|
-
currentOptions = target
|
|
25
|
+
if (!target[childrenName]) break;
|
|
26
|
+
currentOptions = target[childrenName];
|
|
23
27
|
}
|
|
24
28
|
return ret;
|
|
25
29
|
}, val => JSON.stringify(val));
|
|
@@ -28,7 +32,7 @@ function useCascaderValueExtend(options) {
|
|
|
28
32
|
return (0, _memoize.default)(val => {
|
|
29
33
|
const children = val.reduce((currentOptions, v) => {
|
|
30
34
|
var _a;
|
|
31
|
-
return ((_a = currentOptions.find(option => option
|
|
35
|
+
return ((_a = currentOptions.find(option => option[valueName] === v)) === null || _a === void 0 ? void 0 : _a[childrenName]) || [];
|
|
32
36
|
}, options);
|
|
33
37
|
return children.length === 0;
|
|
34
38
|
}, val => JSON.stringify(val));
|
|
@@ -10,6 +10,10 @@ export declare type ImageViewerProps = {
|
|
|
10
10
|
onClose?: () => void;
|
|
11
11
|
afterClose?: () => void;
|
|
12
12
|
renderFooter?: (image: string) => ReactNode;
|
|
13
|
+
classNames?: {
|
|
14
|
+
mask?: string;
|
|
15
|
+
body?: string;
|
|
16
|
+
};
|
|
13
17
|
};
|
|
14
18
|
export declare const ImageViewer: FC<ImageViewerProps>;
|
|
15
19
|
export declare type MultiImageViewerRef = SlidesRef;
|
|
@@ -11,6 +11,7 @@ var _mask = _interopRequireDefault(require("../mask"));
|
|
|
11
11
|
var _safeArea = _interopRequireDefault(require("../safe-area"));
|
|
12
12
|
var _slide = require("./slide");
|
|
13
13
|
var _slides = require("./slides");
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
17
|
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; }
|
|
@@ -21,23 +22,24 @@ const defaultProps = {
|
|
|
21
22
|
visible: false
|
|
22
23
|
};
|
|
23
24
|
const ImageViewer = p => {
|
|
24
|
-
var _a;
|
|
25
|
+
var _a, _b, _c;
|
|
25
26
|
const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
|
|
26
27
|
const node = _react.default.createElement(_mask.default, {
|
|
27
28
|
visible: props.visible,
|
|
28
29
|
disableBodyScroll: false,
|
|
29
30
|
opacity: 'thick',
|
|
30
31
|
afterClose: props.afterClose,
|
|
31
|
-
destroyOnClose: true
|
|
32
|
+
destroyOnClose: true,
|
|
33
|
+
className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask
|
|
32
34
|
}, _react.default.createElement("div", {
|
|
33
|
-
className: `${classPrefix}-content
|
|
35
|
+
className: (0, _classnames.default)(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)
|
|
34
36
|
}, props.image && _react.default.createElement(_slide.Slide, {
|
|
35
37
|
image: props.image,
|
|
36
38
|
onTap: props.onClose,
|
|
37
39
|
maxZoom: props.maxZoom
|
|
38
40
|
})), props.image && _react.default.createElement("div", {
|
|
39
41
|
className: `${classPrefix}-footer`
|
|
40
|
-
}, (
|
|
42
|
+
}, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.image), _react.default.createElement(_safeArea.default, {
|
|
41
43
|
position: 'bottom'
|
|
42
44
|
})));
|
|
43
45
|
return (0, _renderToContainer.renderToContainer)(props.getContainer, node);
|
|
@@ -47,7 +49,7 @@ const multiDefaultProps = Object.assign(Object.assign({}, defaultProps), {
|
|
|
47
49
|
defaultIndex: 0
|
|
48
50
|
});
|
|
49
51
|
const MultiImageViewer = (0, _react.forwardRef)((p, ref) => {
|
|
50
|
-
var _a;
|
|
52
|
+
var _a, _b, _c;
|
|
51
53
|
const props = (0, _withDefaultProps.mergeProps)(multiDefaultProps, p);
|
|
52
54
|
const [index, setIndex] = (0, _react.useState)(props.defaultIndex);
|
|
53
55
|
const slidesRef = (0, _react.useRef)(null);
|
|
@@ -69,9 +71,10 @@ const MultiImageViewer = (0, _react.forwardRef)((p, ref) => {
|
|
|
69
71
|
disableBodyScroll: false,
|
|
70
72
|
opacity: 'thick',
|
|
71
73
|
afterClose: props.afterClose,
|
|
72
|
-
destroyOnClose: true
|
|
74
|
+
destroyOnClose: true,
|
|
75
|
+
className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask
|
|
73
76
|
}, _react.default.createElement("div", {
|
|
74
|
-
className: `${classPrefix}-content
|
|
77
|
+
className: (0, _classnames.default)(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)
|
|
75
78
|
}, props.images && _react.default.createElement(_slides.Slides, {
|
|
76
79
|
ref: slidesRef,
|
|
77
80
|
defaultIndex: index,
|
|
@@ -81,7 +84,7 @@ const MultiImageViewer = (0, _react.forwardRef)((p, ref) => {
|
|
|
81
84
|
maxZoom: props.maxZoom
|
|
82
85
|
})), props.images && _react.default.createElement("div", {
|
|
83
86
|
className: `${classPrefix}-footer`
|
|
84
|
-
}, (
|
|
87
|
+
}, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.images[index], index), _react.default.createElement(_safeArea.default, {
|
|
85
88
|
position: 'bottom'
|
|
86
89
|
})));
|
|
87
90
|
return (0, _renderToContainer.renderToContainer)(props.getContainer, node);
|
|
@@ -97,7 +97,7 @@ const NumberKeyboard = p => {
|
|
|
97
97
|
className: (0, _classnames.default)(`${classPrefix}-header`, {
|
|
98
98
|
[`${classPrefix}-header-with-title`]: !!title
|
|
99
99
|
})
|
|
100
|
-
},
|
|
100
|
+
}, !!title && _react.default.createElement("div", {
|
|
101
101
|
className: `${classPrefix}-title`,
|
|
102
102
|
"aria-label": title
|
|
103
103
|
}, title), showCloseButton && _react.default.createElement("span", {
|
|
@@ -172,6 +172,10 @@ const NumberKeyboard = p => {
|
|
|
172
172
|
onKeyPress(e, 'BACKSPACE');
|
|
173
173
|
onBackspacePressEnd();
|
|
174
174
|
},
|
|
175
|
+
onContextMenu: e => {
|
|
176
|
+
// Long press should not trigger native context menu
|
|
177
|
+
e.preventDefault();
|
|
178
|
+
},
|
|
175
179
|
title: 'BACKSPACE',
|
|
176
180
|
role: 'grid',
|
|
177
181
|
tabIndex: -1
|
|
@@ -41,7 +41,9 @@ const PopoverMenu = (0, _react.forwardRef)((props, ref) => {
|
|
|
41
41
|
var _a;
|
|
42
42
|
return _react.default.createElement("a", {
|
|
43
43
|
key: (_a = action.key) !== null && _a !== void 0 ? _a : index,
|
|
44
|
-
className: (0, _classnames.default)(`${classPrefix}-item`, 'adm-plain-anchor',
|
|
44
|
+
className: (0, _classnames.default)(`${classPrefix}-item`, 'adm-plain-anchor', {
|
|
45
|
+
[`${classPrefix}-item-disabled`]: action.disabled
|
|
46
|
+
}),
|
|
45
47
|
onClick: () => {
|
|
46
48
|
var _a;
|
|
47
49
|
if (action.disabled) return;
|
|
@@ -27,13 +27,11 @@ const defaultProps = {
|
|
|
27
27
|
placement: 'top',
|
|
28
28
|
defaultVisible: false,
|
|
29
29
|
stopPropagation: ['click'],
|
|
30
|
-
getContainer: () => document.body
|
|
30
|
+
getContainer: () => document.body,
|
|
31
|
+
mode: 'light'
|
|
31
32
|
};
|
|
32
33
|
const Popover = (0, _react.forwardRef)((p, ref) => {
|
|
33
34
|
const props = (0, _withDefaultProps.mergeProps)(defaultProps, p);
|
|
34
|
-
const {
|
|
35
|
-
mode = 'light'
|
|
36
|
-
} = props;
|
|
37
35
|
const placement = (0, _normalizePlacement.normalizePlacement)(props.placement);
|
|
38
36
|
const [visible, setVisible] = (0, _usePropsValue.usePropsValue)({
|
|
39
37
|
value: props.visible,
|
|
@@ -49,7 +47,9 @@ const Popover = (0, _react.forwardRef)((p, ref) => {
|
|
|
49
47
|
const floatingRef = (0, _react.useRef)(null);
|
|
50
48
|
const arrowRef = (0, _react.useRef)(null);
|
|
51
49
|
const floating = (0, _withStopPropagation.withStopPropagation)(props.stopPropagation, (0, _nativeProps.withNativeProps)(props, _react.default.createElement("div", {
|
|
52
|
-
className: (0, _classnames.default)(classPrefix, `${classPrefix}-${mode}`,
|
|
50
|
+
className: (0, _classnames.default)(classPrefix, `${classPrefix}-${props.mode}`, {
|
|
51
|
+
[`${classPrefix}-hidden`]: !visible
|
|
52
|
+
}),
|
|
53
53
|
ref: floatingRef
|
|
54
54
|
}, _react.default.createElement("div", {
|
|
55
55
|
className: `${classPrefix}-arrow`,
|
|
@@ -102,6 +102,7 @@ const Popup = p => {
|
|
|
102
102
|
}), _react.default.createElement(_web.animated.div, {
|
|
103
103
|
className: bodyCls,
|
|
104
104
|
style: Object.assign(Object.assign({}, props.bodyStyle), {
|
|
105
|
+
pointerEvents: percent.to(v => v === 0 ? 'unset' : 'none'),
|
|
105
106
|
transform: percent.to(v => {
|
|
106
107
|
if (props.position === 'bottom') {
|
|
107
108
|
return `translate(0, ${v}%)`;
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
display: flex;
|
|
73
73
|
justify-content: center;
|
|
74
74
|
align-items: center;
|
|
75
|
-
margin: 0 16px 0 calc(var(--height) - var(--border-width) +
|
|
75
|
+
margin: 0 16px 0 calc(var(--height) - var(--border-width) + 10px);
|
|
76
76
|
height: 100%;
|
|
77
77
|
color: var(--adm-color-weak);
|
|
78
78
|
transition: margin 200ms;
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
.adm-switch.adm-switch-checked .adm-switch-inner {
|
|
95
|
-
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0
|
|
95
|
+
margin: 0 calc(var(--height) - var(--border-width) + 10px) 0 16px;
|
|
96
96
|
color: var(--adm-color-text-light-solid);
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -80,9 +80,16 @@ const VirtualInput = (0, _react.forwardRef)((p, ref) => {
|
|
|
80
80
|
},
|
|
81
81
|
visible: hasFocus,
|
|
82
82
|
onClose: () => {
|
|
83
|
-
var _a, _b, _c;
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
var _a, _b, _c, _d;
|
|
84
|
+
const activeElement = document.activeElement;
|
|
85
|
+
// Long press makes `activeElement` to be the child of rootRef
|
|
86
|
+
// We will trigger blur on the child element instead
|
|
87
|
+
if (activeElement && ((_a = rootRef.current) === null || _a === void 0 ? void 0 : _a.contains(activeElement))) {
|
|
88
|
+
activeElement.blur();
|
|
89
|
+
} else {
|
|
90
|
+
(_b = rootRef.current) === null || _b === void 0 ? void 0 : _b.blur();
|
|
91
|
+
}
|
|
92
|
+
(_d = (_c = keyboard.props).onClose) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
86
93
|
},
|
|
87
94
|
getContainer: null
|
|
88
95
|
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type GetContainer } from '../../utils/render-to-container';
|
|
2
3
|
import { CalendarPickerViewProps, CalendarPickerViewRef } from '../calendar-picker-view';
|
|
3
4
|
export declare type CalendarPickerRef = CalendarPickerViewRef;
|
|
4
5
|
export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
@@ -11,6 +12,7 @@ export declare type CalendarPickerProps = CalendarPickerViewProps & {
|
|
|
11
12
|
closeOnMaskClick?: boolean;
|
|
12
13
|
onClose?: () => void;
|
|
13
14
|
onMaskClick?: () => void;
|
|
15
|
+
getContainer?: GetContainer;
|
|
14
16
|
} & ({
|
|
15
17
|
selectionMode?: undefined;
|
|
16
18
|
onConfirm?: undefined;
|
|
@@ -51,6 +53,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
51
53
|
closeOnMaskClick?: boolean | undefined;
|
|
52
54
|
onClose?: (() => void) | undefined;
|
|
53
55
|
onMaskClick?: (() => void) | undefined;
|
|
56
|
+
getContainer?: GetContainer | undefined;
|
|
54
57
|
} & {
|
|
55
58
|
selectionMode?: undefined;
|
|
56
59
|
onConfirm?: undefined;
|
|
@@ -84,6 +87,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
84
87
|
closeOnMaskClick?: boolean | undefined;
|
|
85
88
|
onClose?: (() => void) | undefined;
|
|
86
89
|
onMaskClick?: (() => void) | undefined;
|
|
90
|
+
getContainer?: GetContainer | undefined;
|
|
87
91
|
} & {
|
|
88
92
|
selectionMode: 'single';
|
|
89
93
|
onConfirm?: ((val: Date | null) => void) | undefined;
|
|
@@ -117,6 +121,7 @@ export declare const CalendarPicker: React.ForwardRefExoticComponent<(({
|
|
|
117
121
|
closeOnMaskClick?: boolean | undefined;
|
|
118
122
|
onClose?: (() => void) | undefined;
|
|
119
123
|
onMaskClick?: (() => void) | undefined;
|
|
124
|
+
getContainer?: GetContainer | undefined;
|
|
120
125
|
} & {
|
|
121
126
|
selectionMode: 'range';
|
|
122
127
|
onConfirm?: ((val: [Date, Date] | null) => void) | undefined;
|
|
@@ -32,9 +32,10 @@ export const CalendarPicker = forwardRef((p, ref) => {
|
|
|
32
32
|
closeOnMaskClick,
|
|
33
33
|
onClose,
|
|
34
34
|
onConfirm,
|
|
35
|
-
onMaskClick
|
|
35
|
+
onMaskClick,
|
|
36
|
+
getContainer
|
|
36
37
|
} = props,
|
|
37
|
-
calendarViewProps = __rest(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick"]);
|
|
38
|
+
calendarViewProps = __rest(props, ["visible", "confirmText", "popupClassName", "popupStyle", "popupBodyStyle", "forceRender", "closeOnMaskClick", "onClose", "onConfirm", "onMaskClick", "getContainer"]);
|
|
38
39
|
const footer = React.createElement("div", {
|
|
39
40
|
className: `${classPrefix}-footer`
|
|
40
41
|
}, React.createElement(Divider, null), React.createElement("div", {
|
|
@@ -72,7 +73,8 @@ export const CalendarPicker = forwardRef((p, ref) => {
|
|
|
72
73
|
if (closeOnMaskClick) {
|
|
73
74
|
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
74
75
|
}
|
|
75
|
-
}
|
|
76
|
+
},
|
|
77
|
+
getContainer: getContainer
|
|
76
78
|
}, React.createElement(CalendarPickerView, Object.assign({
|
|
77
79
|
ref: calendarRef
|
|
78
80
|
}, calendarViewProps)), footer)));
|
|
@@ -6,6 +6,7 @@ import { usePropsValue } from '../../utils/use-props-value';
|
|
|
6
6
|
import CascaderView from '../cascader-view';
|
|
7
7
|
import { useConfig } from '../config-provider';
|
|
8
8
|
import { useCascaderValueExtend } from '../cascader-view/use-cascader-value-extend';
|
|
9
|
+
import { useFieldNames } from '../../hooks';
|
|
9
10
|
const classPrefix = `adm-cascader`;
|
|
10
11
|
const defaultProps = {
|
|
11
12
|
defaultValue: [],
|
|
@@ -50,7 +51,11 @@ export const Cascader = forwardRef((p, ref) => {
|
|
|
50
51
|
(_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, val, generateValueExtend(val));
|
|
51
52
|
}
|
|
52
53
|
}));
|
|
53
|
-
const
|
|
54
|
+
const [, valueName, childrenName] = useFieldNames(props.fieldNames);
|
|
55
|
+
const generateValueExtend = useCascaderValueExtend(props.options, {
|
|
56
|
+
valueName,
|
|
57
|
+
childrenName
|
|
58
|
+
});
|
|
54
59
|
const [innerValue, setInnerValue] = useState(value);
|
|
55
60
|
useEffect(() => {
|
|
56
61
|
if (!visible) {
|
|
@@ -20,8 +20,11 @@ export const CascaderView = p => {
|
|
|
20
20
|
const {
|
|
21
21
|
locale
|
|
22
22
|
} = useConfig();
|
|
23
|
-
const generateValueExtend = useCascaderValueExtend(props.options);
|
|
24
23
|
const [labelName, valueName, childrenName, disabledName] = useFieldNames(props.fieldNames);
|
|
24
|
+
const generateValueExtend = useCascaderValueExtend(props.options, {
|
|
25
|
+
valueName,
|
|
26
|
+
childrenName
|
|
27
|
+
});
|
|
25
28
|
const [value, setValue] = usePropsValue(Object.assign(Object.assign({}, props), {
|
|
26
29
|
onChange: val => {
|
|
27
30
|
var _a;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { CascaderValue, CascaderValueExtend
|
|
2
|
-
|
|
1
|
+
import { CascaderValue, CascaderValueExtend } from './cascader-view';
|
|
2
|
+
import type { CascaderOption } from './cascader-view';
|
|
3
|
+
export declare function useCascaderValueExtend(options: CascaderOption[], fieldNames: CascaderOption): (val: CascaderValue[]) => CascaderValueExtend;
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { useMemo } from 'react';
|
|
2
2
|
import memoize from 'lodash/memoize';
|
|
3
|
-
export function useCascaderValueExtend(options) {
|
|
3
|
+
export function useCascaderValueExtend(options, fieldNames) {
|
|
4
|
+
const {
|
|
5
|
+
valueName,
|
|
6
|
+
childrenName
|
|
7
|
+
} = fieldNames;
|
|
4
8
|
const generateItems = useMemo(() => {
|
|
5
9
|
return memoize(val => {
|
|
6
10
|
const ret = [];
|
|
7
11
|
let currentOptions = options;
|
|
8
12
|
for (const v of val) {
|
|
9
|
-
const target = currentOptions.find(option => option
|
|
13
|
+
const target = currentOptions.find(option => option[valueName] === v);
|
|
10
14
|
if (!target) {
|
|
11
15
|
break;
|
|
12
16
|
}
|
|
13
17
|
ret.push(target);
|
|
14
|
-
if (!target
|
|
15
|
-
currentOptions = target
|
|
18
|
+
if (!target[childrenName]) break;
|
|
19
|
+
currentOptions = target[childrenName];
|
|
16
20
|
}
|
|
17
21
|
return ret;
|
|
18
22
|
}, val => JSON.stringify(val));
|
|
@@ -21,7 +25,7 @@ export function useCascaderValueExtend(options) {
|
|
|
21
25
|
return memoize(val => {
|
|
22
26
|
const children = val.reduce((currentOptions, v) => {
|
|
23
27
|
var _a;
|
|
24
|
-
return ((_a = currentOptions.find(option => option
|
|
28
|
+
return ((_a = currentOptions.find(option => option[valueName] === v)) === null || _a === void 0 ? void 0 : _a[childrenName]) || [];
|
|
25
29
|
}, options);
|
|
26
30
|
return children.length === 0;
|
|
27
31
|
}, val => JSON.stringify(val));
|
|
@@ -10,6 +10,10 @@ export declare type ImageViewerProps = {
|
|
|
10
10
|
onClose?: () => void;
|
|
11
11
|
afterClose?: () => void;
|
|
12
12
|
renderFooter?: (image: string) => ReactNode;
|
|
13
|
+
classNames?: {
|
|
14
|
+
mask?: string;
|
|
15
|
+
body?: string;
|
|
16
|
+
};
|
|
13
17
|
};
|
|
14
18
|
export declare const ImageViewer: FC<ImageViewerProps>;
|
|
15
19
|
export declare type MultiImageViewerRef = SlidesRef;
|
|
@@ -5,6 +5,7 @@ import Mask from '../mask';
|
|
|
5
5
|
import SafeArea from '../safe-area';
|
|
6
6
|
import { Slide } from './slide';
|
|
7
7
|
import { Slides } from './slides';
|
|
8
|
+
import classNames from 'classnames';
|
|
8
9
|
const classPrefix = `adm-image-viewer`;
|
|
9
10
|
const defaultProps = {
|
|
10
11
|
maxZoom: 3,
|
|
@@ -12,23 +13,24 @@ const defaultProps = {
|
|
|
12
13
|
visible: false
|
|
13
14
|
};
|
|
14
15
|
export const ImageViewer = p => {
|
|
15
|
-
var _a;
|
|
16
|
+
var _a, _b, _c;
|
|
16
17
|
const props = mergeProps(defaultProps, p);
|
|
17
18
|
const node = React.createElement(Mask, {
|
|
18
19
|
visible: props.visible,
|
|
19
20
|
disableBodyScroll: false,
|
|
20
21
|
opacity: 'thick',
|
|
21
22
|
afterClose: props.afterClose,
|
|
22
|
-
destroyOnClose: true
|
|
23
|
+
destroyOnClose: true,
|
|
24
|
+
className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask
|
|
23
25
|
}, React.createElement("div", {
|
|
24
|
-
className: `${classPrefix}-content
|
|
26
|
+
className: classNames(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)
|
|
25
27
|
}, props.image && React.createElement(Slide, {
|
|
26
28
|
image: props.image,
|
|
27
29
|
onTap: props.onClose,
|
|
28
30
|
maxZoom: props.maxZoom
|
|
29
31
|
})), props.image && React.createElement("div", {
|
|
30
32
|
className: `${classPrefix}-footer`
|
|
31
|
-
}, (
|
|
33
|
+
}, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.image), React.createElement(SafeArea, {
|
|
32
34
|
position: 'bottom'
|
|
33
35
|
})));
|
|
34
36
|
return renderToContainer(props.getContainer, node);
|
|
@@ -37,7 +39,7 @@ const multiDefaultProps = Object.assign(Object.assign({}, defaultProps), {
|
|
|
37
39
|
defaultIndex: 0
|
|
38
40
|
});
|
|
39
41
|
export const MultiImageViewer = forwardRef((p, ref) => {
|
|
40
|
-
var _a;
|
|
42
|
+
var _a, _b, _c;
|
|
41
43
|
const props = mergeProps(multiDefaultProps, p);
|
|
42
44
|
const [index, setIndex] = useState(props.defaultIndex);
|
|
43
45
|
const slidesRef = useRef(null);
|
|
@@ -59,9 +61,10 @@ export const MultiImageViewer = forwardRef((p, ref) => {
|
|
|
59
61
|
disableBodyScroll: false,
|
|
60
62
|
opacity: 'thick',
|
|
61
63
|
afterClose: props.afterClose,
|
|
62
|
-
destroyOnClose: true
|
|
64
|
+
destroyOnClose: true,
|
|
65
|
+
className: (_a = props === null || props === void 0 ? void 0 : props.classNames) === null || _a === void 0 ? void 0 : _a.mask
|
|
63
66
|
}, React.createElement("div", {
|
|
64
|
-
className: `${classPrefix}-content
|
|
67
|
+
className: classNames(`${classPrefix}-content`, (_b = props === null || props === void 0 ? void 0 : props.classNames) === null || _b === void 0 ? void 0 : _b.body)
|
|
65
68
|
}, props.images && React.createElement(Slides, {
|
|
66
69
|
ref: slidesRef,
|
|
67
70
|
defaultIndex: index,
|
|
@@ -71,7 +74,7 @@ export const MultiImageViewer = forwardRef((p, ref) => {
|
|
|
71
74
|
maxZoom: props.maxZoom
|
|
72
75
|
})), props.images && React.createElement("div", {
|
|
73
76
|
className: `${classPrefix}-footer`
|
|
74
|
-
}, (
|
|
77
|
+
}, (_c = props.renderFooter) === null || _c === void 0 ? void 0 : _c.call(props, props.images[index], index), React.createElement(SafeArea, {
|
|
75
78
|
position: 'bottom'
|
|
76
79
|
})));
|
|
77
80
|
return renderToContainer(props.getContainer, node);
|
|
@@ -88,7 +88,7 @@ export const NumberKeyboard = p => {
|
|
|
88
88
|
className: classNames(`${classPrefix}-header`, {
|
|
89
89
|
[`${classPrefix}-header-with-title`]: !!title
|
|
90
90
|
})
|
|
91
|
-
},
|
|
91
|
+
}, !!title && React.createElement("div", {
|
|
92
92
|
className: `${classPrefix}-title`,
|
|
93
93
|
"aria-label": title
|
|
94
94
|
}, title), showCloseButton && React.createElement("span", {
|
|
@@ -163,6 +163,10 @@ export const NumberKeyboard = p => {
|
|
|
163
163
|
onKeyPress(e, 'BACKSPACE');
|
|
164
164
|
onBackspacePressEnd();
|
|
165
165
|
},
|
|
166
|
+
onContextMenu: e => {
|
|
167
|
+
// Long press should not trigger native context menu
|
|
168
|
+
e.preventDefault();
|
|
169
|
+
},
|
|
166
170
|
title: 'BACKSPACE',
|
|
167
171
|
role: 'grid',
|
|
168
172
|
tabIndex: -1
|
|
@@ -32,7 +32,9 @@ export const PopoverMenu = forwardRef((props, ref) => {
|
|
|
32
32
|
var _a;
|
|
33
33
|
return React.createElement("a", {
|
|
34
34
|
key: (_a = action.key) !== null && _a !== void 0 ? _a : index,
|
|
35
|
-
className: classNames(`${classPrefix}-item`, 'adm-plain-anchor',
|
|
35
|
+
className: classNames(`${classPrefix}-item`, 'adm-plain-anchor', {
|
|
36
|
+
[`${classPrefix}-item-disabled`]: action.disabled
|
|
37
|
+
}),
|
|
36
38
|
onClick: () => {
|
|
37
39
|
var _a;
|
|
38
40
|
if (action.disabled) return;
|
|
@@ -18,13 +18,11 @@ const defaultProps = {
|
|
|
18
18
|
placement: 'top',
|
|
19
19
|
defaultVisible: false,
|
|
20
20
|
stopPropagation: ['click'],
|
|
21
|
-
getContainer: () => document.body
|
|
21
|
+
getContainer: () => document.body,
|
|
22
|
+
mode: 'light'
|
|
22
23
|
};
|
|
23
24
|
export const Popover = forwardRef((p, ref) => {
|
|
24
25
|
const props = mergeProps(defaultProps, p);
|
|
25
|
-
const {
|
|
26
|
-
mode = 'light'
|
|
27
|
-
} = props;
|
|
28
26
|
const placement = normalizePlacement(props.placement);
|
|
29
27
|
const [visible, setVisible] = usePropsValue({
|
|
30
28
|
value: props.visible,
|
|
@@ -40,7 +38,9 @@ export const Popover = forwardRef((p, ref) => {
|
|
|
40
38
|
const floatingRef = useRef(null);
|
|
41
39
|
const arrowRef = useRef(null);
|
|
42
40
|
const floating = withStopPropagation(props.stopPropagation, withNativeProps(props, React.createElement("div", {
|
|
43
|
-
className: classNames(classPrefix, `${classPrefix}-${mode}`,
|
|
41
|
+
className: classNames(classPrefix, `${classPrefix}-${props.mode}`, {
|
|
42
|
+
[`${classPrefix}-hidden`]: !visible
|
|
43
|
+
}),
|
|
44
44
|
ref: floatingRef
|
|
45
45
|
}, React.createElement("div", {
|
|
46
46
|
className: `${classPrefix}-arrow`,
|
|
@@ -93,6 +93,7 @@ export const Popup = p => {
|
|
|
93
93
|
}), React.createElement(animated.div, {
|
|
94
94
|
className: bodyCls,
|
|
95
95
|
style: Object.assign(Object.assign({}, props.bodyStyle), {
|
|
96
|
+
pointerEvents: percent.to(v => v === 0 ? 'unset' : 'none'),
|
|
96
97
|
transform: percent.to(v => {
|
|
97
98
|
if (props.position === 'bottom') {
|
|
98
99
|
return `translate(0, ${v}%)`;
|